Un digicode à 4 chiffres est-il sûr, et comment le rendre plus difficile à forcer ?
Un code de 4 chiffres parmi 10 offre 10⁴ = 10 000 combinaisons. En tapant au hasard, on a 3 chances sur 10 000 de trouver en 3 essais. Si le système bloque 30 s après 3 échecs, essayer tous les codes prend environ 28 h. Passer à 6 chiffres multiplie ce temps par 100.
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'entrée de mon immeuble, un digicode protège la porte. J'ai remarqué que certaines touches étaient plus usées que d'autres, ce qui m'a fait réfléchir à sa sécurité. En sciences de l'ingénieur, nous avons programmé un digicode sous forme de machine à états. J'ai voulu calculer le nombre de combinaisons, les chances d'un intrus et l'effet d'un blocage temporaire.
L'enjeu et les notions du programme
Dénombrer des codes par le principe multiplicatif, calculer des probabilités et mesurer l'effet d'une contrainte de temps sur une attaque.
Mathématiques
- Dénombrement : p-uplets, arrangements (terminale)
- Probabilités, équiprobabilité (seconde, première)
- Proportionnalité et conversions de durées (seconde)
Sciences de l'ingénieur
- Logique séquentielle, machine à états (terminale)
- Sécurité des systèmes (terminale)
Le plan de l'exposé en 9,5 min
1. Introduction
1 minUn digicode attend une suite de 4 chiffres. Une machine à états mémorise les chiffres déjà tapés et ouvre la porte si la suite est correcte. Problématique : combien de codes possibles, et un intrus peut-il les essayer tous ?
2. Mathématiques : dénombrer et chronométrer
4 minChaque chiffre a 10 valeurs, avec répétitions possibles : par le principe multiplicatif, 10⁴=10 000 codes. Si l'on interdit les répétitions : 10×9×8×7=5 040 codes seulement, la sécurité diminue.
Un intrus qui essaie 3 codes différents au hasard trouve le bon avec la probabilité 3/(10 000)=0,03 %.
Blocage : après 3 erreurs, le clavier se bloque 30 s. Pour essayer les 10 000 codes, il faut (10 000)/3≈3 334 blocages, soit environ 3 334×30≈100 000 s, environ 28 heures (sans compter le temps de frappe). En moyenne, la moitié suffit : 14 h. Avec 6 chiffres : 10⁶ codes, cent fois plus : environ 116 jours.
Mais si les touches usées révèlent les 4 chiffres utilisés (tous différents), il ne reste que 4!=24 ordres possibles : 8 blocages, 4 minutes ! La sécurité s'effondre.
3. SI : la machine à états
3 minLe programme est un automate : un état par nombre de chiffres corrects déjà tapés, une transition à chaque touche, un état « ouvert » et un état « bloqué » avec une temporisation. Le dénombrement des états et des transitions permet de vérifier qu'aucune séquence n'ouvre la porte par erreur.
Améliorations : codes plus longs, blocage croissant (30 s, puis 1 min, 2 min…), changement régulier du code, claviers à touches mélangées ou combinaison avec un badge. Le calcul montre qu'un blocage temporisé est plus efficace qu'un code beaucoup plus long, tant que l'intrus ne dispose pas d'indices.
4. Conclusion
1,5 minUn digicode à 4 chiffres offre 10 000 combinaisons ; le blocage de 30 s toutes les 3 erreurs porte l'essai exhaustif à environ 28 h. Mais des touches usées réduisent le choix à 24 ordres. Le dénombrement mesure la sécurité, et révèle ses failles. J'ouvre sur les mots de passe des ordinateurs, protégés de la même façon.
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.
(10 000)/3×30 s ≈10⁵ s ≈28 h touches connues : 4!=24
Conclusion : la réponse à la question
Le principe multiplicatif mesure la taille de l'espace des codes et une simple division le temps d'une attaque. Les mêmes calculs montrent qu'un indice comme l'usure des touches réduit la sécurité de façon spectaculaire.
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 codes à 5 chiffres ?
10⁵=100 000.
Combien de codes de 4 chiffres tous différents ?
10 × 9 × 8 × 7 = 5 040.
Pourquoi 4! si l'on connaît les 4 touches ?
Il reste à choisir l'ordre des 4 chiffres distincts : 4 × 3 × 2 × 1 = 24.
Combien de temps pour 10⁶ codes avec le même blocage ?
Environ 10⁷ s, soit environ 116 jours.
Qu'est-ce qu'une machine à états ?
Un modèle où le système passe d'un état à un autre selon les entrées reçues, comme le nombre de chiffres corrects déjà tapés.
Les pièges qui coûtent des points
- Interdire les répétitions sans raison, ce qui réduit le nombre de codes.
- Oublier le temps de blocage dans le calcul.
- Négliger les indices physiques comme l'usure des touches.
Revoir les notions
Autres questions : information et commande numérique
- Comment simplifier la logique d'une alarme pour utiliser moins de composants ?
- Comment un microcontrôleur cadencé à 16 MHz peut-il produire exactement une impulsion par seconde ?
- Combien de tâches un système embarqué peut-il exécuter à temps, et pourquoi le nombre ln 2 apparaît-il ?
- Pourquoi ne peut-on pas avoir à la fois une commande de moteur très fine et une fréquence très élevée ?
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 →