Aller au contenu

Simulateur de machine Enigma

Réglez une Enigma I — trois des cinq rotors, le réflecteur B ou C, les réglages d'anneau, les positions de départ et jusqu'à dix câbles du tableau de connexions — puis saisissez votre message : les rotors avancent, une lampe s'allume et chaque appui sur une touche est retracé. La machine est sa propre inverse : les mêmes réglages permettent de décoder.

Charger un exemple

Réglages de la machine

Réflecteur

Jusqu'à dix paires de lettres séparées par des espaces, comme AV BS CG. Une lettre ne peut figurer que dans une seule paire.

La machine ne possédait que les 26 touches de lettres : les espaces, les chiffres et la ponctuation ne se tapent pas. Les opérateurs épelaient les nombres et écrivaient X pour un point.

La machine

Fenêtres des rotors

gauche

La fenêtre gauche affiche A

I

milieu

La fenêtre milieu affiche A

II

droite

La fenêtre droite affiche F

III

Après le dernier appui sur une touche. Chaque appui fait avancer le rotor de droite avant que le courant ne circule : la première lettre est donc chiffrée une position après le départ.

Tableau de lampes

Clavier

Trajet du dernier appui

  1. ToucheA
  2. Tableau de connexionsA
  3. III (droite)G
  4. II (milieu)R
  5. I (gauche)U
  6. Réflecteur BC
  7. I (gauche)Y
  8. II (milieu)V
  9. III (droite)O
  10. LampeO

Par le tableau de connexions, les rotors de droite à gauche, le réflecteur, puis de nouveau les rotors et le tableau de connexions jusqu'à une lampe.

Sortie

Présenter la sortie en

BDZGO

5 lettres saisies

Pour décoder, réglez les mêmes rotors, anneaux, tableau de connexions et position de départ, puis saisissez le texte chiffré : l'Enigma est sa propre inverse.

Appuis sur les touches

n°FenêtresToucheLampe
1AABAB
2AACAD
3AADAZ
4AAEAG
5AAFAO

Comment utiliser le simulateur de machine Enigma

  1. 1. Réglez la machine. Choisissez le réflecteur, puis pour chaque emplacement — gauche, milieu, droite — le rotor, son réglage d'anneau et la lettre visible dans sa fenêtre au départ.
  2. 2. Branchez le tableau de connexions. Saisissez jusqu'à dix paires de lettres, par exemple AV BS CG ; chaque paire échange deux lettres à l'entrée comme à la sortie.
  3. 3. Saisissez le message, dans la zone de texte ou sur les touches. La machine ne possédait que 26 touches de lettres : les espaces, les chiffres et la ponctuation sont donc ignorés — les opérateurs épelaient les nombres et écrivaient X pour un point.
  4. 4. Observez-la fonctionner. Les fenêtres montrent les rotors après le dernier appui, le tableau de lampes allume la dernière lettre, et le trajet du signal ainsi que le journal retracent chaque appui.
  5. 5. Décodez avec les mêmes réglages. Réglez les mêmes rotors, anneaux, tableau de connexions et position de départ, puis saisissez le texte chiffré. Les trois exemples chargent des cas de test publiés.

Fonctionnement de l'Enigma I

Appuyer sur une touche produit deux effets, dans cet ordre. D'abord les rotors avancent : le rotor de droite se déplace toujours d'une position, et une encoche sur son anneau entraîne le rotor du milieu une fois par tour complet. Ensuite, le courant part de la touche, traverse le tableau de connexions, les trois rotors de droite à gauche, le réflecteur, les rotors une nouvelle fois de gauche à droite, puis le tableau de connexions à nouveau, et allume une lampe.

Chaque rotor est un mélange fixe de l'alphabet, et son avancement le décale par rapport aux lettres : la même touche allume donc une lampe différente à chaque fois. Le réflecteur relie les lettres deux à deux, ce qui fait de la machine sa propre inverse — et interdit qu'une lettre soit chiffrée par elle-même. Avec les rotors I, II et III, le réflecteur B, des anneaux AAA et une position de départ AAA, taper AAAAA allume B, D, Z, G et O : le premier test standard de tout simulateur Enigma.

Rotors et réflecteurs de l'Enigma I
ÉlémentCâblage de A → ZCran d'entraînementMise en service
Rotor IEKMFLGDQVZNTOWYHXUSPAIBRCJQ → R1930
Rotor IIAJDKSIRUXBLHWTMCQGZNPYFVOEE → F1930
Rotor IIIBDFHJLCPRTXVZNYEIWGAKMUSQOV → W1930
Rotor IVESOVPZJAYQUIRHXLNFTGKDCMWBJ → Kdécembre 1938
Rotor VVZBRGITYUPSDNHLXAWMJQOFECKZ → Adécembre 1938
Réflecteur BYRUHQSLDPXNGOKMIEBFZCWVJAT—novembre 1937
Réflecteur CFVPJIAOYEDRZXWGCTKUQSBNMHL—1940, brièvement

Cran d'entraînement : lorsque le rotor passe de la première lettre à la deuxième de sa fenêtre, il entraîne le rotor situé à sa gauche d'une position.

Réglages d'anneau et double pas

Le réglage d'anneau (Ringstellung) fait tourner le câblage par rapport à l'anneau portant les lettres, tandis que l'encoche reste solidaire des lettres. Avec des anneaux BBB au lieu de AAA, les mêmes cinq appuis donnent EWTYX.

Le rotor du milieu a une bizarrerie célèbre : lorsqu'il atteint sa propre position de retournement, il avance de nouveau dès l'appui suivant et entraîne le rotor de gauche avec lui. En partant de ADU avec les rotors I, II et III, les fenêtres affichent ADV, puis AEW, puis BFX — le rotor du milieu est passé de D à E, puis directement à F. Chargez l'exemple Le double pas pour le voir.

