La machine ENIGMA est extrêmement connue notamment pour avoir servi au chiffrement de nombreux messages de l’Allemagne nazie lors de la Seconde Guerre Mondiale. Les méthodes de cryptage des allemands auront finalement été percées à jour par l’équipe d’Allan Turing à Bletchley Park. Mais comment cette machine fonctionnait-elle et pourquoi ses codes étaient-ils si difficiles à craquer ? |
![]() |
![]() |
![]() |
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. |
Certaines Enigmas avaient 3 rotors, celles de la Kriegsmarine en avaient 4 ou 5. 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. |
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. |
![]() |
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: ![]() ![]() ![]() ![]() ![]() 26 x 26 x 26 = 17'576 combinaisons liées à l'orientation des chacun des trois rotors,
6 combinaisons possibles liées à l'ordre dans lequel sont disposés les rotors,
100'391'791'500 branchements possibles quand on relie les six paires de lettres dans le tableau de connexions.
Les machines Enigma à 3 rotors peuvent donc chiffrer un texte selon 17'576 x 6 x 100'391'791'500 = 10'000'000'000'000'000 soit " 10 millions de milliard " de combinaisons différentes! |
![]() |
Arthur Scherbius (20 octobre 1878 - 13 mai 1929) est un ingénieur en électricité allemand. En 1918, il fait breveter une machine de chiffrement novatrice basée sur des rotors désynchronisés, qui portera plus tard le nom de machine Enigma. Scherbius est né à Francfort en 1878. Fils d'un homme d'affaires, il étudie l'électricité à l'université technique de Munich et s'inscrit ensuite à l'université technique de Hanovre où il termine ses études en mars 1903. L'année suivante, il écrit sa thèse sur un système de turbine à eau et reçoit son doctorat en ingénierie. Scherbius travaille ensuite pour plusieurs entreprises en Allemagne et en Suisse. En 1918, il fonde son entreprise, « Scherbius & Ritter » à Berlin et invente différents objets : des moteurs asynchrones, des coussins électriques ou encore des corps-chauffant en céramique. Ses contributions font que son nom est resté dans le domaine des moteurs asynchrones : on parle du principe de Scherbius pour désigner l'utilisation de machines tournantes au lieu de convertisseurs de puissance. |
![]() |
![]() |
![]() |
![]() |
En informatique théorique, une machine de Turing
est un modèle abstrait du fonctionnement des appareils mécaniques de calcul, tel un ordinateur. Ce modèle a été imaginé par Alan Turing en 1936, en vue de donner une définition précise au concept d'algorithme ou de « procédure mécanique ». |
![]() |
![]() |
![]() |
Message Allemand codé avec Enigma |
Une rare transcription manuscrite d'un message allemand Enigma se lit comme suit : "Préparation immédiate. Il y a des indications que l'invasion a commencé." |
Message Allemand codé avec Enigma |
![]() |
![]() Chaque ligne correspond à un jour (Tag). Le choix des rotors (Walzen) est donné dans la deuxième colonne, ces derniers étant numérotés par i, ii, iii, iv et v. Il s’ensuit la position des anneaux (Ringstellung), qui déterminent le moment où les rotors tournent de deux crans au lieu d’un, comme ils font habituellement. Cela ne compte pas pour la méthode polonaise, on ne regardera pas la façon dont les rotors bougent. Le choix des 10 paires de lettres, noté C, est donné dans la colonne nommée « connexions des prises » (Stecker Verbindungen). La dernière colonne donne la valeur de R, la position des trois rotors. Ici on a quatre groupes de trois lettres car on est en 1941 quand les Allemands ont modifié la procédure d’envoi des messages, mais jusqu’en 1940 il n’y avait qu’un seul triplet. On parle de groupe de marquages (Kenn Grupen) et non pas de rotors car l’utilisateur devait faire tourner les roulettes qu’il voyait en haut de la machine (qui en réalité étaient les extrémités des rotors) pour faire apparaître les bons marquages. |
![]() |