La
Machine Enigma : la cryptographie pendant la Seconde Guerre Mondiale
Un peu
d'histoire...
Pendant l'été 1940. La guerre semble avoir choisi son camp. La Pologne, la
France ont capitulé. La Grande-Bretagne résiste, mais elle dépend, pour la moitié
à peu près de son approvisionnement en matières premières, des importations
maritimes. Or, dans les mers, les sous-marins allemands, les redoutables
U-Boot, font régner la terreur, coulant de nombreux navires. Ils attaquent de
nuit, en meutes. Pour leur coordination tactique, ils échangent de nombreux
messages radios, avec le commandement à terre. Ces messages sont cryptés à
l'aide d'une remarquable machine, l'Enigma.
L'Enigma
L'Enigma se présente sous la forme d'une caisse en
bois de 34×28×15 cm, et pèse une douzaine de kilos. Elle est composée :
_d'un clavier alphabétique
_d'un tableau de connexion
_de 3 rotors mobiles à 26 positions
_d'un rotor renvoi à 26 positions (le réflecteur)
_d'un tableau de 26 ampoules correspondant aux 26 lettres de l'alphabet.
Le principe de fonctionnement de l'Enigma est à la fois simple et astucieux.
A chaque fois que l'on presse une lettre, un circuit électrique est fermé, et
s'éclaire une ampoule qui correspond à la lettre codée. En même temps, un ou
plusieurs des rotors mobiles tourne, changeant la substitution qui sera
opérée à la prochaine touche pressée. De plus, le chiffrage est réversible :
si en tapant A vous codez D, si vous aviez tapé D, vous auriez codé A. Ainsi,
si le commandement allemand et le sous-marin ont le même réglage de départ,
il suffit à l'opérateur du sous-marin de taper directement le message codé
pour obtenir le message clair.
|

