02 Cryptage polyalphabétique – ENIGMA

L’Enigma (du grec “ainigma” = énigme) est la star incontestée des machines de cryptage de la Seconde Guerre mondiale. Non pas parce qu’il est le meilleur, mais parce qu’il est de loin le plus connu. Ce qui a été très bon et presque impossible à craquer.

Purement techniquement, Enigma est une machine à clé rotor, où chaque lettre du texte en clair est chiffrée avec un alphabet de clé différent. Elle maîtrise donc la substitution polyalphabétique, qui, grâce au support des machines, est donc facile à utiliser à partir de 1920 environ et – théoriquement – sûre pour tous. Relativement sûr, du moins, tant que certaines règles étaient respectées et seulement tant qu’il n’y avait pas de machines pour aider au décryptage. Arthur Scherbius a inventé l’Enigma. À peu près à la même époque que lui, des dispositifs similaires ont été brevetés dans d’autres pays. À l’origine, il a été conçu à des fins civiles. Cependant, comme la Première Guerre mondiale avait mis en évidence un manque évident de méthodes de cryptage sûres et faciles à utiliser, les militaires se sont très vite intéressés aux dispositifs de M. Scherbius. Malheureusement, il n’a pas vécu le succès triomphal de son invention ; il est mort en 1929 à la suite d’un accident de la route (avec un véhicule tiré par un cheval !). D’un autre côté, il a été épargné de l’expérience que son bébé n’était que FAST indéchiffrable. Enfin, de nombreux historiens écrivent qu’Enigma a été décisive pour la guerre. Principalement parce qu’au cours des dernières années de la guerre, de nombreuses transmissions radio allemandes pouvaient être lues par l’ennemi. Grâce à l’habileté des Alliés à utiliser ces informations, les Allemands sont restés convaincus de la sécurité de leur cryptage jusqu’à la fin de la guerre. Un morceau d’histoire contemporaine très passionnant à mes yeux, ce qui explique sans doute l’attrait de l’Enigma en tant que contenu de puzzle.

Un peu d’information sur la technologie

Il y a eu une pléthore d’énigmes au fil des ans. Les plus connus (et les plus utilisés en géocaching) sont l’Enigma I, l’Enigma M3 et l’Enigma M4. Les chiffres trois et quatre font également référence au nombre de rouleaux, qui tournent d’une position supplémentaire à chaque lettre cryptée et produisent à chaque fois un nouvel alphabet de cryptage. Le M4 était donc plus sûr que sa petite sœur à seulement trois rouleaux, et était utilisé dans la marine pour communiquer avec les sous-marins.

Outre les rouleaux (interchangeables, jusqu’à 8 rouleaux normaux différents, plus les rouleaux Beta et Gamma comme quatrième rouleau sur le M4), les Enigmas en question étaient équipés d’un rouleau inverseur (VHF-B ou C), d’un clavier, d’un champ de lampes représentant la lettre cryptée ou décryptée, et d’un tableau de chevilles avec lequel les lettres étaient brouillées par paires ; ceci augmentait énormément la sécurité du cryptage.

Je n’entrerai pas dans les détails techniques ici, car il y a déjà plus qu’assez de très bonnes explications, de schémas de construction et de circuits, et de considérations mathématiques sur la force des clés et les algorithmes de décryptage sur la grande toile.

Pour cela, j’espère aider en étant suffisamment bref pour traduire le texte codé en texte clair avec les informations disponibles dans l’énigme (géocaching).

Seuls les vrais monstres décodent l’Enigma “à pied”, les derniers l’ont probablement fait il y a environ 60 ans. Les natures moins courageuses utilisent aujourd’hui les abondants logiciels disponibles à cet effet. Je peux vous recommander de télécharger l’excellente simulation Enigma de Dirk Rijmenant. Les variantes en ligne de Starry Sky Striker et Enigmaco sont également recommandées. Et probablement beaucoup d’autres que je n’ai pas eu l’occasion de connaître en détail.

