La machine Enigma

Chapitre: XI. Enigma Prérequis: -

L'entre-deux-guerres voit le début de la mécanisation de la cryptographie. Des outils mécaniques, comme les cylindres chiffrants, sont mis à disposition des opérateurs, et des machines électromécaniques, sont mises au point. Ces machines fonctionnent sur le principe des rotors et des contacts électriques, afin de réaliser des formes de substitution polyalphabétique dont la clef a une longueur gigantesque de l'ordre de centaines de millions de lettres, au lieu de quelques dizaines dans les méthodes artisanales, comme le chiffre de Vigenère.
Enigma est la machine à chiffrer et déchiffrer qu'utilisèrent les armées allemandes du début des années trente jusqu'à la fin de Seconde Guerre Mondiale. Elle automatise le chiffrement par substitution. Comme on peut le voir ci-contre, cette machine ressemble à une machine à écrire. Quand on presse sur une touche, deux choses se passent. Premièrement, une lettre s'allume sur un panneau lumineux: c'est la lettre chiffrée. Deuxièmement, un mécanisme fait tourner le rotor de droite d'un cran; toutes les 26 frappes, le deuxième rotor tourne d'un cran, toutes les 676 frappes (26 au carré), c'est le troisième rotor qui tourne d'un cran. Certaines Enigmas avaient 3 rotors, celles de la Kriegsmarine en avaient 4 ou 5 (on peut apercevoir ces 4 cylindres gris sur le dessus de la machine ci-contre). Ces rotors tournants modifient les connexions électriques dans la machine, ce qui fait que la touche "A" allumera peut-être le "B" la première fois, mais le "X" la deuxième, le "E" la troisième, etc. Un "tableau de connexions" et un "réflecteur" complique encore le système. Le côté génial de cette machine est que même si elle tombe entre les mains ennemies, sa sécurité n'est pas compromise. En effet, c'est le nombre faramineux de réglages de la machine qui fait sa force et les réglages changeaient évidemment chaque jour. On peut en effet changer l'ordre des rotors, leur orientation initiale et les branchement du tableau de connexions. Par exemple, on pouvait spécifier la clef du jour ainsi:

Ainsi, connaître le fonctionnement de la machine n'aide (presque) pas à décrypter les messages qu'elle produit. Tout le problème est de retrouver le bon réglage. C'est dans ce but qu'ont été produites les bombes de Turing.

Le principe de l'Enigma

Le principe de base des machines Enigma conçues par Scherbius repose sur l'utilisation de rotors qui transforment l'alphabet clair (noté en minuscules) en alphabet chiffré (en majuscules). Pour mieux l'illustrer, nous nous limiterons à un alphabet de six lettres. Voici la représentation de l'un de ces fameux rotors, ainsi que le schéma équivalent qui permet de mieux suivre l'opération "avec les doigts".

Schéma 1

Si on frappe la lettre b sur le clavier, un courant électrique est envoyé dans le rotor, suit la câblage interne, puis ressort à droite pour allumer la lettre A sur le tableau lumineux. b est donc chiffré en A. Idem pour les cinq autres lettres: a devient B, b devient A, c devient D, d devient F, e devient E et f devient C.

Autre principe de base: chaque fois qu'une lettre est tapée au clavier, le rotor tourne d'un cran. Ainsi, b devient A la première fois, mais b devient C la deuxième fois (voir schéma 2, à droite), puis b devient E, etc.

Schéma 2

Dans notre exemple le mot bac est chiffré ADD (et non ABD si le rotor était resté immobile). Pour augmenter le nombre de combinaisons possibles - et déjouer les tentatives des cryptanalystes -, Scherbius a associé plusieurs dispositifs, comme indiqué sur le schéma 3.

Schéma 3

Le tableau de connexions permet de brouiller les pistes en reliant deux lettres du clavier entre elles (ici a et b). Ainsi, quand on tape b, le courant prend en fait le circuit prévu pour a. Les trois brouilleurs associés multiplient ainsi le nombre de combinaisons. Le deuxième et le troisième avancent respectivement d'un cran quand le premier et le deuxième ont fait un tour complet. Quant au réflecteur, il renvoie le courant dans le dispositif jusqu'au panneau lumineux où la lettre cryptée s'affiche. Son rôle n'est pas d'augmenter le nombre de combinaisons possibles, mais de faciliter considérablement la tâche du destinataire. En effet, si b devient C dans notre exemple (en rouge), on a aussi c devient B. Et c'est valable pour toutes les paires de lettres claire/cryptée. Conséquence: si le mot efface est chiffré ACBFEB par l'émetteur, il suffira à l'opérateur qui reçoit le message crypté de taper acbfeb sur son clavier pour voir les lettres E, F, F, A, C, E s'allumer. Seule condition: les deux opérateurs distants doivent avoir réglé leur machine Enigma de la même façon.

L'applet ci-dessous, écrite par Frédéric Bayart (voir références), montre les entrailles d'une machine Enigma simplifiée (elle ne possède que 2 rotors, et 6 lettres). Pour l'utiliser, il suffit de cliquer sur une des lettres; le trajet du courant s'affiche alors, et une ampoule s'allume. En cliquant sur "Etape suivante", les rotors tournent et on peut taper une nouvelle lettre.


Au final, si l'on revient aux machines Enigma équipées pour 26 lettres, on a:

Les machines Enigma peuvent donc chiffrer un texte selon 17'576 x 6 x 100'391'791'500 = 10'000'000'000'000'000 combinaisons différentes!


Références


Didier Müller, 26.9.06