|
Le nombre de clés est
gigantesque (de l'ordre de 1020), et les allemands ont une confiance totale en
la machine Enigma, dont ils fabriqueront 100.000 exemplaires. Au su et au vu de
tous, ils s'échangeront des communications radios cryptées, persuadés que
jamais les Alliés ne les comprendront.
Les avancées
polonaises
La Pologne s'est trouvée ressuscitée en 1919 par le traité de Versaille.
Craignant son voisin allemand (à juste titre!), elle se dote d'un très performant
service du chiffre, et se tient à l'écoute des communications allemandes. Avec
l'aide d'une Enigma "civile" (l'Enigma était destinée dans sa
première forme aux banques), de renseignements fournis par les services secrets
français, et grâce au remarquable travail du mathématicien Rejewski, elle
parvient à fabriquer une copie conforme de l'Enigma militaire. Même, dans le
milieu des années 1930, la Pologne dispose de méthodes pour déchiffrer les
messages allemands.
Las, en 1938, les
Allemands changent le protocole d'envoi de leurs messages, et surtout font
passer de 3 à 5 le nombre de rotors de leurs Enigma. La Pologne perd le
contact. Devant la gravité de la situation internationale, les Polonais font
parvenir aux Anglais et aux Français en 1939 une Enigma, ainsi que l'ensemble
de leurs découvertes.
Les Anglais ont compris assez tard l'intérêt de la machine Enigma. En 1939, le
service du chiffre décide de s'éloigner de Londres, et des futurs
bombardements, pour s'installer, en toute discrétion, au manoir de Bletchley
Park, dans la paisible campagne à 60km au nord-ouest de Londres. Devant
l'urgence de la situation, les meilleurs mathématiciens, linguistes, et même
joueurs d'échecs sont appelés à Bletchley Park, où plusieurs milliers de
personnes se cotoieront.

|
Parmi eux, Alan Türing, un logicien et mathématicien,
qui, quelques années plus tôt, a conçu une machine universelle qui formalise
la notion d'algorithme et est le précurseur des ordinateurs modernes. Il
conçoit les Bombes, des machines programmables qui permettent après une
vingtaine d'heures de calcul, de décrypter les messages allemands. Le progès
est considérable. Du premier au second semestre 1941, le tonnage coulé chute
de moitié (de 2,9 millions de tonnes à 1,4 millions).
|
En février 1942, une
nouvelle version de la machine Enigma est mise en service, provoquant un
nouveau trou noir dans le décryptage des messages. Grâce à des documents
récupérés sur un sous-marin allemand, et à l'aide technique des Etats-Unis,
Bletchley Park retrouve mi 1943, toujours sous l'impulsion de Türing, la
faculté de décrypter les messages allemands. En 1944, le premier ordinateur de
l'histoire, le Colossus, leur garantira une puissance de calcul suffisante
jusqu'à la fin de la guerre : la bataille de l'Atlantique est gagnée! Cela,
d'autant que les allemands ne se douteront jamais que leurs messages sont
décryptés. Ils pensent, à juste titre, que les hommes ne peuvent venir à bout
d'un travail aussi titanesque. Ils ne se doutent pas qu'à Bletchley Park, dans
un manoir, une étrange machine réalise cette prouesse!
Le travail d'Alan Türing
pour déchiffrer les messages allemands a profondément changé le cours de la
seconde guerre mondiale. Plusieurs centaines de navires, leur équipage et leur
cargaison, furent sauvés. Le débarquement de l'été 1944 a pu être préparé en
toute sérénité...
Fonctionnement de la machine Enigma...
Résumé : On dispose d'une
clé secrète, facile à retenir, par exemple AMI, qui fournit la suite (1,13,9)
obtenue à partir de la position des lettres dans l'alphabet. On code alors le
message à envoyer en ajoutant 1 à la première lettre, 13 à la seconde, 9 à la
troisième et ainsi de suite...
Dans le détail :Le codage Enigma effectué par la machine Enigma est à la
fois simple et astucieux. Chaque lettre est remplacée par une autre, l'astuce
est que la substitution change d'une lettre à l'autre. La machine Enigma est alimentée
par une pile électrique. Quand on appuie sur une touche du clavier, un circuit
électrique est fermé, et une lampe s'allume qui indique quelle lettre codée
l'on substitue.
Concrètement, le circuit électrique est constitué de plusieurs éléments en chaîne
:
Le 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 donc d'échanger 12 lettres. Un tableau de connections est 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 D restent invariants.

Les rotors : un rotor est également une
permutation, mais cette fois quelconque. A chaque lettre en entrée correspond
une autre lettre.

On peut composer les
rotors, c'est-à-dire les mettre les uns à la suite des autres. La machine
Enigma disposera, au gré de ses évolutions successives, de 3 à 6 rotors. Parmi
ces rotors, seuls 3 sont utilisés pour le codage, et on a le choix de les
placer dans l'ordre que l'on souhaite (ce qui constituera une partie de la
clé).
Surtout, les rotors sont cylindriques, et ils peuvent tourner autour de 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. Observons ce changement sur
la figure suivante : 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.

Chaque rotor possède
donc 26 positions. A chaque fois qu'une lettre est tapée, le premier rotor
tourne d'un cran. Après 26 lettres, il est revenu à sa position initiale, et le
second rotor tourne alors 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.
Le réflecteur : Au bout des 3 rotors se situe une dernière permutation qui
permet de revenir 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.

Résumons sur la machine
simplifiée suivante (6 lettres, 2 rotors) comment est codée la lettre A :
on traverse le tableau de connexions : on obtient C.
on traverse les 2 rotors : on obtient successivement A et F.
on traverse le réflecteur où on obtient E, puis on renvoie dans les rotors pour
obtenir F, A et finalement C après le tableau de connexions.
Remarquons que si on avait tapé C, le courant aurait circulé dans l'autre sens
et on aurait obtenu A.

Nombre de clés
possibles :
Il y a trois éléments à connaitre pour pouvoir
coder un message avec la machine Enigma.
La position des 6 fiches du tableau de
connexion :
D'abord, il faut choisir 12 lettres parmi
26. C'est donc le nombre de combinaisons de 12 parmi 26, soit 26! /(12!14!).
Maintenant, il faut choisir 6 paires de lettres parmi 12, soit 12!/6!, et comme
la paire (A,D) donne la même connexion que la paire (B,A), il faut encore diviser
par 26. On trouve finalement 100 391 791 500.
L'ordre des rotors :
Il y a autant d'ordre que de façons d'ordonner
3 éléments : 3!=6.
La position initiale des rotors :
Chaque rotor ayant 26 éléments, il y a
26*26*26=17576 choix.
On multiplie tout cela, et on obtient plus de 1016 possibilités, ce qui est
énorme pour l'époque!
Il est important de
remarquer que les permutations employées dans les rotors et les réflecteurs ne
peuvent pas être considérées comme faisant partie du secret. En effet, toutes
les machines utilisent les mêmes, et il suffit donc d'en avoir une à
disposition. Les Anglais, par exemple, en ont récupéré une pendant la guerre
dans un sous-marin coulé. Ceci est une illustration d'un principe général en
cryptographie, principe dit de Kerckhoffs, qui veut que tout le secret doit
résider dans la clé secrète de chiffrement et de déchiffrement, et pas dans une
quelconque confidentialité de l'algorithme (ici de la machine) qui ne peut être
raisonnablement garantie.
Point forts et faiblesses
Nous avons déjà décrits les points forts de la machine Enigma. Pour
l'essentiel, c'est le nombre de clés énorme, et la réversibilité : si, avec la
même clé secrète initiale, on tape le message clair, on obtient le message
codé, et avec le message codé, on obtient le message clair.
L'une des failles de la
machine Enigma est que jamais la lettre A ne sera codée par un A. Cela élimine
un certain nombre de cas à inspecter. Une des autres faiblesse dépend plutôt du
protocole utilisé par les allemands : certains opérateurs (par exemple, ceux
qui informaient de la météo) prenaient peu de précautions et commençaient
toujours leurs messages par les mêmes mots (typiquement "Mon
général..."). Les anglais connaissaient ainsi pour une partie du message à
la fois le texte clair et le texte codé, ce qui aide à retrouver la clé. Et
comme c'est la même clé qui sert pour toutes les machines Enigma de l'armée
allemande pour un jour donné, une erreur de protocole dans un message peut
compromettre la sécurité de tous les autres!
Accueil