Alors comment ça marche ?

Enigma ne peut chiffrer que les lettres majuscules, pas les chiffres ni les signes de ponctuation. Ces derniers étaient simplement remplacés par un X, les chiffres étaient écrits. Les noms propres étaient généralement doublés et entourés d’un X. En outre, le “ch” a été remplacé par la lettre Q. Ensuite, le texte a été présenté par groupes de cinq et maintenant crypté.

Pour cela, il fallait la clé du jour, qui contenait la position de base de l’Enigma. Il faut donc indiquer lequel des rouleaux est utilisé (ce qu’on appelle la position du rouleau I, II, III, … ainsi que Gamma et Beta, s’il s’agit d’un M4), quel rouleau inverseur (VHF-B ou -C), la position de base de l’anneau intérieur de ces rouleaux (position de l’anneau, position du rouleau, soit en valeurs de lettres A=1, B=2, … ou exprimées en lettres), ainsi que les interchangements de lettres (connexions) à partir du tableau des fiches.

Pour les déchiffrer, vous trouverez quelque part ces informations, qui en son temps dans la réalité et aujourd’hui quand nous jouons avec, aiment être présentées sur des feuilles mensuelles, en montant de bas en haut. De bas en haut, pour pouvoir couper la clé de la veille et la jeter. Ces feuilles étaient souvent imprimées sur du papier buvard, de sorte que vous pouviez simplement les détruire en cas de besoin.

Exemple de clé de jour (Enigma I) :

Il existait de nombreuses clés journalières différentes, en fonction du domaine d’application ou du groupe de destinataires. Pour que le décrypteur puisse être sûr que le message lui était destiné et qu’il puisse le convertir en texte clair, il y avait souvent un autre groupe d’identification (qui changeait également tous les jours) avec la clé du jour. Celui-ci a ensuite été placé devant le message non crypté.

Tout cela semble suffisamment confus, mais ce n’était pas une sécurité suffisante, car avec cette méthode, un grand nombre de messages radio auraient été cryptés de la même manière un jour. Le crypteur devait donc souvent imaginer lui-même la position du rouleau extérieur (la clé d’orthographe) et la crypter avec une séquence de lettres qu’il avait également imaginée lui-même.

Il plaçait ensuite l’Enigma (à l’intérieur) dans la position de base du jour selon la clé du jour, sélectionnait les trois (ou quatre) lettres de la clé d’orthographe qu’il avait lui-même conçue dans les positions des rouleaux extérieurs, et tapait ses trois lettres conçues. La machine à chiffrer les a brouillées et a fourni trois autres lettres en réponse. Cette clé d’orthographe ainsi chiffrée, ainsi que la position de base sélectionnée, est placée devant le message Enigma – non chiffré.

Un message Enigma correctement crypté comportait dans son en-tête l’heure (sous la forme d’un nombre à quatre chiffres, par exemple 1130 pour onze heures et demie), le nombre de caractères du message radio, la position de base ainsi que la clé du message crypté avec celui-ci. Puis le message codé suivait par groupes de cinq, si nécessaire avec le groupe d’identification précédent à trois chiffres, qui était augmenté de deux lettres de remplissage pour atteindre un groupe habituel de cinq.

Un exemple à mettre en scène et à comprendre

Crypter

En prenant la balise supérieure 29 comme exemple, définissez l’Enigma M3 sur la position par défaut suivante

à l’intérieur (la zone qui ne changeait qu’une fois par jour):
UKW-C
numéro du rouleau I IV IIIposition des anneaux des rouleaux 12 18 22
connexions CY EL FH GS IJ KQ MW PV RZ TU

A l’extérieur (la zone que l’encrypteur a dû inventer lui-même à chaque fois)
la position de départ DPP et tape maintenant la clé orthographique inventée : NVD

