ajout activités autour de X-Files
This commit is contained in:
@@ -0,0 +1,451 @@
|
||||
# TP : La bande du Penseur
|
||||
|
||||
## Contexte
|
||||
|
||||
Un informaticien surnommé **le Penseur** est parvenu à extraire des serveurs du
|
||||
ministère de la Défense une archive de documents classifiés, produits par un comité
|
||||
interne baptisé **Majestic Twelve** (en abrégé : MJ-12). Il a copié le tout sur une
|
||||
bande numérique et l'a transmise à un enquêteur.
|
||||
|
||||
La bande contient **trois fichiers**. Aucun n'est lisible directement.
|
||||
|
||||
Vous êtes chargé·e de les ouvrir, dans l'ordre : chaque fichier contient l'information
|
||||
nécessaire pour aborder le suivant.
|
||||
|
||||
Ce TP est aussi, et peut-être surtout, une enquête sur une question de fond :
|
||||
**qu'est-ce qui protège réellement un message ?**
|
||||
|
||||
> *Ce TP s'inspire de l'épisode « Anasazi » (X-Files, saison 2, épisode 25, diffusé le
|
||||
> 19 mai 1995). La partie 6 revient sur l'épisode et sur ce qu'il raconte - vous pouvez
|
||||
> la lire dès maintenant, elle ne dévoile rien des solutions.*
|
||||
|
||||
---
|
||||
|
||||
## Objectifs
|
||||
|
||||
- Attaquer un chiffrement par **analyse de fréquences**
|
||||
- Attaquer un chiffrement **XOR** à clé courte par **force brute**
|
||||
- Comprendre la différence entre le **secret de l'algorithme** et le **secret de la clé**
|
||||
- Découvrir et formuler le **principe de Kerckhoffs**
|
||||
- Connaître l'histoire des **code talkers navajos** et ce qu'elle apprend en cryptographie
|
||||
|
||||
---
|
||||
|
||||
## Partie 1 : Le premier fichier
|
||||
|
||||
### 1.1. Ce qu'on sait
|
||||
|
||||
Le fichier `fichier1.txt` a été chiffré par le comité avec un système **conçu en interne**,
|
||||
dont les spécifications n'ont jamais été publiées. D'après une note retrouvée, chaque
|
||||
lettre du message a été systématiquement remplacée par une autre lettre, toujours la même.
|
||||
Espaces et ponctuation ont été conservés.
|
||||
|
||||
Voici son contenu :
|
||||
|
||||
```
|
||||
YKLF QF PFWCNMF NYLFWYF. JF AWFPFYL QKMSIFYL YF QKNL FY HSMSY MHP ZSNLLFW
|
||||
JF PFWCNMF. JFP FJFIFYLP WHPPFIDJFP QFASNP QNR HYP PSW JF AWKBFL PKYL
|
||||
QFPKWIHNP WFSYNP QHYP SY PFSJ QKPPNFW. YKSP HCKYP MOKNPN QF YF AHP SLNJNPFW
|
||||
JFP PVPLFIFP QF MONUUWFIFYL QS INYNPLFWF, QKYL JFP PAFMNUNMHLNKYP PKYL
|
||||
ASDJNZSFP FL QKYM CSJYFWHDJFP. YKLWF AWKAWF IFLOKQF, MKYMSF FY NYLFWYF FL
|
||||
MKYYSF QFP PFSJP IFIDWFP QS MKINLF, KUUWF SYF AWKLFMLNKY DNFY PSAFWNFSWF
|
||||
ASNPZSF AFWPKYYF H J FRLFWNFSW Y FY MKYYHNL JF AWNYMNAF. JH MJF QS PFMKYQ
|
||||
UNMONFW FPL SY IKL QF LWKNP JFLLWFP ZSN QFPNEYF JF MKINLF JSN IFIF.
|
||||
```
|
||||
|
||||
### 1.2. Travail demandé
|
||||
|
||||
**Q1.** Quel type de chiffrement reconnaissez-vous ? Est-ce un chiffre de César ?
|
||||
Justifiez en observant le texte : le décalage est-il le même pour toutes les lettres ?
|
||||
|
||||
**Q2.** Écrivez une fonction qui compte les occurrences de chaque lettre du texte chiffré
|
||||
et affiche les résultats du plus fréquent au moins fréquent.
|
||||
|
||||
```python
|
||||
def frequences(texte):
|
||||
"""Renvoie la liste des couples (lettre, nombre d'occurrences),
|
||||
triee par nombre d'occurrences decroissant.
|
||||
Les caracteres qui ne sont pas des lettres sont ignores."""
|
||||
...
|
||||
```
|
||||
|
||||
**Q3.** En français, les lettres les plus fréquentes sont, dans l'ordre :
|
||||
**E, A, S, I, N, T, R, U, L, O**. Le texte compte 474 lettres, ce qui est suffisant
|
||||
pour que la statistique soit fiable.
|
||||
|
||||
Quelle lettre du texte chiffré correspond très probablement à `E` ? Et à la deuxième
|
||||
lettre la plus fréquente ?
|
||||
|
||||
**Q4.** Le mot d'une seule lettre `H` apparaît dans le texte, ainsi que `J` et `Y`.
|
||||
En français, quels sont les mots d'une seule lettre ? Que vous apprend cette observation ?
|
||||
|
||||
**Q5.** Complétez progressivement votre table de correspondance et déchiffrez le message.
|
||||
Vous pouvez travailler par essais successifs : remplacez les lettres dont vous êtes sûr·e,
|
||||
puis devinez les mots partiellement révélés.
|
||||
|
||||
```python
|
||||
def dechiffre(texte, table):
|
||||
"""Remplace chaque lettre de texte selon le dictionnaire table.
|
||||
Les lettres absentes de table sont laissees telles quelles."""
|
||||
...
|
||||
```
|
||||
|
||||
**Q6.** Le message se vante d'une protection « bien supérieure » à celle du ministère,
|
||||
au motif que personne à l'extérieur n'en connaît le principe.
|
||||
|
||||
**Combien de temps vous a-t-il fallu pour le lire ?** Que pensez-vous de l'argument ?
|
||||
|
||||
---
|
||||
|
||||
## Partie 2 : Le deuxième fichier
|
||||
|
||||
### 2.1. Ce qu'on sait
|
||||
|
||||
Le premier fichier vous a indiqué la nature de la clé du second. Le fichier `fichier2.hex`
|
||||
a été chiffré par **XOR** — l'opération que vous avez déjà utilisée dans le TP du
|
||||
gestionnaire de mots de passe — avec une **clé de trois lettres majuscules**, répétée
|
||||
tout au long du message.
|
||||
|
||||
Le contenu est donné en **hexadécimal** (deux caractères par octet) :
|
||||
|
||||
```
|
||||
0e05191d1e116d1811030e016d0e016d091b000300086474010f7419181b04191d0807116d
|
||||
0c1d0e021d081874036a111e1e741d0b076d091c040c121f0f7a6d03186d0f07196a06080e
|
||||
1d0a0f74090b1a1e6a01030f74010b1a0a1f116d1b01086a041f0f071c1f116d1a111f191b
|
||||
0304116d04116d1a151f06116d0f006d1b01046a1a086a076d0f171f03006d1a151e64740c
|
||||
1f171804116d07150e021d030f74030f741d05011f18156d0015000b1d1e6a18086a180418
|
||||
11636a176d0f07196a180c6a19080318010f011f0f741d181b190f1719031b036a05180374
|
||||
1e051d196474191815031919081e001f0f740c1f741e0300086a10086a07190517060b1308
|
||||
64
|
||||
```
|
||||
|
||||
### 2.2. Travail demandé
|
||||
|
||||
**Q7.** Rappelez la propriété du XOR qui rend le déchiffrement possible :
|
||||
que vaut `A XOR B XOR B` ?
|
||||
|
||||
**Q8.** Convertissez la chaîne hexadécimale en octets, puis écrivez la fonction de
|
||||
déchiffrement.
|
||||
|
||||
```python
|
||||
donnees = bytes.fromhex(HEXA) # HEXA = la chaine ci-dessus, sans retours a la ligne
|
||||
|
||||
def xor(donnees, cle):
|
||||
"""Renvoie les octets de donnees combines par XOR avec la cle,
|
||||
repetee autant de fois que necessaire."""
|
||||
...
|
||||
```
|
||||
|
||||
**Q9.** La clé fait trois lettres majuscules. **Combien de clés faut-il tester au
|
||||
maximum ?** Ce nombre est-il un obstacle pour un ordinateur ?
|
||||
|
||||
**Q10.** Écrivez une attaque par force brute. Le problème n'est pas de produire les
|
||||
17 576 déchiffrements — c'est de **reconnaître automatiquement le bon**.
|
||||
|
||||
Proposition : le message clair ne contient que des majuscules, des espaces, des points
|
||||
et des virgules. Écrivez une fonction qui teste si un déchiffrement ne contient
|
||||
**que** des caractères de cet ensemble, et n'affichez que les clés qui passent ce test.
|
||||
|
||||
```python
|
||||
AUTORISES = set("ABCDEFGHIJKLMNOPQRSTUVWXYZ .,")
|
||||
|
||||
def est_plausible(octets):
|
||||
"""Renvoie True si octets se decode en ASCII et si tous ses caracteres
|
||||
appartiennent a AUTORISES."""
|
||||
...
|
||||
```
|
||||
|
||||
**Q11.** Combien de clés passent le test ? Déchiffrez le message.
|
||||
|
||||
**Q12.** À quoi correspondent les trois lettres de la clé ? Quelqu'un qui connaît le
|
||||
contexte de l'affaire aurait-il eu besoin de la force brute ?
|
||||
|
||||
**Q13.** Cette fois, l'algorithme était **public** : vous saviez dès le départ qu'il
|
||||
s'agissait d'un XOR. Pourtant le fichier est tombé. **Qu'est-ce qui a échoué ici :
|
||||
l'algorithme, ou la clé ?**
|
||||
|
||||
---
|
||||
|
||||
## Partie 3 : Le troisième fichier
|
||||
|
||||
### 3.1. Ce qu'on sait
|
||||
|
||||
Le deuxième fichier annonce que le troisième **n'est pas chiffré**.
|
||||
|
||||
Le voici, dans son intégralité :
|
||||
|
||||
```
|
||||
NA-NIL-IN BEH-EH-HO-ZINZ
|
||||
TSA-OND
|
||||
WOL-LA-CHEE TSAH BE-LA-SANA DIBEH TSE-NILL BESH-DO-TLIZ TKIN
|
||||
```
|
||||
|
||||
### 3.2. Première approche
|
||||
|
||||
**Q14.** Appliquez votre fonction `frequences` de la question 2 à ce texte.
|
||||
Le résultat vous aide-t-il ? Pourquoi ?
|
||||
|
||||
**Q15.** Pourriez-vous monter une attaque par force brute ? Sur quoi porterait-elle ?
|
||||
Combien de possibilités devriez-vous tester ?
|
||||
|
||||
**Q16.** À ce stade, expliquez en deux phrases **pourquoi vous êtes bloqué·e**.
|
||||
La difficulté est-elle de nature mathématique ?
|
||||
|
||||
### 3.3. Le lexique
|
||||
|
||||
Voici un extrait du document qui permet de lire le fichier. Il s'agit d'un extrait
|
||||
authentique du **dictionnaire des code talkers navajos**, dans sa révision du
|
||||
15 juin 1945, déclassifié en 1968.
|
||||
|
||||
**Vocabulaire**
|
||||
|
||||
| Terme navajo | Traduction littérale | Sens codé |
|
||||
|---|---|---|
|
||||
| NA-NIL-IN | *kept secret* | CONFIDENTIEL |
|
||||
| BEH-EH-HO-ZINZ | *document* | DOCUMENT |
|
||||
| TSA-OND | *rock cave* | GROTTE |
|
||||
|
||||
**Alphabet** (chaque mot vaut la **première lettre** de sa traduction anglaise)
|
||||
|
||||
| Terme navajo | Traduction littérale | Lettre |
|
||||
|---|---|---|
|
||||
| WOL-LA-CHEE | *ant* (fourmi) | **A** |
|
||||
| BE-LA-SANA | *apple* (pomme) | **A** |
|
||||
| TSE-NILL | *axe* (hache) | **A** |
|
||||
| TSAH | *needle* (aiguille) | **N** |
|
||||
| DIBEH | *sheep* (mouton) | **S** |
|
||||
| BESH-DO-TLIZ | *zinc* | **Z** |
|
||||
| TKIN | *ice* (glace) | **I** |
|
||||
|
||||
**Q17.** Déchiffrez le fichier. Combien de temps cela vous a-t-il pris, une fois le
|
||||
lexique en main ?
|
||||
|
||||
**Q18.** Observez les trois premières lignes du tableau de l'alphabet. **Trois mots
|
||||
différents désignent la même lettre.** À votre avis, pourquoi les concepteurs du code
|
||||
ont-ils fait ce choix ? Reliez votre réponse à la question 14.
|
||||
|
||||
---
|
||||
|
||||
## Partie 4 : Les code talkers navajos — ce qui s'est réellement passé
|
||||
|
||||
*Cette partie est à lire. Elle ne demande pas de programmation, mais deux questions
|
||||
sont posées à la fin.*
|
||||
|
||||
### Le problème
|
||||
|
||||
Au début de 1942, dans le Pacifique, les transmissions radio américaines sont
|
||||
systématiquement interceptées et décryptées par l'armée japonaise. Les chiffrements
|
||||
mécaniques disponibles sont sûrs mais lents : coder puis décoder un ordre demande de
|
||||
longues minutes, ce qui est incompatible avec la conduite d'un combat.
|
||||
|
||||
### L'idée
|
||||
|
||||
**Philip Johnston**, ingénieur civil et vétéran de la Première Guerre mondiale, avait
|
||||
grandi sur la réserve navajo où son père était missionnaire. Il faisait partie du très
|
||||
petit nombre de non-Navajos parlant la langue. Il propose au Corps des Marines
|
||||
d'utiliser le navajo pour les transmissions.
|
||||
|
||||
La langue s'y prêtait remarquablement : elle **ne s'écrivait pas**, sa grammaire et sa
|
||||
tonalité la rendaient très difficile à acquérir, et on estimait alors qu'une trentaine
|
||||
de personnes extérieures au peuple navajo la parlaient — aucune n'étant japonaise.
|
||||
|
||||
### Ce que le code était vraiment
|
||||
|
||||
C'est ici que l'idée reçue — « ils parlaient navajo à la radio » — est fausse.
|
||||
|
||||
**Vingt-neuf** premières recrues navajos, engagées en mai 1942, ne se sont pas contentées
|
||||
de traduire : elles ont **construit un code**, avec deux niveaux.
|
||||
|
||||
1. **Un alphabet phonétique.** Chaque lettre est représentée par un mot navajo dont la
|
||||
traduction anglaise commence par cette lettre. Pour transmettre `N`, on dit *tsah*,
|
||||
qui signifie « aiguille » — *needle* en anglais. Le déchiffrement demande donc de
|
||||
traduire le mot navajo en anglais, puis d'en garder l'initiale.
|
||||
2. **Un dictionnaire de code.** Environ quatre cents termes militaires reçoivent un mot
|
||||
navajo convenu, sans rapport avec leur sens. Un sous-marin devient *besh-lo*,
|
||||
« poisson de fer ». Un avion de chasse, *da-he-tih-hi*, « colibri ». Un cuirassé,
|
||||
*lo-tso*, « baleine ». Un destroyer, *ca-lo*, « requin ».
|
||||
|
||||
Autrement dit, ce dictionnaire **est une clé**. Il a été appris par cœur, jamais emporté
|
||||
au combat.
|
||||
|
||||
### La parade contre l'analyse de fréquences
|
||||
|
||||
Les concepteurs avaient identifié la faiblesse que vous avez exploitée en partie 1.
|
||||
Si chaque lettre correspondait à un seul mot navajo, il aurait suffi de compter les
|
||||
occurrences pour retrouver le `E`.
|
||||
|
||||
Ils ont donc **attribué plusieurs mots aux lettres les plus fréquentes**, entre lesquels
|
||||
l'opérateur alternait au hasard. L'alphabet est passé de 26 à 44 termes, enrichi
|
||||
précisément sur E, T, A, O, I, N, S, H, R, D, L et U.
|
||||
|
||||
C'est pourquoi votre lexique de la partie 3 contient trois mots pour la lettre A.
|
||||
|
||||
### La preuve par un prisonnier
|
||||
|
||||
**Joe Kieyoomia**, sergent navajo du 200<sup>e</sup> régiment d'artillerie côtière du
|
||||
Nouveau-Mexique, est capturé aux Philippines en 1942 et survit à la marche de la mort de
|
||||
Bataan. Les Japonais découvrent qu'il est navajo et lui font écouter les transmissions
|
||||
interceptées.
|
||||
|
||||
**Il ne comprend rien.** Il parle pourtant parfaitement le navajo — mais il ignorait
|
||||
jusqu'à l'existence du code, et les messages, faits de mots de code convenus, ne
|
||||
formaient pour lui aucun sens. Il est torturé pour ce refus supposé, forcé de rester nu
|
||||
dans la neige. Il survivra à la guerre, et se trouvera à Nagasaki lors du bombardement
|
||||
atomique du 9 août 1945, protégé par les murs de sa cellule.
|
||||
|
||||
### Le résultat
|
||||
|
||||
Le code n'a jamais été cassé. À Iwo Jima, six code talkers ont transmis plus de huit
|
||||
cents messages en deux jours sans une seule erreur. Le major Howard Connor, officier
|
||||
transmissions de la 5<sup>e</sup> division de Marines, déclarera : *« Sans les Navajos,
|
||||
les Marines n'auraient jamais pris Iwo Jima. »*
|
||||
|
||||
Le programme est resté **classifié jusqu'en 1968** : pendant vingt-trois ans, les code
|
||||
talkers n'ont pas eu le droit de dire ce qu'ils avaient fait. La reconnaissance officielle
|
||||
du Congrès des États-Unis n'est intervenue qu'en 2000 et 2001, alors que la plupart
|
||||
étaient morts.
|
||||
|
||||
Le même peuple avait, une génération plus tôt, vu ses enfants punis dans les pensionnats
|
||||
fédéraux pour avoir parlé cette langue.
|
||||
|
||||
**Q19.** L'histoire de Joe Kieyoomia est l'expérience décisive. Un locuteur natif, aux
|
||||
mains de l'adversaire, ne peut pas lire les messages. **Qu'est-ce que cela prouve
|
||||
exactement sur la source de la sécurité du système ?**
|
||||
|
||||
**Q20.** Si les code talkers s'étaient contentés de parler navajo en clair, sans
|
||||
dictionnaire de code, que se serait-il passé lors de la capture de Kieyoomia ?
|
||||
|
||||
---
|
||||
|
||||
## Partie 5 : Le principe de Kerckhoffs
|
||||
|
||||
Vous avez attaqué trois protections :
|
||||
|
||||
| Fichier | Protection | Ce qui l'a fait tomber |
|
||||
|---|---|---|
|
||||
| 1 | un algorithme tenu secret | l'analyse de fréquences, en quelques minutes |
|
||||
| 2 | un algorithme public, une clé faible | la force brute, 17 576 essais |
|
||||
| 3 | une langue rare *et* un dictionnaire de code | rien — jusqu'à ce qu'on vous donne le lexique |
|
||||
|
||||
**Q21.** En 1883, le cryptographe néerlandais **Auguste Kerckhoffs** énonce un principe
|
||||
qui gouverne encore toute la cryptographie moderne. À partir du tableau ci-dessus,
|
||||
essayez de le formuler vous-même : sur quoi la sécurité d'un système doit-elle reposer,
|
||||
et sur quoi ne doit-elle **jamais** reposer ?
|
||||
|
||||
**Q22.** On appelle **sécurité par l'obscurité** le fait de compter sur le secret du
|
||||
fonctionnement d'un système plutôt que sur celui d'une clé. Lequel de vos trois fichiers
|
||||
relevait de l'obscurité pure ?
|
||||
|
||||
**Q23.** Relisez la section 3 du cours, consacrée à l'AES. Les spécifications de l'AES
|
||||
sont **entièrement publiques** : n'importe qui peut lire l'algorithme, le programmer,
|
||||
le tester. Le cours indique qu'à ce jour la meilleure attaque connue reste la force
|
||||
brute sur 2<sup>256</sup> clés.
|
||||
|
||||
En quoi cette publicité est-elle une **force** et non une faiblesse ? Que se passerait-il
|
||||
si un algorithme secret contenait un défaut ?
|
||||
|
||||
**Q24.** Une entreprise vous propose son logiciel de messagerie en affirmant :
|
||||
*« nos communications sont inviolables, car nous utilisons un algorithme de chiffrement
|
||||
propriétaire que nous avons développé nous-mêmes et que nous ne divulguons pas. »*
|
||||
|
||||
Rédigez en cinq lignes ce que vous répondez.
|
||||
|
||||
**Q25.** Le troisième fichier avait une vraie clé — le dictionnaire de code — et il a
|
||||
résisté. Pourtant, ce système n'aurait aucune valeur aujourd'hui. **Pourquoi ?**
|
||||
*(Pensez à ce qui se passe si la clé est perdue, capturée, ou si un seul opérateur
|
||||
la divulgue. Comparez avec l'AES, où changer de clé prend une seconde.)*
|
||||
|
||||
---
|
||||
|
||||
## Partie 6 : L'épisode, et la série
|
||||
|
||||
*Pour la culture. Rien à rendre.*
|
||||
|
||||
**« Anasazi »** est le vingt-cinquième et dernier épisode de la deuxième saison de
|
||||
*X-Files* (*The X-Files*), diffusé le 19 mai 1995. Il est réalisé par R. W. Goodwin,
|
||||
sur une histoire de Chris Carter — le créateur de la série — et de David Duchovny,
|
||||
l'interprète de l'agent Mulder.
|
||||
|
||||
*X-Files* raconte l'enquête de deux agents du FBI sur des affaires non résolues :
|
||||
**Fox Mulder**, convaincu de l'existence d'une dissimulation gouvernementale, et
|
||||
**Dana Scully**, médecin de formation, chargée à l'origine de contrôler son travail par
|
||||
la rigueur scientifique. La série a construit son identité sur cette tension entre
|
||||
l'intuition et la preuve — les deux personnages ayant tour à tour raison.
|
||||
|
||||
Dans l'épisode, un hacker surnommé **le Penseur** (Kenneth Soona) extrait des serveurs
|
||||
du ministère de la Défense un ensemble de fichiers classifiés et les remet à Mulder sur
|
||||
une bande numérique. Les fichiers sont illisibles. C'est **Scully** qui identifie la
|
||||
raison : le contenu n'est pas chiffré au sens informatique, il est rédigé en **navajo**.
|
||||
Un ancien du peuple navajo, **Albert Hosteen** — interprété par Floyd « Red Crow »
|
||||
Westerman, acteur et musicien dakota — entreprend de les traduire.
|
||||
|
||||
Le titre renvoie aux **Anasazis**, peuple du sud-ouest américain dont les cités furent
|
||||
abandonnées vers le XIII<sup>e</sup> siècle, et dont la disparition reste discutée.
|
||||
Le nom, d'origine navajo, est aujourd'hui contesté : les descendants pueblos lui
|
||||
préfèrent l'appellation *Ancestral Puebloans*.
|
||||
|
||||
L'épisode est le premier volet d'un triptyque qui se poursuit dans la saison 3 avec
|
||||
*The Blessing Way* et *Paper Clip*, et se termine sur un des cliffhangers les plus
|
||||
célèbres de la série.
|
||||
|
||||
**Ce que l'épisode arrange.** Vous êtes maintenant mieux informé·e que le scénario :
|
||||
la série présente le navajo comme un chiffrement à lui seul, alors que le vrai système
|
||||
combinait la langue **et** un dictionnaire de code appris par cœur. La nuance n'est pas
|
||||
mineure — c'est précisément elle qui sépare la sécurité par l'obscurité d'une véritable
|
||||
cryptographie, et c'est tout l'objet de ce TP.
|
||||
|
||||
Une remarque, enfin. La série s'est emparée d'une histoire réelle, et le fait que des
|
||||
lycéens français la découvrent trente ans plus tard par une série de science-fiction en
|
||||
dit long sur la façon dont elle a été traitée : classifiée vingt-trois ans, reconnue
|
||||
plus d'un demi-siècle après les faits.
|
||||
|
||||
---
|
||||
|
||||
## Questions de réflexion
|
||||
|
||||
**1.** En partie 1, l'auteur du message écarte explicitement les systèmes du ministère
|
||||
*parce que* leurs spécifications sont publiques. En quoi ce raisonnement inverse-t-il
|
||||
exactement le principe de Kerckhoffs ?
|
||||
|
||||
**2.** La force brute de la partie 2 a demandé 17 576 essais. Combien en faudrait-il
|
||||
pour une clé de 8 lettres majuscules ? Et de 12 ? *(Une machine teste environ un milliard
|
||||
de clés par seconde.)* Concluez sur ce qui détermine la solidité d'une clé.
|
||||
|
||||
**3.** Le chiffrement XOR est utilisé dans de vrais systèmes cryptographiques, alors même
|
||||
que vous venez de le casser. Quelle condition faudrait-il respecter sur la clé pour
|
||||
qu'un chiffrement XOR devienne **incassable** ? *(Cherchez « masque jetable ».)*
|
||||
Pourquoi cette condition est-elle presque impossible à tenir en pratique ?
|
||||
|
||||
**4.** Le dictionnaire des code talkers a été appris par cœur et jamais écrit ni emporté
|
||||
au combat. En termes modernes, quel problème de sécurité cette décision résolvait-elle ?
|
||||
|
||||
---
|
||||
|
||||
## Barème indicatif
|
||||
|
||||
| Partie | Points |
|
||||
|--------|--------|
|
||||
| Partie 1 : analyse de fréquences | 6 |
|
||||
| Partie 2 : XOR et force brute | 5 |
|
||||
| Partie 3 : le fichier qui résiste | 3 |
|
||||
| Partie 4 : lecture historique (Q19, Q20) | 2 |
|
||||
| Partie 5 : principe de Kerckhoffs | 4 |
|
||||
| **Total** | **20** |
|
||||
|
||||
---
|
||||
|
||||
## Sources
|
||||
|
||||
- *Navajo Code Talkers' Dictionary*, révision du 15 juin 1945, déclassifié sous
|
||||
DoD Directive 5200.9 — [Naval History and Heritage Command](https://www.history.navy.mil/research/library/online-reading-room/title-list-alphabetically/n/code-talkers.html)
|
||||
- « Semper Fidelis, Code Talkers », *Prologue*, [National Archives](https://www.archives.gov/publications/prologue/2001/winter/navajo-code-talkers.html)
|
||||
- [Joe Kieyoomia](https://en.wikipedia.org/wiki/Joe_Kieyoomia) — Wikipédia
|
||||
- [Anasazi (The X-Files)](https://en.wikipedia.org/wiki/Anasazi_(The_X-Files)) — Wikipédia
|
||||
|
||||
---
|
||||
|
||||
Auteur : Florian Mathieu
|
||||
|
||||
Licence CC BY NC
|
||||
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Licence Creative Commons" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a> <br />Ce cours est mis à disposition selon les termes de la <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International</a>.
|
||||
Reference in New Issue
Block a user