Exemple détaillé : un message avec anneaux et tableau de connexions

Un message complet charge l'exemple détaillé tiré de l'article sur l'Enigma de la Wikipédia allemande : réflecteur B, rotors I IV III, anneaux 16 26 08 (P Z H) et connexions AD CN ET FL GI JV KZ PU QY WX. L'opérateur a choisi la position de départ QWE, saisi sa clé de message RTZ, obtenu EWG, et envoyé QWE EWG en clair.

Le destinataire règle QWE, saisit EWG et lit RTZ sur les lampes. Réglé sur RTZ, le texte chiffré EJZLB SYEQP DWDUE EJJOU PSOFL B… donne XAACH ENXAA CHENX ISTGE RETTE T… : Aachen ist gerettet, « Aachen est sauvée » — avec X pour les espaces et les points, le nom de lieu doublé, et CH écrit Q, conventions des messages militaires allemands.

Briser l'Enigma : Rejewski, Bletchley Park et Turing

Arthur Scherbius a déposé le brevet de sa machine à rotors en 1918 et vendit la première Enigma commerciale en 1923. La marine allemande adopta une version modifiée en 1926, l'armée ajouta le tableau de connexions en 1928, et l'Enigma I entra en service en 1930. Des mathématiciens polonais la cassèrent les premiers : vers décembre 1932, Marian Rejewski, du Bureau du chiffre polonais, appliqua la théorie des permutations aux clés quotidiennes que les Français avaient obtenues d'un espion allemand, Hans-Thilo Schmidt, pour retrouver le câblage des rotors. Avec Jerzy Różycki et Henryk Zygalski, il construisit les feuilles de Zygalski et la bomba électromécanique pour trouver les réglages quotidiens ; en juillet 1939, à Pyry près de Varsovie, les Polonais partagèrent l'ensemble avec les cryptologues français et britanniques.

À Bletchley Park, Alan Turing conçut la bombe britannique, qui testait des réglages de rotors contre un crib — un texte en clair que les cryptanalystes s'attendaient à trouver dans un message — et la table diagonale de Gordon Welchman la rendit bien plus efficace ; la première bombe fut installée en mars 1940. Comme aucune lettre ne se chiffre en elle-même, un mot deviné ne pouvait pas se placer là où il aurait donné une lettre sur elle-même, ce qui aidait à situer les cribs. Le renseignement tiré de l'Enigma et d'autres chiffrements, désigné par le nom de code Ultra, fut une aide considérable pour les Alliés.

L'Enigma était-elle sûre ?

Sur le papier, elle était solide : trois rotors sur cinq dans l'ordre, leurs positions de départ et dix paires du tableau de connexions donnent 158 962 555 217 826 360 000 réglages — environ 1,6 × 10²⁰, soit 67 bits — avant même les réglages d'anneau. Elle tomba à cause de sa conception et de son usage : aucune lettre ne devenait elle-même, les opérateurs envoyaient des formules prévisibles et, jusqu'en mai 1940, tapaient deux fois chaque clé de message. Aujourd'hui, un ordinateur retrouve les réglages de l'Enigma à partir du seul texte chiffré : ce simulateur sert donc à apprendre, pas à garantir le secret.

Questions fréquentes

Comment fonctionne une machine Enigma ?
Chaque appui sur une touche fait d'abord avancer les rotors, puis envoie le courant à travers le tableau de connexions, les trois rotors, un réflecteur, les rotors de nouveau en sens inverse et le tableau de connexions une dernière fois, pour allumer une lampe. Comme les rotors bougent à chaque appui, chaque lettre est chiffrée avec un alphabet différent : une lettre répétée dans le message ne se répète donc pas dans le texte chiffré.
Qu'est-ce que l'anomalie du double pas de l'Enigma ?
Le rotor du milieu avance à deux appuis consécutifs lorsqu'il atteint sa propre position de retournement : une fois lorsque le rotor de droite l'entraîne jusque-là, puis de nouveau à l'appui suivant, lorsqu'il entraîne le rotor de gauche. En partant de ADU avec les rotors I, II et III, les fenêtres affichent ADV, AEW, BFX. Beaucoup de simulateurs se trompent sur ce point ; celui-ci est vérifié contre cet exemple.
Pourquoi l'Enigma ne peut-elle pas chiffrer une lettre par elle-même ?
À cause du réflecteur : il associe toujours une lettre à une autre lettre différente, de sorte que le courant revient par un autre fil et que la lampe allumée n'est jamais celle de la touche pressée. Cela faisait de la machine une machine auto-réciproque, mais cela indiquait aussi aux cryptanalystes l'endroit où un mot deviné ne pouvait pas se trouver.
Comment déchiffrer un message Enigma ?
Réglez le même réflecteur, le même ordre des rotors, les mêmes réglages d'anneau, le même tableau de connexions et la même position de départ que l'expéditeur, puis saisissez le texte chiffré : les lampes épellent le texte en clair. Les messages de guerre portaient aussi une clé de message chiffrée ; le destinataire la déchiffrait donc d'abord, puis réglait les rotors sur cette clé.
Qui a cassé le code Enigma ?
La première cassure fut polonaise : Marian Rejewski reconstitua le câblage des rotors vers décembre 1932 et, avec Jerzy Różycki et Henryk Zygalski, lut le trafic Enigma pendant des années avant la guerre. À partir de 1939, le travail se poursuivit à Bletchley Park, où Alan Turing, Gordon Welchman et des milliers d'autres personnes — dont beaucoup de femmes qui faisaient tourner les bombes — en firent une opération industrielle.

Outils associés

Autres outils : Codes et chiffrements