Enigma (machine)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Enigma.
Logo
Enigma, une machine de chiffrement électromécanique à cylindres ; la version ci-dessus est un modèle militaire suisse, avec une console de lecture supplémentaire
Tableau de permutations
Machine Enigma modèle 1940.

Enigma est une machine électromécanique portable d'origine allemande (Die Chiffriermaschine Enigma) faisant appel à des rotors montés sur cylindres pour le chiffrement et le déchiffrement de l'information. Plus précisément, Enigma est une famille de machines, car il en a existé de nombreuses et subtiles variantes.

Enigma fut commercialisée en Europe et dans le reste du monde dès le début des années 1920. Elle fut aussi adaptée pour une utilisation par les services militaires et diplomatiques de nombreuses nations.

Son utilisation la plus célèbre fut celle de l'Allemagne nazie et de ses alliés, avant et pendant la Seconde Guerre mondiale, où elle était réputée inviolable par ses utilisateurs. Cependant, les cryptanalystes britanniques ont pu décrypter un nombre intéressant de messages chiffrés à l'aide d'Enigma, à la suite du travail des pionniers polonais Marian Rejewski, Jerzy Rozycki et Henryk Zygalski au bureau du chiffre du renseignement militaire polonais Biuro Szyfrów, près de sept ans avant la guerre, ainsi que du Britannique Alan Turing.

En effet, les cryptologues britanniques (reprenant les travaux commencés par leurs homologues polonais, transmis à l'ambassade de Grande-Bretagne deux jours avant l'invasion par l'Allemagne, dont la Pologne avait été ainsi informée) furent, dans des circonstances favorables, à certaines occasions, et pendant des intervalles de temps plus ou moins longs, capables de déchiffrer les messages protégés par ces machines, au moyen de « Bombes électromécaniques » (voir Cryptanalyse d'Enigma). Les informations obtenues grâce à cette source leur donnèrent un certain avantage dans la poursuite de la guerre. Il a été estimé que le conflit en Europe a été écourté de deux ans[réf. nécessaire] grâce à la cryptanalyse des chiffres et des codes allemands, dans lequel le déchiffrement de messages chiffrés à l'aide d'Enigma a joué une part importante (voir Ultra). Malgré les qualités intrinsèques de la machine, les fautes des chiffreurs Enigma, ainsi que le manque d'imagination du commandement allemand, ont aussi joué un rôle important, en diminuant la complexité du déchiffrement des messages.

Enigma chiffre les informations en faisant passer un courant électrique à travers une série de composants. Ce courant est transmis en pressant une lettre sur le clavier. Après sa traversée dans un réseau complexe de fils, une lampe indique la lettre chiffrée. Le premier composant est une série de roues adjacentes, appelées « rotors », qui contiennent les fils électriques utilisés pour chiffrer le message. Les rotors tournent, variant la configuration complexe du réseau chaque fois qu'une lettre est tapée. Enigma utilise habituellement une autre roue, nommée « réflecteur », et un composant, appelé « tableau de connexion », permettant de complexifier encore plus le processus de chiffrement.

Description[modifier | modifier le code]

Le clavier d'Enigma, capot fermé (gauche) et ouvert (droite), révélant les rotors et le compartiment de la batterie.

Enigma est une machine électromécanique, ce qui signifie qu'elle utilise une combinaison de parties mécaniques et électriques. La partie mécanique est composée d'un clavier, d'un jeu de disques rotatifs adjacents appelés « rotors » arrangés le long d'un axe, et d'un mécanisme entraînant en rotation un ou plusieurs des rotors chaque fois qu'une touche est pressée. Le mécanisme exact varie, mais la forme la plus commune est celle où le rotor du côté droit tourne chaque fois qu'une touche est pressée et où régulièrement les rotors voisins sont déplacés, de manière similaire au fonctionnement d'un odomètre. Le mouvement continu des rotors permet l'obtention de transformations cryptographiques différentes à chaque pression sur une touche. La partie électrique de l'appareil est constituée par une pile reliant les touches du clavier à des lampes. Lorsque l'on appuie sur l'une des touches, l'une des lampes s'allume. Par exemple, lorsqu'un message commence par la séquence ANX…, l'opérateur presse la touche A et la lampe Z pourrait s'allumer ; dans ce cas, Z est la première lettre du texte chiffré. L'opérateur procède alors au chiffrage de la lettre N de la même manière, et ainsi de suite pour les lettres suivantes.

