Pourquoi une clé de 128 bits est-elle considérée comme incassable par force brute ?
Il y a 2¹²⁸ ≈ 3,4 × 10³⁸ clés de 128 bits. À mille milliards d'essais par seconde, les tester toutes prendrait environ 1,1 × 10¹⁹ ans, près d'un milliard de fois l'âge de l'Univers. Chaque bit ajouté double ce temps.
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.
J'ai lu que la clé de chiffrement DES, utilisée jusqu'aux années 1990, avait été cassée en quelques jours, alors que les clés actuelles de 128 bits sont réputées inattaquables. La différence ne semblait être que de 72 bits. J'ai voulu mesurer ce que représente vraiment cet écart, et la croissance exponentielle m'a donné la réponse.
L'enjeu et les notions du programme
Mesurer la croissance exponentielle par le calcul d'ordres de grandeur, et relier la sécurité à la taille de l'espace des clés.
Mathématiques
- Dénombrement : nombre de mots binaires de longueur n (terminale)
- Puissances, ordres de grandeur, écriture scientifique (seconde)
- Croissance exponentielle, logarithme (terminale)
Numérique et sciences informatiques
- Chiffrement symétrique (terminale)
- Coût d'un algorithme, recherche exhaustive (première)
Le plan de l'exposé en 9,5 min
1. Introduction
1 minUne attaque par force brute essaie toutes les clés possibles. Problématique : combien de temps faut-il, et comment ce temps dépend-il de la longueur de la clé ?
2. Mathématiques : compter et estimer
4 minUne clé de k bits est un mot binaire de longueur k : il y en a 2^(k). En moyenne, on trouve la bonne après en avoir testé la moitié, 2^(k-1).
Pour DES, k=56 : 2⁵⁶≈7,2×10¹⁶. À 10⁹ essais par seconde, il faut 7,2×10⁷ secondes, environ 834 jours ; une machine spécialisée de 1998, beaucoup plus rapide, l'a fait en 56 heures.
Pour AES-128 : 2¹²⁸≈3,4×10³⁸. À 10¹² essais par seconde : 3,4×10²⁶ secondes. Une année vaut environ 3,16×10⁷ secondes, d'où environ 1,1×10¹⁹ ans. L'Univers a environ 1,4×10¹⁰ ans.
Passer de 56 à 128 bits multiplie le travail par 2⁷²≈4,7×10²¹. Gagner un facteur 1 000 en vitesse ne compense que log₂ 1000≈10 bits.
3. NSI : où sont les vraies failles
3 minComme la force brute est impossible, les attaques visent ailleurs : une clé mal générée (hasard prévisible), une clé dérivée d'un mot de passe faible, une erreur d'implémentation, ou l'humain lui-même.
Le choix de 128 ou 256 bits tient compte des progrès du matériel. Un ordinateur quantique, avec l'algorithme de Grover, réduirait la recherche à environ 2^(k/2) étapes : c'est pourquoi AES-256 est recommandé pour les données à protéger longtemps. Un programme Python de force brute sur des clés de 20 ou 24 bits permet de mesurer le doublement du temps à chaque bit.
4. Conclusion
1,5 minUne clé de 128 bits est hors de portée parce que l'espace des clés croît exponentiellement : chaque bit double le travail, et 2¹²⁸ essais dépassent toute puissance de calcul imaginable. La sécurité moderne se mesure en bits, c'est-à-dire en logarithme du nombre de clés.
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.
2¹²⁸/2⁵⁶=2⁷²≈4,7×10²¹ ×1000 en vitesse ≈ 10 bits
Conclusion : la réponse à la question
La force brute est impuissante face à 128 bits : l'exponentielle l'emporte sur toute amélioration matérielle. Les attaques réelles visent les maillons faibles, rarement la clé elle-même.
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 en moyenne la moitié des clés ?
La bonne clé est à une position uniforme parmi les 2^k ; l'espérance du nombre d'essais est environ 2^k / 2.
Combien de bits faut-il ajouter pour multiplier le temps par un million ?
log₂ 10⁶≈19,9, donc 20 bits.
Comment convertir 2¹⁰ en puissance de 10 ?
2¹⁰=1024≈10³, donc 2¹²⁸=2⁸×(2¹⁰)¹²≈256×10³⁶.
Qu'apporterait l'algorithme de Grover ?
Une recherche en environ 2⁶⁴ étapes pour 128 bits, ce qui reste très long ; d'où le passage à 256 bits.
Un mot de passe de 8 lettres minuscules équivaut à combien de bits ?
26⁸≈2,1×10¹¹≈2^(37,6) : environ 38 bits, très loin de 128.
Les pièges qui coûtent des points
- Penser que doubler la longueur de la clé double le temps : il est élevé au carré.
- Oublier la conversion des secondes en années.
- Croire qu'un ordinateur plus rapide met en danger AES-128.
Revoir les notions
Autres questions : cryptographie et sécurité
- Comment peut-on chiffrer un message avec une clé que tout le monde connaît ?
- Deux personnes peuvent-elles fabriquer un secret commun en ne s'échangeant que des messages publics ?
- 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 →