L’Enigma renvoie un WGT en réponse.

La clé d’orthographe ainsi codée WGT est communiquée au récepteur avec la position de base PLR choisie aléatoirement dans l’en-tête du message.

Le texte du message radio est ensuite crypté avec la clé d’orthographe choisie, en l’occurrence NVD, sur laquelle les rouleaux (à l’extérieur) sont réglés et le texte est saisi. Dans mon exemple, c’est :

Je n’en serais jamais arrivé là sans le géocaching !

Donc en notation Enigma : HEREW AEREI CHOHN EGEOC ACHIN GNIEH INGEK OMMEN X

Encodé, ça ressemble à ça : JOPVV QKJZS FNXNJ RUMXT NLQGQ RPEPJ HTLGI SKWLT Z

Maintenant, cela donnerait le message radio suivant avec une tête de clé correcte : 2333 55 PLR WGT YZUIX JOPVV QKJZS FNXNJ RUMXT NLQGQ RPEPJ HTLGI SKWLT Z

Décryptage

Le destinataire regarde d’abord s’il a le groupe d’identification (quelque part dans les 5 premières lettres) dans sa clé journalière. ZUI est là, donc il peut décrypter le message. Il pose l’Enigma de manière appropriée

C I IV III 12 18 22 CY EL FH GS IJ KQ MW PV RZ TU

et obtient la clé d’orthographe manquante en réglant les bobines sur PLR et en tapant WGT dans l’en-tête du message. L’Enigma répond avec la clé d’orthographe non chiffrée NVD. Ce (NVD) est maintenant placé sur la position (extérieure) du rouleau et le texte crypté (sans les cinq premiers caractères avec le groupe de codes) est saisi.

JOPVV QKJZS FNXNJ RUMXT NLQGQ RPEPJ HTLGI SKWLT Z

Et pouf (cough) vous récupérez la version non cryptée :

HIERW AEREI CHOHN EGEOC ACHIN GNIEH INGEK OMMEN X

Et si vous êtes un peu perdu jusqu’à ce point, vous pouvez vous asseoir et vous détendre : c’est probablement le cas de la plupart des gens. La meilleure chose à faire est de jouer ce scénario et de se consoler en pensant que de nombreuses caches Enigma ne fonctionnent pas avec la variante compliquée d’une clé chiffrée envoyée en tête du message, mais chiffrent leur texte et donnent l’ensemble des données, y compris la position initiale. Il suffit ensuite de régler l’Enigma en conséquence, d’introduire le texte crypté et de recevoir le message décrypté en retour.

Mais je dois également mentionner qu’au cours des années (de guerre), la manipulation d’Enigma, des chiffres et de leurs règles a changé, en fonction des groupes d’utilisateurs et des versions d’Enigma. Ainsi, ce qui est présenté ici n’est pas tout à fait la seule vérité, mais, si vous avez compris une fois le principe de base, le plus grand pas vers le décryptage est certainement déjà fait !

Encore, encore ?

Qui veut s’entraîner maintenant, j’ai préparé quelque chose 😉

Clé de jour marine, M4 du 17.6.2013
UKW B
Position des rouleaux : Gamma, VIII, V, VI
Position de l’anneau : 15, 5, 16, 12
IDENTIFICATIONS : liu aer vpu
AN BO DQ FS GT HU IV LY ER

Message radio

1141 183 ASDFJHGF XAER QRHG REYX BXWB MTBY VDWF BGOB XWVW TPEX EKTZ ZLTC OFWS BQEJ UNLQ ZTMT ELIO FSHM HXHU WSZP EXHQ XMHN ZDJA ERZD WJBD DCJD UFLH
WCQR EIXA PHPR QLAH OUAK VDEE FUCF YHGD PKPC GBRJ URXJ TIV

Bonne chance ! 🙂

P.S : Mais ici aussi, le magicien GC nous aide avec son outil Enigma 😉