Contre quel adversaire luttaient-ils? La machine Enigma
(voir aussi l'article
en Allemand, très riche en détails et
illustrations) a été brevetée par
l'ingénieur
électricien Arthur
Scherbius
en
1918; son idée, plutôt en avance sur son temps,
était de la vendre aux banques et aux
sociétés de
commerce, pour sécuriser leurs transactions. Mais son
succès fut assuré par l'armée
allemande à
partir de 1925, quand celle-ci réalisa,
avec dix années de retard, comment la saisie de ses livres
de code lors du naufrage de son croiseur Magdeburg,
en 1914,
avait
donné à l'Angleterre un avantage
décisif dans la guerre maritime. Le génie de sa
conception était d'allier une efficacité
redoutable, une
grande simplicité d'utilisation, une robustesse "tout
terrain",
et une compacité facilitant transport et mise
en œuvre.
De surcroît, la même machine code et décode, avec le même mode d'emploi. Un avantage évident pour les opérateurs... mais que les déchiffreurs allaient aussi exploiter comme une faiblesse du système!
Utilisation:
on tape, sur son clavier de machine à écrire, le
texte du
message à coder. Pour chaque lettre frappée, une
ampoule
s'allume, sur l'une des rangées derrière le
clavier,
désignant la lettre correspondante du message
codé; un
deuxième opérateur, le
télégraphiste,
expédie le message ainsi transformé.
Principe du brouillage: il se fait en deux temps. 1.
Le
caractère passe par un tableau
d'échanges: situé
à l'avant de la machine, il comporte 26 fiches-jacks,
chacune
correspondant à une lettre. On branche 10 cables reliant 2
à 2 certaines d'entres elles; ainsi 20 lettres sont
échangées, et 6 laissées fixes, selon
un choix
entièrement paramétrable, changé
chaque jour en
opération militaire. Rien d'extraordinaire: c'est une substitution,
procédé au moins aussi vieux que le... Kama-Sutra,
qui le recommande aux femmes pour leurs messages secrets. Ce
prétraittement n'est là que pour augmenter le
nombre
total de combinaisons possibles et compliquer le travail du
cryptanalyste; à lui seul, il ne résisterait pas
à
une cryptanalyse
statistique, c'est à dire exploitant la fréquence
des caractères dans une langue
donnée.)
2. La pièce maîtresse du disposif est l'ensemble de rotors de la machine; d'ailleurs, au tout début, il n'y avait que lui: le tableau précédent est un ajout pour complexifier le système. Chaque rotor a 26 positions -une par lettre- et un câblage interne propre échangeant les lettres. En enchaînant 3 rotors, on obtient 26 x 26 x 26 = 17576 possibilités différentes de codage. Pour augmenter encore ce nombre, ces trois rotors étaient choisis parmi 5; ce qui multiplie le nombre des possibilités par 5x4x3 = 60 (5 choix possibles pour le premier, 4 poour le second... car l'ordre importe). On comprend désormais que les 4 rotors (choisis, cette fois, parmi 6) de la marine augmentaient encore ce nombre, afin d'obtenir une sécurité renforcée: l'attaque des convois par des sous-marins épars se regroupant "en meute" nécessitait un volume relativement important de communications entre eux, donc une protection supplémentaire.
Ce groupe de rotors est complété par un réflecteur, qui renvoie le courant à travers les rotors; pièce essentielle pour que le même réglage des rotors permette à la fois de coder et décoder. Cela assurait la simplicité du processus, mais d'un autre côté engendrait une petite faiblesse: entre le message en clair et le crypté, les lettres étaient échangées par paires. Une conséquence était qu'aucune lettre ne restait inchangée. 3. Jusqu'ici, rien d'extraordinaire: on n'a fait qu'employer un alphabet de substitution, avec beaucoup d'alphabets possibles(chiffrage monoalphabétique). Mais cela ne servirait à rien contre l'attaque statistique. C'est le moment de se remémorer les cliquets sur le rotor: à chaque lettre frappée, le premier rotor avance d'une lettre, grâce à une ancre et un clquet. Le deuxième rotor ne bougera d'un cran qu'au bout d'un tour complet du premier, etc.... Ainsi, une même lettre donnée sera codée de façon différente dans ses occurences successives: le système fonctionne avec, non pas un seul alphabet de substitution (comme cela aurait été le cas en l'absence de rotation), mais plusieurs, en sautant de l'un à l'autre, en quelque sorte: on dit que le chiffrage est polyalphabétique. Mise en œuvre: Pour savoir quel câblage et quelle position de rotors adopter, on avait recours à un "carnet de codes", qui définissait les réglages pour chaque jour. Mais ce premier réglage ne servait qu'à transmettre en crypté une nouvelle position des rotors, utilisée pour un message et un seul, qui suivait. De cette façon, deux messages distincts étaient codés différemment, ce qui défiait la cryptanalyse: en effet, plus un analyste dispose de messages codés avec la même clé, plus il a de chances de percer le mystère. Mais, sauf bêtise ou négligence -il y en eut quelques unes, et les alliés surent les exploiter- la masse des messages radios interceptés (ce qui était banal: une fois émises, les ondes sont "à tout le monde", comme pour la diffusion de musique!) ne donnait pas de renseignement sur une position des rotors toujours changeante. À l'arrivée, avec les codes du jour, accordés avec ceux de l'émetteur par conséquent, on déchiffrait les 3 lettres donnant le positionnement des rotors (celles qu'il fallait apercevoir à travers la fenêtre de leur couvercle) ; on positionnait ainsi les rotors , et grâce à la conception "symétrique" de la machine, le message crypté redevenait clair.
(National Museum of Computing,
Bletchley, GB)
|
Source: Milestone Dedication in Warsaw, Poland, August 5, 2014. (IEEE) |