Le courant part de la batterie et traverse l'interrupteur à deux positions contrôlées par la touche pressée. Il arrive alors au « pupitre de connexions ». Ce pupitre, situé sur la face avant de la machine, permet à l'utilisateur de facilement modifier les connexions entre le clavier et le disque d'entrée, afin de modifier l'encodage des touches. Le courant se dirige ensuite vers le disque d'entrée. Il parcourt alors l'assemblage des rotors, suivant la position de chacun de ceux-ci. Il passe ainsi de rotor en rotor, jusqu'à atteindre le réflecteur, qui renvoie le signal jusqu'au disque d'entrée, mais par un autre chemin que celui à l'aller (fait unique qui distingue la famille des machines Enigma des autres machines à rotors de l'époque qui ne disposaient pas de réflecteur). Le courant passe enfin par un autre des interrupteurs à deux positions, et allume l'une des lampes, correspondant à l'encodage de la touche pressée.

Le livre contenant les codes de configurations initiales.

Pour déchiffrer un message, il faut soit disposer d'une machine Enigma absolument identique à celle qui a été utilisée par l'ennemi pour le chiffrement de ce message, et que cette machine soit réglée de la même façon, soit avoir une connaissance approfondie du fonctionnement extraordinairement complexe de cette machine, ce dont peu de gens sont capables, même à Bletchley Park. Par contre, une fois la clef quotidienne découverte, tous les messages échangés ce jour-là par le réseau concerné peuvent enfin être très rapidement décryptés.

Les rotors[modifier | modifier le code]

Les rotors (aussi appelés roues ou tamboursWalzen en allemand) forment le cœur de la machine Enigma. D'un diamètre d'environ 10 cm, chaque rotor est un disque fabriqué à partir de caoutchouc dur ou de bakélite. Sur une face sont disposés en cercle des contacts électriques à aiguilles, donc équipés de ressorts. Sur l'autre face, le même nombre de contacts plats sont disposés. Les contacts plats et à aiguilles représentent l'alphabet — généralement les 26 lettres (on fera cette supposition dans la suite de cette description, même si parfois des chiffres pouvaient être utilisés suivant le même principe).

Une fois les rotors assemblés, les contacts à aiguilles d'un rotor se positionnent en face des contacts plats du rotor voisin, formant ainsi la connexion électrique. À l'intérieur du rotor, un ensemble de 26 câbles électriques assurent les connexions entre les contacts à aiguilles et les contacts plats suivant un schéma compliqué, qui permet le chiffrement des lettres. Par exemple, sur un rotor particulier, le premier contacteur d'une face peut être relié au quatorzième contacteur de la face opposée, le deuxième contacteur relié au vingt-deuxième de l'autre face, et ainsi de suite. D'un rotor à l'autre, les connexions internes ne sont pas les mêmes. La version d'Enigma utilisée par l'armée allemande et le parti national-socialiste possède un jeu de rotors avec des connexions différentes des versions commerciales.

Le rotor utilisé tout seul ne réalise en fait qu'un chiffrement très simple — le chiffrage par substitution. Par exemple, le contact à aiguille correspondant à la lettre E peut être connecté sur la face opposée au contact plat de la lettre T. La complexité de la machine Enigma provient de l'utilisation de plusieurs rotors en série, généralement trois ou quatre, ainsi que le mouvement régulier de ces rotors (à chaque frappe de touche pour le premier). Lorsque 26 lettres ont été pressées, une came entraîne le rotor de la fente suivante et le fait tourner. L'alphabet de substitution est ainsi modifié à chaque pression de touche. Ces deux mécanismes forment un type de chiffrement beaucoup plus performant.

Une fois installé dans la machine, un rotor peut donc être placé à l'une de ses 26 positions. Cela peut être réalisé manuellement par l'opérateur, au moyen de la roue dentée, ou automatiquement lors de la pression d'une touche du clavier. De telle façon que l'opérateur connaisse la position du rotor, chacun d'eux est équipé d'une « roue alphabet », comportant donc les 26 lettres de l'alphabet (ou 26 numéros) ; en fonctionnement, seule l'une d'entre elles peut être vue par une petite fenêtre, indiquant donc à l'opérateur la position exacte de chacun des rotors. Dans les premières machines Enigma, la « roue alphabet » était fixe sur le rotor. Une complication a été ajoutée dans les dernières versions, avec la possibilité de déplacer cette roue par rapport au rotor lui-même. La position de la roue se nomme le Ringstellung (« positionnement de l'anneau »).

Chaque rotor comporte enfin une encoche (parfois plusieurs), assurant le contrôle du mouvement du rotor. Dans les versions militaires de la machine Enigma, cette encoche est située directement sur la « roue alphabet ».

Les machines Enigma de l'armée et de l'aviation allemandes étaient équipées de trois rotors, pour les premières versions. Le 15 décembre 1938, ce nombre fut porté à cinq, dont seulement trois étaient choisis pour être installés dans la machine. Chaque rotor était marqué d'un chiffre romain afin de pouvoir les distinguer : I, II, III, IV et V. Tous n'étaient équipés que d'une seule encoche.

La version de la machine Enigma de la Kriegsmarine (marine de guerre allemande) a toujours été fournie avec plus de rotors que les autres versions. Au départ, six rotors équipaient les machines, puis sept et finalement huit. Les rotors supplémentaires étaient numérotés VI, VII et VIII, et avaient des connexions électriques différentes des autres rotors. Ils étaient en outre équipés de deux encoches, ce qui entraînait donc une fréquence de rotation supérieure. Cette version, « M4 », comptait quatre rotors dans la machine à la place des trois des autres versions. Ceci fut possible sans modifier grandement la machine, en remplaçant simplement le réflecteur d'origine par un autre beaucoup plus fin et en ajoutant un rotor spécial en quatrième position. Ce quatrième rotor pouvait être de deux types : Beta ou Gamma. Il ne tournait cependant jamais automatiquement, mais pouvait être placé manuellement sur l'une de ses 26 positions par l'opérateur.

Grâce à l'interconnexion aléatoire de chaque rotor, la séquence exacte de ces substitutions dépendait de la position initiale des rotors, de leur ordre d'installation, et du choix des rotors (câblage interne). Ces réglages forment la configuration initiale de la machine.

Les versions les plus courantes d'Enigma sont dites symétriques dans le sens que le chiffrement et le déchiffrement de l'information fonctionne de la même manière. En effet, si l'on tape le texte chiffré dans Enigma, la séquence des lampes allumées correspondra au texte en clair. Mais cela ne fonctionne que dans le cas où la machine possède la même configuration initiale que celle qui a chiffré le message

Pour plus de détails sur le câblage des rotors et le réglage de l'anneau élastique ainsi que leurs effets sur le chiffrement, consulter Enigma rotor details.

Mécanisme d'entraînement[modifier | modifier le code]

Afin d'éviter de réaliser un simple chiffrement par substitution monoalphabétique, chaque touche pressée sur le clavier provoque l'entraînement d'au moins un rotor, changeant ainsi la substitution alphabétique utilisée. Cela assure que la substitution est différente pour chaque nouvelle frappe sur le clavier, créant un chiffrement par substitution polyalphabétique.

C'est un mécanisme à base de roue à rochets qui était le plus fréquemment utilisé. À cette roue à 26 dents était associé un fin anneau métallique à encoche, solidaire du rotor. Chaque frappe de touche, via les cliquets, poussait sur la roue de chaque rotor pour la faire avancer d'un cran. Ce sont les anneaux métalliques qui permettaient ou non l'avancée des rotors. Pour qu'un rotor avance, il fallait que l'anneau du rotor à sa gauche présente une encoche alignée avec son cliquet. Le premier rotor n'étant pas bloqué par un anneau, il avançait d'un cran à chaque frappe. L'avancée des autres rotors dépendait du nombre d'encoches : une seule pour les rotors de type I à V, deux pour les rotors de type VI à VIII.

Position des encoches
Rotor Positions Effet
I Q la transition Q vers R provoque l'avancée du rotor suivant
II E la transition E vers F provoque l'avancée du rotor suivant
III V la transition V vers W provoque l'avancée du rotor suivant
IV J la transition J vers K provoque l'avancée du rotor suivant
V Z la transition Z vers A provoque l'avancée du rotor suivant
VI, VII et VIII Z et M une transition Z vers A, ou M vers N, provoque l'avancée du rotor suivant

Si les machines Enigma ne faisaient que cela, le rotor 1 avancerait de 26 crans pour provoquer une avancée du rotor 2, qui lui-même avancerait de 26 crans pour provoquer une avancée du rotor 3. Toutefois, le mécanisme incluait également « une double avancée ». L'alignement du cliquet avec une encoche lui permet de pousser sur la roue à rochet de son rotor, mais elle lui permet aussi de pousser sur l'encoche de l'anneau solidaire du précédent rotor. Ce sont donc à la fois le rotor du cliquet et le rotor de l'anneau qui avancent d'un cran. Pour une machine à trois rotors, seul le second est affecté par cette double avancée (le premier rotor avance à chaque tour de toute façon). C'est cela qui fait dévier l'entraînement des rotors de l'Enigma de celui d'un odomètre.

Avec trois rotors et une seule encoche pour les rotors 1 et 2, une Enigma a une période de 26×25×26 = 16 900 (et non pas 26×26×26 à cause de la double avancée). Historiquement, les messages étaient limités à quelques centaines de lettres évitant toute chance de répétition de combinaisons des rotors, empêchant par là-même les cryptanalystes d'accéder à des indices importants.

La frappe d'une touche provoquait d'abord une avancée sur les rotors et ensuite seulement une connexion électrique.

Disque d'entrée[modifier | modifier le code]

Le disque d'entrée (Eintrittswalze en Allemand) relie le tableau de connexions (ou le clavier des modèles sans tableau de connexions) à l'ensemble des rotors. Bien que le câblage du disque d'entrée soit d'une très faible importance pour la sécurité, il posa des difficultés au cryptanalyste polonais Marian Rejewski lors du calcul du câblage des rotors. Alors que la version commerciale d'Enigma reliait les touches dans leur ordre sur le clavier (QWERTY), les versions militaires les reliaient dans l'ordre alphabétique (ABCDEF). Rejewski dut construire quelques hypothèses avant de comprendre la modification et de résoudre les équations.

Réflecteur[modifier | modifier le code]

À l'exception des machines Enigma modèles A et B, le dernier rotor était suivi d'un réflecteur (Umkehrwalze en allemand, signifiant rotor d'inversion), une caractéristique des machines Enigma par rapport aux autres machines à rotors de l'époque. Le réflecteur connecte les sorties du dernier rotor par paire, redirigeant le courant dans les rotors selon un chemin différent. C'est ce réflecteur qui garantit le caractère involutif de l'Enigma : chiffrer est identique à déchiffrer, comme pour le chiffrement par masque jetable. Cependant, le réflecteur empêche également l'Enigma de substituer une lettre à elle-même dans le texte chiffré. C'est une faille majeure qui a été utilisée par les cryptanalystes.

Dans la version commerciale qu'est le modèle C, le réflecteur pouvait être inséré dans deux positions. Dans le modèle D, il pouvait l'être dans 26 positions, mais restait fixe. Dans la version utilisée par l'Abwehr, il était entrainé par un mécanisme semblable à celui des rotors.

Dans les versions pour l'Armée de terre et Armée de l'air, le réflecteur était fixe. Le réflecteur existait en quatre versions. La version d'origine, dite A, fut remplacée par l' Umkehrwalze B le 1er novembre 1937. Une troisième version, l’Umkehrwalze C, fut brièvement utilisée en 1940, peut-être par erreur, et fut cassée par la Hutte 6 de Bletchley Park. La quatrième version, détectée pour la première fois le 2 janvier 1944, avait un réflecteur reconfigurable dénommé l’Umkehrwalze D permettant à un opérateur de modifier les connexions pour la mise à la clef.

Analyse mathématique du chiffrement[modifier | modifier le code]

Le chiffrement de chaque lettre par Enigma peut être considéré mathématiquement comme un produit de permutations. Considérons en effet une machine Enigma de l'armée de l'Air/ Marine allemande. Soit P la transformation réalisée par le clavier, U le réflecteur, et G, M et D les actions des rotors de gauche, du milieu et de droite respectivement. Le codage C s'écrit alors :

C = PDMGUG^{-1}M^{-1}D^{-1}P^{-1}~

Après chaque action sur une lettre du clavier, le rotor tourne, changeant ainsi la transformation cryptographique. Par exemple, si le rotor de droite D tourne de i positions, le chiffrement devient \rho^iD\rho^{-i}, avec \rho désignant la permutation circulaire permettant de passer de A à B, de B à C et ainsi de suite. De même, le rotor du milieu et celui de gauche peuvent être décrit par j et k rotations de M et G. Le chiffrement peut alors s'écrire de la façon suivante :

C = P(\rho^iD\rho^{-i})(\rho^{j}M\rho^{-j})(\rho^{k}G\rho^{-k})U(\rho^kG^{-1}\rho^{-k})(\rho^{j}M^{-1}\rho^{-j})(\rho^{i}D^{-1}\rho^{-i})P^{-1}~

Mise en œuvre[modifier | modifier le code]

La mise en œuvre est effectuée par deux chiffreurs. La procédure est entièrement manuelle. Dans la Heer (armée de terre) et la Luftwaffe, jusque fin avril 1940 (à partir du 1er mai 1940, la clef brute n'est plus entrée qu'une fois), les choses se passent comme suit[1].

Préparation de la machine[modifier | modifier le code]

Chaque mois de l'année, dans chaque réseau, de nouvelles instructions de mise en œuvre spécifient des modifications (quotidiennes ou plus fréquentes) de plusieurs réglages. Les réglages internes sont les trois premiers pas de la procédure :

1 – Ordre des rotors (Walzenlage) : choix et positionnement des trois rotors prescrits par les instructions (ex: I-V-III).

2 – Disposition de la bague (Ringstellung) des rotors gauche, milieu et droit (ex: 06-20-24 affichés FTX) prescrite par les instructions.

3 – Permutations des fiches du tableau de connexions (Steckerverbindungen) (ex : UA PF, etc.) prescrites par les instructions.

Un des chiffreurs dispose la machine en conséquence. La procédure continue avec les réglages externes.

4 – Le premier chiffreur dispose les trois rotors sur la position initiale (Grundstellung) définie par les instructions quotidiennes, ex : JCM (c'est la source du "Herivel Tip" qui réduit les spéculations des cryptanalystes à quelques dizaines de combinaisons).

5 – Le premier chiffreur choisit au hasard un réglage initial de rotors et le frappe deux fois, ex : BGZBGZ. C'est la clef brute du message (et la source des fameuses "cillies").

6 – Le second chiffreur note le résultat affiché par les voyants, l'indicateur ou clef chiffrée (ex : TNUFDQ).

7 – Le premier chiffreur dispose ses rotors sur BGZ puis entre au clavier le texte du message en clair, lettre par lettre ; le second chiffreur note les lettres signalées par l'allumage des voyants.

Formatage et émission du message[modifier | modifier le code]

Le message est formaté de la façon suivante, avant émission :

A – Préambule, en clair, avant le message proprement dit : indicatif radio, groupe date-heure et nombre de lettres du message, plus le Grundstellung (ex : JCM)

B – Groupe de cinq lettres comprenant deux lettres-tampons (Füllbuchstaben) suivies du discriminant (Kenngruppe), ex: JEU, qui distingue les différents réseaux de trafic Enigma et identifie le dossier d'instructions utilisé pour la mise en position initiale (Grundstellung) journalière. Les Britanniques désignent ces réseaux par des mots-codes : exemples Red (trafic général de la Luftwaffe), Yellow (liaisons Heer/Luftwaffe mais en Norvège seulement), etc.

C – Les six lettres de l'indicateur ou clef chiffrée (ex : TNUFDQ).

D – Le message chiffré, en groupes de cinq lettres. Au maximum, 50 groupes de 5 lettres. Les messages plus longs sont découpés en deux ou plusieurs messages transmis séparément. Il existe des manuels expliquant comment préparer des messages les plus courts possible.

Les états-majors allemands multiplient les astuces, certains mots ou expressions sont codés, les alphabets et les nombres sont manipulés, les coordonnées topographiques sont transposées. Il arrive que les textes une fois correctement déchiffrés par les services alliés ne soient qu'une suite de lettres sans aucun sens pour qui ne dispose pas des documents de référence, etc. La Wehrmacht emploie un jargon de métier et des abréviations mal connus des spécialistes alliés (les fameux cribs tiennent de la devinette). La situation est aggravée par les erreurs de manipulation et de lecture du morse, la mauvaise qualité de réception des transmissions, l'état de fatigue des personnes impliquées, etc.

Le message chiffré et formatté est alors émis en morse au moyen d'un poste radio.

Réception et déchiffrement du message[modifier | modifier le code]

À l'autre bout du réseau, le destinataire capte le message au moyen d'un autre poste radio. Le message est noté noir sur blanc. Il est remis à un chiffreur dont la machine Enigma est déjà réglée en fonction des mêmes instructions quotidiennes (1-2-3) que l'autorité émettrice. Le chiffreur dispose ses rotors sur JCM (4), frappe TNUFDQ (6) et note le résultat, BGZBGZ (5). Ensuite, le chiffreur dispose ses rotors sur BGZ. Le texte est déchiffré lettre par lettre, le second chiffreur note à mesure.

Cette procédure ne s'applique qu'à l'Enigma standard de la Heer (armée de terre) et de la Luftwaffe. La Kriegsmarine emploie des variantes plus complexes, avec la version M4, de la machine Enigma, mise en service le 1er février 1942. Pendant onze mois, les alliés ne réussirent pas à décrypter ces messages[2]. Les chemins de fer, la police et la poste utilisent des modèles plus anciens. L'Abwehr met en œuvre des machines plus évoluées, mais sans tableau de connexions.

Interception par les Alliés[modifier | modifier le code]

Les stations d'écoute alliées enregistrent les messages, tout en relevant la fréquence et l'angle d'arrivée de l'émission, l'heure de réception est notée ainsi que tous les paramètres associés. Les fréquences les plus importantes sont doublement surveillées, afin d'éviter de manquer des émissions et d'avoir confirmation éventuelle de textes douteux. Certains opérateurs alliés reconnaissent les opérateurs radio allemands à leur touche, ce qui aide à ré-identifier les unités ennemies qui ont changé d'indicatif radio ou de fréquence. L'ensemble de ces informations est transmis à Bletchley Park.

La procédure de mise en oeuvre est connue par coeur à BP. Les fautes des chiffreurs allemands sont mises à profit par des cryptanalystes comme John Herivel ou Leslie Yoxall.

Dans la Heer (armée de terre) et la Luftwaffe, les chiffreurs font l'exercice, ils ne sont exemptés ni de corvée, ni de garde, ni de sport, ni de revues ; ils subissent des punitions et des brimades. En campagne, ils sont exposés à la faim, à la soif, à la peur, à l'épuisement et au manque de sommeil. Or la minutieuse procédure de mise en oeuvre est longue et fastidieuse…

Histoire d'Enigma[modifier | modifier le code]

Une machine Enigma à l'œuvre en 1943
Machine Enigma de la 7e division blindée (1941)

Enigma est brevetée et développée par l'ingénieur en électricité allemand Arthur Scherbius à partir de 1918. Il achète cependant en 1927, afin de protéger ses propres brevets, les droits d'une « machine à rotors » développée et brevetée dès 1919 par le chercheur néerlandais Hugo Alexander Koch (en)[3]. Il fonde une société à Berlin qui produit et vend la première version commerciale (Enigma-A) en 1923[2]. Le prix exorbitant de cette machine à l'époque (équivalent à 30 000 euros aujourd'hui) en fit un échec cuisant. Trois autres versions commerciales vont suivre, et l'Enigma-D devient le modèle le plus répandu après son adoption par la Marine allemande en 1926. L'appareil est ensuite repris par l'armée de terre allemande en 1929. À partir de ce moment, son usage est étendu à toutes les forces armées allemandes et une grande partie de la hiérarchie nazie. La Kriegsmarine surnomme Enigma « la machine M ».

Le Deuxième Bureau français, (dont le chargé des chiffres allemands, le capitaine Bertrand), achète en 1932 à Hans-Thilo Schmidt, fonctionnaire du ministère de la Guerre à Berlin, le manuel opérateur Enigma (l'« Enigma de papier ») et une quantité de documents plus tard transmis aux Polonais. Le chiffre Enigma est pénétré dès 1933 par les mathématiciens polonais Marian Rejewski, Jerzy Różycki et Henryk Zygalski qui, cinq ans après, conçoivent des engins électromécaniques, les « bombes »[4].

Dès 1938, le GC&CS, aidé par les apports français et polonais, entre en lice. En de nombreuses occasions, les Allemands renforcent la sécurité d'Enigma. Au prix de mille difficultés, les Britanniques reconstituent les réglages et parviennent petit à petit à décrypter un nombre croissant de messages, malgré de longues périodes de trous noirs. À la fin de la guerre, Rejewski, qui croyait que ses travaux n'avaient servi à rien, fut impressionné.

Pendant la Seconde Guerre mondiale, différentes versions d'Enigma sont utilisées pour les transmissions allemandes (mais aussi celles d'autres puissances de l'Axe) à partir du niveau division et au-dessus. Certains bulletins météos sont chiffrés avec Enigma. Les Espagnols (lors de la guerre civile espagnole) puis les Italiens (pendant la Seconde Guerre mondiale) utilisent une des versions commerciales de la machine, inchangée, pour leurs communications militaires. Cette imprudence bénéficie aux Britanniques. Cela contribue à la victoire britannique face à la flotte italienne au cap Matapan.

La Royal Navy organise plusieurs coups de main contre des chalutiers armés et des navires-météo. Des équipes de prise montent à bord de U-Boote abandonnés par leur équipage. À chaque fois, des manuels et des documents sont capturés. Un exemple : le 9 mai 1941, l'U-110 est pris par les marins du destroyer HMS Bulldog qui ramènent un jeu de tables de bigrammes, le manuel utilisé pour chiffrer les rapports météo et le manuel utilisé pour chiffrer les messages courts.

Il ne suffisait pas de décrypter les signaux de l'ennemi : il fallait aussi qu'il ne se doute de rien, faute de quoi la sécurité de ses transmissions aurait été renforcée. En Méditerranée, les messages allemands et italiens qui annoncent la route et le calendrier des convois de ravitaillement des forces de l'Axe en Tunisie et en Libye sont couramment décryptés par les spécialistes britanniques, mais l'attaque est précédée d'une reconnaissance aérienne qui trouve le convoi « par hasard. »

La machine de codage britannique Typex et plusieurs des machines américaines comme SIGABA, le M-134-C ou le TSEC/KL-7 connu sous le nom de code ADONIS, utilisées par les forces de l'OTAN, fonctionnaient selon des principes analogues à ENIGMA, mais de manière beaucoup plus sûre. La première machine à cylindres chiffrant moderne d'Edward Hebern est considérée comme moins sûre, un fait noté par William F. Friedman lors de son acquisition par le gouvernement américain.

Sécurité[modifier | modifier le code]

Contrairement à la plupart des variantes du chiffrement polyalphabétique, Enigma, à proprement parler, n'a pas de clef. En effet, les rotors produisent un nouvel alphabet de substitution à chaque pression de touche. De plus, on peut complètement changer la séquence de ces alphabets de substitution, en faisant tourner un ou plusieurs des rotors à la main, en changeant l'ordre des rotors, etc. avant de commencer à utiliser Enigma. De manière plus simple, on peut dire qu'Enigma possède une banque de 26 × 26 × 26 = 17 576 alphabets de substitution pour toute combinaison de trois rotors. La séquence d'utilisation de ces alphabets varie selon que l'on met les rotors en position ABC, ou ACB, etc. Et tant que le message ne dépasse pas 17 576 caractères, il n'y a aucune répétition de l'alphabet de substitution. Ces paramètres de réglage sont connus des chiffreurs du destinataire : il s'agit de valeurs très simples, du type numéro de rotors, position de l'anneau et position de départ, qui figurent dans les instructions distribuées à tous les chiffreurs d'un même réseau. Du côté chiffrement, il n'y a plus qu'à entrer la clef brute qui, après chiffrement, donne l'indicateur ou clef chiffrée.

Combinaisons[modifier | modifier le code]

Le principe de la machine Enigma était connu. Ce qui fit son efficacité, c'est la presque infinité des combinaisons possibles des réglages initiaux de la machine et de choix de la clef brute du message.

Le calcul du nombre des combinaisons se décompose en trois parties à analyser : l'arrangement des rotors, l'alphabet des rotors et le tableau de connexions.

  • Les rotors : il y a trois rotors à arranger parmi cinq, soit A^3_5 = \dfrac{5!}{2!}\ = 5 \times 4 \times3  = 60 possibilités.
  • Les alphabets : il y a 26 lettres sur chaque rotor; sachant qu'on utilise trois rotors, cela fait 26 \times 26 \times 26 = 17\,576 possibilités pour arranger trois lettres initialement.
  • Le tableau de connexions : à l'aide de dix câbles, on relie 20 lettres deux-à-deux ; ainsi 20 lettres sont permutées et 6 d'entre elles restent inchangées, le nombre de combinaisons s'écrit donc \dfrac{26!}{6! \times 10! \times 2^{10}} = 150\,738\,274\,937\,250 permutations possibles.

Le nombre total de combinaisons est donc 60 \times 17\,576 \times 150\,738\,274\,937\,250 = 158\,962\,555\,217\,826\,360\,000 \approx 1,59 \times 10^{20}.

Exemple de messages Enigma originaux[modifier | modifier le code]

Les numéros de message ont été ajoutés par les stations d'interception britanniques.

Le premier groupe de trois lettres indique la position initiale (Grundstellung) des rotors de la machine qui a chiffré (et la position initiale (Grundstellung) de la machine qui va déchiffrer). Cette position initiale des rotors est prescrite par les instructions quotidiennes de tous les chiffreurs d'un même réseau.

Le second groupe de trois lettres est l'indicateur du message. C'est le résultat du chiffrement des trois lettres de la clef choisie par le chiffreur qui a chiffré le message (voir § 2 - Mise en oeuvre).

- 83 - ADJ JNA -

LMHNX WEKLM UERDS EVHLC
JSQQK VLDES ANEVT YEDGI
ZQDOD RMDKG SXGSQ SHDQP
VIEAP IENLI CLZCL LAGWC
BJZD
- 149 - TLS CMU -

FTMKV DRJMG FBUDK LZCTR
FLTUU IWVJL OYKYX GDCKJ
TMDFB WNLZQ JAXHP GGKFG
SBZOQ KQKUK TINMH BAJOO
AUILA QVFTK LSTMM XGAQL
CNHUW LFHKA ULTXT BIVIF
EWWDY PUCNS TPJHR OBWHE
KYUSB CANYC W
- 167 - MRJ LLT -

KLIBM ERJAR WMMHJ STHOY
OOIQB HSSZU EOOKF TASXN
XVYWE SCTCH NRNBL ZPEBH
XPAQE DFNYS XHMNI HRARO
UNBMD ZRZDN WTGUI UCBZN
ZTFJA EKOMJ AZILN RKVFD
UNIEW ILZVL KQYYJ ANKXG
NNNHT EMAVD FXKAY MLWCV
QDFWX LO
- 186 - DOQ VHZ -

PBNXA SMDAX NOOYH RCZGV
VZCBI GIBGW HMXKR RVQCF
JCZPT UNSWA DDSTI GQQCS
AGPKR XXLOM GFXAP HHMRF
SDKYT MYPMV ROHAS QYRWF
WVAVG CCUDB IBXXD YZSAC
JSYOT MWUCN WOMHH JPYWD
CCLUP GSWCL MBCZS SYXPG
MGMQX AUFUL NOZEQ ENHEI
ZZAKL C
- 195 - EHW TNH -

ABTWU GWDMP OGKMQ KBHGK
HROUP RMYQY INHSA MWFBP
CDQRG LDBFK YNXPP DIQHE
AOIFQ AOLRZ ZFPDJ MCGEC
TAHHQ MVUYA JIAWM WSOYU
UTLEP AVZKG HJWCD LOQHW
IMSTC LQDNP VCFCN FRUYR
GSSJH ORQMU IFFYU WYNTA
XPYIX MYTEE FTDCV EHUOA
DCPLM APCAU JJYUK
- 232 - KPL ZFT -

IKPKE WZVTB TXWID JCJAN
MPWQZ RKUGF TBBAL IERPD
BCDVM ARZEL XXWKF ABVKI
WFXDV HJGRR CUCQN YQGAE
PNOYN LIYLC DGKYL TXTYP
IVDGP YMZLY UXWQS FQLCB
DELAN PXXWH TDMNQ ENFWA
TJVHO EUPGO CQJCF WSLJR
EJJFL TJFJT UIYKT
- 241 - SDV RUD -

TAZUK DVNNF AZOUV YYSXO
ZLRJO TMMXK AWPVU TTUXS
LAQOX GQUKX XKXAL URHGR
SUOHD FJTRE TLFKD MGDXE
MWIXX INTLG EDKVL RTJFX
RFOIE NNIRR WFKTI BVFVE
LLAWR GJNVB YHBZS CJVTZ
PDBGV PBNNA LNAKX OUOJG
WLJXO UXHDS HXJOU HVBVF
DOLMN LYNVC MRGKK YTOCP
DUEVN FMIPT GGJYA YBDES
P
- 272 - PPS QJH -

QSDCK HQOGN OSAIC GADNM
PJIAI NPWBM VLTKQ YUDII
GWSHT TZEYE CCHFJ CNYBC
HXZNE KOOMV SOLLS NDDGR
RXPMS GFOPY SJFSY SBYBS
CSKDP IOBQM HSFKV MCSMD
HYJNO CHB

Commande crypt[modifier | modifier le code]

L'algorithme de chiffrement d'Enigma a été implémenté par un étudiant en tant que commande intégrée dans UNIX (crypt). Cette commande a été utilisée par des laboratoires civils et militaires qui croyaient protéger ainsi leurs communications (les travaux de déchiffrement de Bletchley Park étaient en effet secrets jusqu'en 1974[5]), ce qui a pu faciliter l'espionnage industriel.

Toutefois, dans l'aide en ligne de la commande était précisé qu'elle ne devait pas être utilisée pour chiffrer des informations sensibles. En effet, la version internationale de la commande n'utilisait l'équivalent que d'un seul rotor de 256 positions (pour chiffrer les 256 caractères possibles d'un octet).

Conclusion[modifier | modifier le code]

Après la guerre, les cryptographes allemands sont interrogés par des spécialistes de la mission TICOM. Les interrogateurs constatent que leurs prisonniers savaient qu'Enigma n'était pas incassable et qu'il était possible de déchiffrer certains messages. Ce qui leur semblait inconcevable, c'est que l'ennemi ait été capable de l'extraordinaire effort requis par les attaques massives par force brute contre l'ensemble du trafic. Les cryptographes de l'Abwehr, ceux qui avaient utilisé des machines de Lorenz ou brisé les chiffres soviétiques, ne sont pas surpris qu'Enigma ne soit pas hermétique, mais ils ne conçoivent pas que les Alliés aient pu disposer de la puissance nécessaire. L'amiral Doenitz avait reçu l'avis qu'une attaque cryptanalytique massive était le moins crédible des problèmes de sécurité de transmissions[6].

Notes et références[modifier | modifier le code]

  1. F.H. Hinsley & Alan Stripp, Codebreakers, the inside story of Bletchley Park, Oxford University Press, 1993 [lire en ligne]
  2. a et b ' Cryptographie - Enigma ',sur le site commentcamarche.net, consulté le 30 décembre 2013
  3. [PDF] Un aperçu de l'histoire de la cryptologie - Richard Brisson et François Théberge,sur le site apprendre-en-ligne.net, consulté le 31 décembre 2013
  4. (en) Gordon Welchman, The Hut Six Story – Breaking the Enigma Codes, Allen Lane,‎ 1982, p. 210
  5. Révélation en 1974 du déchiffrement d'Enigma dans la publication de The ULTRA Secret., de Fred Winterbotham
  6. James Bamford, Body of Secrets, 2001

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Bibliographie[modifier | modifier le code]

  • Gustave Bertrand, Enigma ou la plus grande énigme de la guerre 1939–1945, Plon, 1973.
  • Anthony Cave Brown (en), La Guerre secrète, Famot, 1982
  • Jean-François Deniau, Le Bureau des secrets perdus, Editions Odile Jacob, 1998 (page 154 : Enigma et Fortitude, savoir ou faire croire)
  • Robert Harris, Enigma (roman historique)
  • F.H. Hinsley & Alan Stripp, Codebreakers, the inside story of Bletchley Park, Oxford University Press, 1993
  • Sinclair McKay, The secret life of Bletchley Park, Aurum Press, 2010
  • Paul Paillole, Notre espion chez Hitler, Robert Laffont, 1985
  • Hugh Sebag-Montefiore, Enigma, the battle for the code, Phoenix, 2011
  • Simon Singh, L'Histoire des codes secrets, J.-C. Lattès, 1999
  • Michael Smith, The secrets of station X, Biteback, 2011
  • Neal Stephenson, Cryptonomicon, Payot, 2000
  • F.W. Winterbotham, Ultra, Robert Laffont, 1976

Filmographie[modifier | modifier le code]

  • Enigma, film franco-britannique de Jeannot Szwarc réalisé en 1981 et sorti en 1983
  • U-571, film américain de Jonathan Mostow sorti en 2000, prenant des « libertés » avec la réalité historique
  • Enigma, film américano-germano-britannique réalisé par Michael Apted, sorti en 2001.

Articles connexes[modifier | modifier le code]

Autres machines de chiffrement de la Seconde Guerre mondiale :

Liens externes[modifier | modifier le code]