Comment peut-on chiffrer un message avec une clé que tout le monde connaît ?
Avec RSA, la clé publique (n, e) = (55, 3) chiffre 2 en 2³ = 8, et seule la clé privée d = 27 permet de revenir : le reste de 8²⁷ dans la division par 55 vaut 2. Trouver d exige de factoriser n = 5 × 11, facile ici, hors de portée pour un nombre de 600 chiffres.
Grand oral session 2027 : exposé de 10 minutes debout, puis 10 minutes d'échange, sans calculatrice. Plan prévu pour 9,5 min.
Pourquoi cette question : un modèle d'introduction
Le jury attend que vous expliquiez pourquoi vous avez choisi la question. Inspirez-vous de ce modèle, mais racontez votre propre parcours.
Je me suis toujours demandé comment mon navigateur pouvait échanger des secrets avec un site qu'il n'a jamais rencontré. Il faudrait bien partager une clé, mais comment, sans qu'un espion l'intercepte ? En NSI, on m'a parlé du chiffrement asymétrique. J'ai voulu comprendre le calcul qui se cache derrière RSA, et j'ai découvert qu'il repose sur des restes de divisions et sur la difficulté de factoriser.
L'enjeu et les notions du programme
Montrer qu'une opération facile dans un sens (multiplier des nombres premiers, élever à une puissance) peut être très difficile à inverser, et en faire un outil de sécurité.
Mathématiques
- Nombres premiers, décomposition, division euclidienne (seconde)
- Puissances et calcul des restes (seconde, première)
- Pour aller plus loin : congruences et petit théorème de Fermat (maths expertes)
Numérique et sciences informatiques
- Sécurisation des communications : chiffrement symétrique et asymétrique (terminale)
- Protocole HTTPS (terminale)
Le plan de l'exposé en 9,5 min
1. Introduction
1 minDans un chiffrement classique, la même clé sert à chiffrer et à déchiffrer : il faut l'avoir partagée en secret. En 1977, Rivest, Shamir et Adleman proposent un système à deux clés : une publique pour chiffrer, une privée pour déchiffrer. Problématique : comment une clé publique peut-elle protéger un secret ?
2. Mathématiques : un calcul sur les restes
4 minOn choisit deux nombres premiers p=5 et q=11, et on publie n=pq=55 et e=3. On calcule en secret (p-1)(q-1)=40 et un nombre d tel que ed laisse le reste 1 dans la division par 40 : d=27, car 3×27=81=2×40+1.
Chiffrer le message m=2 : on calcule le reste de 2³=8 dans la division par 55, soit c=8. Déchiffrer : on calcule le reste de 8²⁷ par 55. On procède par carrés successifs : 8²=64 donne 9, 8⁴ donne 81→26, 8⁸ donne 676→16, 8¹⁶ donne 256→36. Comme 27=16+8+2+1, on multiplie 36×16×9×8 en réduisant à chaque étape : on retrouve 2.
Pourquoi ça marche : un théorème d'arithmétique (vu en maths expertes) assure que m^(ed) laisse le même reste que m dès que ed vaut 1 plus un multiple de (p-1)(q-1), ce qui est le cas ici : 81=1+2×40.
3. NSI : la sécurité tient à la factorisation
3 minPour calculer d, l'espion doit connaître (p-1)(q-1), donc factoriser n. Pour 55, c'est immédiat ; pour un n de 2 048 bits (environ 617 chiffres), aucun algorithme connu ne le fait en un temps raisonnable. Essayer tous les diviseurs jusqu'à √n demanderait de l'ordre de 10³⁰⁸ divisions.
En pratique, RSA est lent : HTTPS l'utilise seulement pour échanger une clé secrète, puis bascule sur un chiffrement symétrique rapide (AES). Le calcul de mᵉ se fait par exponentiation rapide, en un nombre de multiplications proportionnel au nombre de bits de l'exposant.
4. Conclusion
1,5 minRSA chiffre avec une clé publique car inverser le calcul exige une information cachée, la factorisation de n. Multiplier deux premiers est facile, retrouver les facteurs est très difficile : c'est une fonction « à sens unique avec trappe ». J'ouvre sur l'ordinateur quantique, qui pourrait factoriser vite grâce à l'algorithme de Shor.
Ce que j'écris au tableau
Pas de calculatrice ni de support numérique : un calcul clé écrit au tableau rend l'exposé concret et montre la solidité des connaissances.
c=2³=8 8²⁷=8¹⁶·8⁸·8²·8 → 36×16×9×8 → 2 ( mod 55)
Conclusion : la réponse à la question
Une clé publique suffit à chiffrer parce que le déchiffrement demande un secret mathématique que l'on ne peut pas retrouver en pratique : les facteurs premiers de n. La sécurité repose sur un écart de difficulté entre un calcul et son inverse.
Les questions probables du jury
Pendant les 10 minutesd'échange, le jury vous fait préciser et approfondir, sur tout le programme de vos spécialités en lien avec la question.
Pourquoi p et q doivent-ils être premiers ?
Pour que (p-1)(q-1) se calcule facilement à partir de p et q et pour que le théorème qui garantit le déchiffrement s'applique.
Comment trouve-t-on d en pratique ?
Par l'algorithme d'Euclide étendu, qui trouve une solution de 3d − 40k = 1 ; ici on la trouve aussi en essayant.
Combien de multiplications pour calculer 8²⁷ par carrés successifs ?
4 élévations au carré et 3 multiplications, au lieu de 26 multiplications naïves.
Pourquoi ne pas chiffrer tout un film avec RSA ?
C'est beaucoup plus lent qu'un chiffrement symétrique : on chiffre une clé avec RSA, puis le contenu avec AES.
Que se passe-t-il si quelqu'un factorise n ?
Il calcule (p-1)(q-1), puis d : la clé privée est compromise.
Les pièges qui coûtent des points
- Dire que RSA repose sur le secret de l'algorithme : il est public, seule d est secrète.
- Calculer 8²⁷ en entier sans réduire : on réduit à chaque étape.
- Confondre n = pq et (p − 1)(q − 1).
Revoir les notions
Autres questions : cryptographie et sécurité
- Deux personnes peuvent-elles fabriquer un secret commun en ne s'échangeant que des messages publics ?
- Pourquoi une clé de 128 bits est-elle considérée comme incassable par force brute ?
- Combien de fichiers faut-il pour que deux d'entre eux aient la même empreinte numérique ?
- Pourquoi un site ne doit-il jamais stocker nos mots de passe, et à quoi sert le « sel » ?
Préparer l'oral, pas seulement le contenu
Gestion des 20 minutes de préparation, usage du tableau, posture debout, réponses au jury : la méthode complète, conforme aux règles de la session 2027.
Méthode : traiter une question de Grand oral →