MathLvl
Question transversaleMathsNSICryptographie et sécurité

Un code secret qui a plus de clés qu'il n'y a de grains de sable sur Terre peut-il être cassé ?

Une substitution de l'alphabet a 26! ≈ 4 × 10²⁶ clés, environ 88 bits : la force brute est impossible. Pourtant, un programme la casse en quelques secondes en comparant les fréquences des lettres, car le chiffrement conserve la structure du texte.

Grand oral session 2027 : exposé de 10 minutes debout, puis 10 minutes d'échange, sans calculatrice. Plan prévu pour 10 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.

En NSI, nous avons programmé un chiffrement par substitution, où chaque lettre est remplacée par une autre. J'ai calculé le nombre de clés et j'ai été impressionné par sa taille. Pourtant, mon professeur a cassé mon message en quelques minutes. J'ai voulu comprendre pourquoi un nombre de clés gigantesque ne protège pas, et ce qui rend vraiment un chiffrement sûr.

L'enjeu et les notions du programme

Dénombrer les permutations, puis montrer qu'une attaque statistique contourne le dénombrement.

Mathématiques

  • Permutations, factorielle (terminale)
  • Ordres de grandeur, logarithme (terminale)
  • Fréquences, statistiques descriptives (seconde)

Numérique et sciences informatiques

  • Traitement de données textuelles, dictionnaires de comptage (première)
  • Chiffrement symétrique (terminale)

Le plan de l'exposé en 10 min

  1. 1. Introduction

    1 min

    On mesure souvent la sécurité d'un chiffrement à son nombre de clés. Problématique : ce nombre suffit-il, ou existe-t-il des attaques qui ne testent pas les clés ?

  2. 2. Mathématiques : compter les clés

    3,5 min

    Une clé de substitution associe à chaque lettre une lettre différente : c'est une permutation des 26 lettres. On a 26 choix pour l'image de A, 25 pour celle de B, et ainsi de suite : 26!≈4,03×10²⁶ clés.

    En bits : log₂(26!)≈88,4. C'est plus que DES (56 bits). À 10¹² essais par seconde, la force brute prendrait environ 6 millions d'années. Le nombre de clés est donc largement suffisant… contre la force brute.

    Mais ce calcul suppose que l'attaquant n'a pas d'autre méthode que d'essayer.

  3. 3. NSI : l'attaque par fréquences

    3,5 min

    Une substitution remplace toujours la même lettre par la même lettre : les fréquences sont conservées, seulement permutées. En français, E représente environ 17 % des lettres, puis viennent A, S, I, N, T. Un programme compte les lettres du chiffré avec un dictionnaire Python, associe la plus fréquente à E, et ainsi de suite.

    On affine ensuite avec les mots courts (« le », « de », « et ») et les lettres doubles. En quelques secondes, le message est lisible. L'attaque coûte de l'ordre du nombre de lettres du texte, et non 26!.

    Un bon chiffrement moderne doit faire disparaître toute structure : chaque bit du chiffré doit dépendre de tous les bits du message et de la clé.

  4. 4. Conclusion

    2 min

    Un grand nombre de clés est nécessaire mais pas suffisant : la substitution, avec 26! clés, tombe face à une analyse statistique parce qu'elle conserve les fréquences. La sécurité se juge contre la meilleure attaque connue, pas contre la force brute. J'ouvre sur le chiffre de Vigenère, conçu pour brouiller les fréquences.

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.

26!=26×25×…×1≈4,03×10²⁶≈2⁸⁸
force brute : 4×10²⁶/10¹²×3,16×10⁷≈1,3×10⁷ ans pour tout tester

Conclusion : la réponse à la question

La substitution a plus de clés que DES, mais elle se casse en secondes. Ce paradoxe montre qu'un chiffrement est sûr seulement si aucune propriété du texte clair ne traverse le chiffrement.

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.

Combien de permutations de 3 lettres ?

3!=6 : ABC, ACB, BAC, BCA, CAB, CBA.

Pourquoi log₂(26!) ≈ 88 ?

log₂(26!)=ln(26!)/ln2 et ln(26!)≈61,3, donc environ 88,4.

Le chiffre de César est-il une substitution ?

Oui, un cas particulier : un simple décalage, avec seulement 25 clés utiles.

Quelle longueur de texte faut-il pour l'analyse de fréquences ?

Quelques centaines de lettres suffisent en général ; sur un texte très court, les fréquences sont trop variables.

Comment compter les lettres en Python ?

Avec un dictionnaire : pour chaque lettre, on incrémente compte[lettre], en partant de 0.

Les pièges qui coûtent des points

  • Confondre grand nombre de clés et sécurité.
  • Oublier que la clé doit être une bijection (pas deux lettres envoyées sur la même).
  • Croire que l'analyse de fréquences demande de tester des clés.

Revoir les notions

Autres questions : cryptographie et sécurité

Toutes les questions maths-nsi →

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 →