Le fonctionnement d'Enigma
Enigma est une machine qui effectue un code à la fois astucieux et simple. Une pile électrique permet le fonctionnement de la machine. Chaque lettre est remplacée par une autre, comme dans le chiffre de Vigenère. Quand on appuie sur une touche du clavier, un circuit électrique est fermé, et une lampe s'allume et indique par quelle lettre on doit remplacer la lettre que l'on veut crypter.
Concrètement : le circuit électrique est constitué de plusieurs éléments en chaîne
Un tableau de connexions : il permet d'échanger des paires de l'alphabet, deux à deux, au moyen de fiches. Il y a 6 fiches qui permettent de changer 12 lettres. Le tableau de connections permet donc une permutation très particulière où on a échangé au plus 6 paires. Par exemple, dans le tableau suivant (avec simplement 6 lettres), on a échangé A et C, D et F, tandis que B et E restent invariants.
Le circuit électrique est également composé de rotors placés les uns à la suite des autres qui permutent les lettres. La machine disposera de 3 à 6 rotors lors de ses évolutions mais seulement 3 sont utilisés pour le codage, on peut les placer dans l'ordre prédéfini (ce qui constituera une partie de la clé). Ces rotors sont cylindriques et peuvent tourner sur leur axe. Ainsi, à chaque fois qu'on a tapé une lettre, le premier rotor tourne d'un cran, et la permutation qu'il engendre est changée. Exemple : le rotor transforme initialement D en B. Lorsqu'il tourne d'un cran, cette liaison électrique D => B se retrouve remontée en C => A et, lorsque la prochaine lettre sera tapée, le rotor transformera cette fois D en C.
Chaque rotor possède donc 26 crans. A chaque fois qu'une lettre est tapée, le premier rotor tourne d'un cran. Il est donc revenu à sa position initiale après 26 lettres, alors le second rotor tourne d'un cran. On recommence à tourner le premier rotor, et ainsi de suite... Quand le second rotor a retrouvé sa position initiale, c'est le troisième rotor qui tourne d'un cran.
Un réflecteur : au bout des 3 rotors se situe un réflecteur qui permet de renvoyer l'information en arrière.On permute une dernière fois les lettres 2 par 2, et on les fait retraverser les rotors, et le tableau de connexion.