En 1923, l'ingénieur allemand
Arthur Scherbius breveta une machine conçue pour faciliter les communications sécurisées. Son nom, Enigma, est devenu synonyme de secret militaire et évoque des images de laboratoires souterrains et de machines à structures compliquées. Avec toute sa sophistication, Enigma n'est en fait qu'une version améliorée du disque d'Alberti. En raison de sa relative facilité d'utilisation et de la complexité du chiffrement qu'elle permet, Enigma fut choisie par le gouvernement allemand comme base de codage d'une bonne partie de son trafic de communication militaire pendant la
Seconde Guerre mondiale. Son décryptage devint ainsi une priorité absolue des gouvernements qui affrontèrent
l'Allemagne nazie. L'histoire de son décryptage est un récit fascinant ou interviennent principalement les services de renseignements de Pologne et du Royaume-Uni. Parmi ses héros, un mathématicien génial,
Alan Turing, est l'homme que l'on considère comme le père de l'informatique moderne. L'aventure entreprise pour casser le code a eu pour résultat, en outre, le premier ordinateur de l'histoire.
La machine Enigma était un engin électronique très semblable à une machine a écrire. Elle était constituée d'un clavier et d'un tableau lumineux de 26 lettres, de trois rotors, montés sur des axes, avec 26 position possibles, et d'un pupitre de connexion installé entre le clavier et le premier rotor, dont le rôle était de réaliser un premier échange de lettre en fonction de la manière dont on positionnait les connexions. Le processus physique de chiffrement était relativement simple. D'abord, l'émetteur disposait les connexions et les rotors dans la position de sortie spécifiée par le livre des clés qui étaient valides à ce moment-là. Ensuite, il tapait sur le clavier la première lettre du message en clair et la machine, de manière automatique, générait une autre lettre qui apparaissait sur le tableau lumineux: la première lettre du message chiffré. Ensuite, le premier rotor effectuait une rotation qui le plaçait dans l'une de ses 26 positions possibles. La nouvelle position du rotor comportait en elle-même un nouveau chiffrement des caractères et l'émetteur introduisait alors la deuxième lettre et ainsi de suite.
|
schéma du fonctionnement d'Enigma
réduit à 6 lettres. |
Pour décoder le message, il suffisait d'introduire les caractères chiffrés dans une autre machine Enigma, à condition que les paramètres de sortie de cette dernière soient égaux à ceux de la machine avec laquelle avait été chiffré le message.
Comme on l'a déjà dit, les rotors de l'Enigma avaient 26 positions, une pour chaque lettre de l'alphabet. Ainsi, un rotor pouvait accomplir 26 chiffres distincts. La position initiale du rotor est, par conséquent, la clé. Pour augmenter le nombre de clés possibles, l'Enigma pouvait comporter jusqu'à trois rotors, connectés entre eux mécaniquement. Ainsi, quand le premier rotor faisait un tour complet, le suivant en commençait un autre, et ainsi de suite jusqu'a ce que soient effectuées les rotations complètes des trois rotors, soit un total de
26 X 26 X 26 = 17576 chiffres possibles. En outre, la conception de
Scherbius permettait d'intervertir l'ordre des rotors; ce qui augmentait encore le nombre de clés.En plus des trois rotors, Enigma disposait d'un pupitre de connexion, situé entre le premier rotor et le clavier. Ce pupitre de connexion permettait d'intervertir des paires de lettre avant la connexion au rotor, ce qui ajoutait un nombre considérable de clés supplémentaires au chiffrement.
La machine standard disposait de 6 cordons de connexions, avec lesquelles on pouvait intervertir jusqu'à six paire de lettres.
Par conséquent, le nombre total de clés possibles qu'offre la machine Enigma de trois rotors de 26 lettres et un pupitre de connexions de six fiches est le suivant :
- En ce qui concerne les rotation des rotors, 26^3=26 X 26 X 26 = 17576 combinaisons.
- De même, les trois rotors(1,2,3) pouvaient permuter entre eux et occuper les positions 1-2-3, 1-3-2, 2-1-3, 2-3-1, 3-1-2, 3-2-1; ce qui donne, dans ce cas, six combinaisons supplémentaires possible liées a l'ordre des rotors.
- Pour les six fiches du pupitre de connexion; 100 391 791 500 combinaisons, à elles seules.
Le nombre total de clés s'obtient en multipliant les différentes combinaisons énumérées :
6 X 17576 X 100 391 791 500 = 10 586 916 764 424 000. Par conséquent, les machines Enigma pouvaient chiffrer un texte en utilisant plus de dix mille billions de combinaisons différentes. Nul doute que le Reich devait être tranquille en confiant ses communications de plus haut niveau à la machine de Scherbius.
Cédric Villani, Le monde est mathématique,
n°2: Codage et cryptographie, mars 2013.