Enigma
Cet article est devenu obsolète, de par son contenu ou sa forme, il est donc archivé.
Enigma se présentait sous la forme d’une machine à écrire portable. De dimensions modestes, elle rentrait dans une valise. Cette machine fonctionnait avec une pile de 9 volts. Elle était composée d’un clavier typographique de 26 touches, au-dessus duquel se trouvait un tableau de 26 ampoules correspondant aux 26 lettres de l’alphabet.
Pour chiffrer ses messages, la Marine de guerre allemande introduisit les Enigma en 1926 ; l’Armée de Terre le fit deux ans plus tard.
La machine Enigma était à même de transformer chaque phrase du message d’origine en plus de 1016 séquences de lettres différentes.
D’ordinaire, deux personnes assuraient le fonctionnement de la machine : tandis que l’une tapait les lettres du message en clair sur le clavier, l’autre notait les lettres du message chiffré, dont les ampoules s’éclairaient l’une après l’autre sur le tableau.
La restitution d’un message chiffré en message clair opérait au moyen d’une clé. Dans le cas d’Enigma, cette clé indiquait le réglage de départ des mécanismes de la machine émettrice. Puisque le codage était réversible, seule la connaissance de la configuration initiale des rotors, du réflecteur, du câblage et du tableau de connexions de l’Enigma, permettait d’obtenir le message clair en tapant les lettres de la séquence codée.
Les premiers vainqueurs de l’Enigma
Les cryptologues Marian Rejewski, Jerzy Rózycki et Henryk Zygalski travaillaient depuis 1929 pour l’Etat-major Général de Pologne. En décembre 1932, Rejewski parvint à reconstituer les mécanismes de l’Enigma, en utilisant la théorie des permutations. Dès 1934, les cryptologues polonais furent à même de déchiffrer couramment la correspondance allemande. Immédiatement avant la guerre, entre le 24 et le 26 juillet 1939, les Polonais remirent aux Alliés deux reconstitutions de la machine Enigma (l’une pour les Français, l’autre pour les Anglais), ainsi que l’ensemble de leurs découvertes concernant le décryptage.
Marian Rejewski (1905-1980)
Ce mathématicien n’eut pas conscience, d’abord, que sa découverte allait contribuer à précipiter la fin du Troisième Reich. Il est le seul des trois grands cryptologues polonais à être rentré en Pologne après la fin de la guerre. Il y retrouva sa femme et ses deux enfants.
Jerzy Rózycki (1909-1942)
Travailla pendant la guerre dans des centres secrets de cryptologie en France et en Algérie. Séparé de sa femme et de son enfant de quelques mois, lors du bombardement de Varsovie, Jerzy Rózycki périt le 12 janvier 1942 dans le naufrage du bateau « Lamoricière » au large de l’Angleterre.
Henryk Zygalski (1907-1978)
Mathématicien et pianiste amateur. Après la guerre, il demeura en Grande-Bretagne, où il travailla dans un collège polonais. Il finit ses jours à Plymouth.
Le cœur de l’Enigma était constitué de trois rotors de chiffrement, positionnés sur un axe commun. Chacun des rotors avait la forme d’un cylindre de métal, avec les 26 lettres de l’alphabet gravées sur sa circonférence ; il était en outre muni d’un anneau en ébonite, possédant d’un côté des plots électriques fixes et, de l’autre, des plots à ressorts. Le cylindre pouvait être positionné librement par rapport à l’anneau. Les rotors pouvaient être installés sur l’axe en configurations différentes, chacun effectuant ses rotations indépendamment des deux autres.
En quoi consistait le processus du chiffrement ? À chaque fois que l’on pressait une lettre, le rotor droit tournait d’un cran (1/26e de sa circonférence). Les deux autres rotors étaient aussi mis en mouvement : la clé décidait de combien de crans chacun devait tourner. En déterminant le positionnement des rotors et le mode des rotations, la clé indiquait la lettre codée qui correspondrait à la touche enfoncée.
Le système des rotors était encore complété par le réflecteur. Après être passé par le réflecteur, le signal électrique traversait les rotors en sens inverse (la lettre à coder était ainsi envoyée une nouvelle fois à travers les trois rotors, de sorte qu’elle subissait six transformations).
Par ailleurs, la séquence des lettres pouvait être modifiée par le tableau de connexions, qui permutait les lettres connectées deux à deux.
Le réflecteur assurait la réversibilité du chiffrement, si bien que la même machine pouvait servir à coder et à décoder le message. La connaissance de la clé permettait d’inverser le processus du chiffrement ; la séquence de lettres apparemment insensée restituait le message d’origine.
Ce fut toutefois ce même réflecteur qui s’avéra pernicieux pour la sécurité du système : car par exemple, jamais une lettre du message initial ne fut codée par la même lettre (un « e » ne fut jamais codé « e », etc.). Cette régularité facilita la rupture du code.
Le décryptage a été aussi facilité par le fait que les chiffreurs devaient répéter une série de lettres deux fois en début de message.
Une permutation est une fonction mathématique qui opère d’un ensemble quelconque dans le même ensemble, et qui est bijective, c’est-à-dire que les images respectives, par une permutation, de deux objets différents, ne peuvent pas être identiques. Par une permutation, des objets, symboles ou autres, sont échangés entre eux.
La théorie des permutations est sous-jacente à la théorie des groupes, qui propose des résultats de base pour n’importe quelle opération mathématique associée à un ensemble sur lequel elle fonctionne, pourvu que cette opération vérifie certaines propriétés. L’opération qui nous intéresse ici est la composition, qui opère sur l’ensemble des permutations possibles d’un ensemble donné, ici l’alphabet de 26 lettres.
Chaque partie de la machine Enigma opère une permutation. La lettre obtenue est donc l’image, par la permutation qui est la composition de ces différentes permutations, de la lettre tapée. Du fait en particulier de la rotation des rotors, les permutations, et donc leur composition, sont différentes pour la prochaine lettre tapée.
Connaissant le fait que les chiffreurs répétaient deux fois en début de message une série de 3 lettres, Marian Rejewski a pu établir, pour chaque message intercepté dans une journée, un lien entre deux lettres (la 1e et la 4e par exemple) qui correspondaient à la même lettre de départ (cette lettre elle-même restant inconnue). L’ensemble des paires de 1e et 4elettres des messages d’une journée forment une permutation, qui est la composition des deux permutations, inconnues, ayant donné pour résultat chacune des séries de lettres. Il en va de même pour la 2e et la 5e, ainsi que pour la 3e et la 6e lettres. Marian Rejewski a ainsi obtenu, pour chaque jour, 3 permutations des 26 lettres.
Cherchant à classifier les permutations obtenues, il a alors étudié les chaînes présentes dans ces permutations, en notant la longueur de chacune de ces chaînes.
Par exemple, considérant la permutation
ABCDEFGHIJKLMNOPQRSTUVWXYZ
FQHPLWOGBMVRXUYCZITNJEASDK
on peut noter que le A correspond avec le F, puis le F avec le W, puis le W avec le A, ce qui constitue la chaîne AFWA. De même, on obtient les chaînes BQZKVELRIB, CHGOYDPC et JMXSTNUJ. Cette permutation comporte donc une chaîne de 3 liens, deux de 7 liens et une de 9 liens. (Cet exemple est emprunté à Simon Singh, Histoire des codes secrets.)
Cette astuce a permis à Marian Rejewski de ne pas tenir compte du tableau des connexions, car il a pu montrer que le nombre de chaînes et leur longueur n’étaient pas modifiés par les échanges effectués au niveau de ce tableau.
À l’aide d’une réplique de la machine Enigma, il a alors pu faire établir un répertoire des permutations induites par chacune des positions de départ possibles des rotors, soit 263x6=105456 possibilités.
Une fois ce répertoire établi, il suffisait de noter chaque jour le nombre et la longueur des chaînes présentes dans les permutations déduites des messages interceptés, puis de trouver dans le répertoire la ou les clés correspondant à ces caractéristiques.
Il restait alors encore à deviner les connexions du tableau à partir du message partiellement décodé.
C’est sur la base de ces documents qu’ont été construites les machines de déchiffrement du Bletchley Park. Dans ce centre gigantesque de décryptage travaillaient entre autres Gordon Welchman et le génie des mathématiques Alan Turing, que les cryptologues polonais rencontrèrent en 1940.
Les machines de déchiffrement mises au point par Turing, appelées aussi « Bombes de Turing », en mécanisant le processus de déchiffrement, l’accéléraient considérablement. Les Allemands perfectionnèrent presque sans discontinuer leurs machines Enigma, mais les Anglais firent fabriquer les « Bombes » en série et réussirent ainsi à faire du décryptage des messages codés une véritable industrie.
Si les Alliés n’avaient pas été capables de décrypter les messages Enigma à la veille de la Bataille d’Angleterre et de la Bataille de l’Atlantique, ils auraient essuyé un échec fatal. En effet, Hitler avait coutume de diriger en personne les opérations de guerre : il le faisait au moyen de la radio, qui transmettait ses ordres chiffrés par Enigma. C’est donc la connaissance du code de l’Enigma qui décida du résultat de la Seconde Guerre Mondiale.
Un secret sous très haute surveillance
Après la guerre, les messages Enigma eurent encore longtemps la réputation d’être indéchiffrables, si bien que les machines furent achetées par des gouvernements et de grandes sociétés industrielles. Le fait que le code de l’Enigma avait été rompu fut longtemps gardé secret. Ce ne fut qu’en 1973 qu’un Français, Gustave Bertrand, publia l’histoire du déchiffrement du code de l’Enigma par les Alliés, en soulignant le rôle clé des Polonais dans cet exploit.
Chiffrer un message avec Enigma
Pour accéder à l’applet Java, autorisez les applets du domaine https://interstices.info. Si votre navigateur n’accepte plus le plug-in Java, mais que Java est installé sur votre ordinateur, vous pouvez télécharger le fichier JNLP, enregistrez-le avant de l’ouvrir avec Java Web Start.
Merci à Katarzyna Wasilewska pour l’aide qu’elle a apportée à la rédaction de ce document.
Ce document est adapté d’un dépliant édité par l’Ambassade de Pologne à Paris, à l’occasion de la présentation d’une machine Enigma lors de la Fête de la Science 2004, avec son aimable autorisation.
Sur le web, on trouve de nombreux sites consacrés à Enigma, la plupart en anglais.
Voir en particulier :
- La page d’Andy Carlson qui, en complément de son applet, résume l’histoire d’Enigma et propose quelques références ;
- Le site The German Enigma Cipher Machine – History of Solving, qui donne des informations détaillées et recense de nombreux liens ;
- Un article de référence sur le décryptage d’Enigma : celui de Marian Rejewski, An Application of the Theory of Permutations in Breaking the Enigma Cipher, paru en 1980.
En français, on pourra lire :
- Enigma et la Seconde guerre mondiale, dossier réalisé dans le cadre d’un TPE par deux lycéens, Julien Milli et Guillaume Munch, qui détaille en particulier les fondements mathématiques du décryptage d’Enigma.
- Un dossier du site BibM@th : La cryptographie expliquée dont une partie concerne Enigma, son fonctionnement et son histoire ;
- Enigma : sur les traces de Turing, de Guillaume Poupard, plutôt destiné aux étudiants en informatique, qui détaille le fonctionnement d’Enigma et propose une méthode originale de cryptanalyse.
Vous pouvez lire aussi l’ouvrage de Simon Singh, « Histoire des codes secrets », Livre de Poche, 2001.
Newsletter
Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité
Niveau de lecture
Aidez-nous à évaluer le niveau de lecture de ce document.
Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !
Arkadiusz Orlowski