Deux personnes peuvent-elles fabriquer un secret commun en ne s'échangeant que des messages publics ?
Alice et Bob publient p = 23 et g = 5. Alice envoie 5⁶ → 8, Bob envoie 5¹⁵ → 19 (restes modulo 23). Chacun élève le nombre reçu à son exposant secret et obtient 2 : un espion qui voit 8 et 19 devrait retrouver un exposant, problème du logarithme discret.
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.
L'idée qu'on puisse se mettre d'accord sur un secret en parlant devant tout le monde m'a semblé impossible. On m'a expliqué l'image des pots de peinture : chacun mélange sa couleur secrète à une couleur publique, et on ne sait pas « démélanger ». J'ai voulu comprendre le calcul réel derrière cette image, qui s'appuie sur les puissances et les restes.
L'enjeu et les notions du programme
Utiliser la propriété (g^a)^b = (g^b)^a pour construire un protocole, et montrer qu'il repose sur un problème inverse difficile.
Mathématiques
- Puissances : (g^a)^b = g^(ab) (seconde)
- Division euclidienne et restes (seconde)
- Logarithme comme fonction réciproque d'une exponentielle (terminale)
Numérique et sciences informatiques
- Sécurisation des communications, échange de clés (terminale)
- Coût d'un algorithme de recherche exhaustive (première)
Le plan de l'exposé en 9,5 min
1. Introduction
1 minPour chiffrer rapidement, deux interlocuteurs ont besoin d'une même clé secrète. Problématique : peuvent-ils la construire sur un canal écouté, sans jamais l'envoyer ?
2. Mathématiques : le protocole
4 minOn publie un nombre premier p=23 et un nombre g=5. Alice choisit en secret a=6, Bob b=15. Tous les calculs se font « modulo 23 », c'est-à-dire qu'on garde le reste de la division par 23.
Alice envoie A = reste de 5⁶=15 625 : 15 625=23×679+8, donc A=8. Bob envoie B = reste de 5¹⁵ : B=19.
Alice calcule le reste de B^(a)=19⁶, Bob celui de A^(b)=8¹⁵. Tous deux obtiennent 2. Ce n'est pas un hasard : (5¹⁵)⁶=5⁹⁰=(5⁶)¹⁵. Le secret commun est le reste de g^(ab), qui n'a jamais circulé.
L'espion voit p,g,A,B. Pour retrouver le secret, il lui faut a ou b : trouver l'exposant x tel que 5^(x) laisse le reste 8. C'est un « logarithme discret ». Pour les réels, le logarithme se calcule facilement ; pour les restes, aucune méthode rapide n'est connue.
3. NSI : taille des nombres et attaques
3 minAvec p=23, on teste les 22 exposants possibles en un clin d'œil. Avec un p de 2 048 bits, il y a de l'ordre de 2²⁰⁴⁸ exposants : la recherche exhaustive est impossible, et les meilleurs algorithmes restent hors de portée.
Le protocole a une faiblesse : il ne vérifie pas l'identité. Un attaquant placé au milieu peut faire un échange avec Alice et un autre avec Bob. C'est pourquoi HTTPS combine l'échange de clés avec des certificats signés. Les versions modernes utilisent des courbes elliptiques, avec des clés plus courtes pour la même sécurité.
4. Conclusion
1,5 minOn peut fabriquer un secret commun en public grâce à la commutativité des puissances, (g^(a))^(b)=(g^(b))^(a), et à la difficulté du logarithme discret. La sécurité ne vient pas du silence, mais d'un calcul inverse trop long. J'ouvre sur les signatures, qui garantissent l'identité de l'interlocuteur.
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.
B⁶ mod 23=A¹⁵ mod 23=5⁹⁰ mod 23=2
Conclusion : la réponse à la question
Deux personnes peuvent construire un secret en public : chacune garde un exposant, et la propriété des puissances leur donne le même résultat. L'espion bute sur le logarithme discret, facile pour les réels mais difficile pour les restes.
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.
Vérifiez que 5⁶ laisse le reste 8 dans la division par 23.
5²=25→2, donc 5⁶=(5²)³→2³=8.
Pourquoi les deux calculs donnent-ils le même résultat ?
Car (g^(a))^(b)=g^(ab)=(g^(b))^(a), et on peut réduire modulo p à chaque étape sans changer le reste final.
Qu'est-ce qu'une attaque de l'homme du milieu ?
Un attaquant intercepte les messages et se fait passer pour Bob auprès d'Alice et inversement, établissant deux secrets.
Pourquoi le logarithme réel est-il facile et pas le logarithme discret ?
La fonction exponentielle réelle est continue et croissante : on peut approcher x par dichotomie. Les restes varient sans régularité exploitable.
Combien d'essais pour un p de 23 ?
Au plus 22 exposants à tester.
Les pièges qui coûtent des points
- Dire que le secret est transmis chiffré : il n'est jamais transmis.
- Oublier de réduire modulo p, ce qui donne des nombres énormes.
- Croire que le protocole authentifie les interlocuteurs.
Revoir les notions
Autres questions : cryptographie et sécurité
- Comment peut-on chiffrer un message avec une clé que tout le monde connaît ?
- 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 →