Qu'est-ce que la machine Enigma?
La machine Enigma était un dispositif de chiffrement électromécanique utilisé principalement par l'Allemagne nazie pendant la guerre mondiale II pour chiffrer les communications militaires. Inventée par l'ingénieur allemand Arthur Scherbius dans 1918 et vendue commercialement dans 1923, la machine a été adoptée par l'armée allemande dans 1926. Il combine un tableau de bord, trois rotors (ou plus) et un réflecteur pour produire un chiffrement de substitution polyalphabétique avec environ 158 quintillion de configurations possibles, rendant pratiquement impossible les attaques de force brute avec la technologie des années 1940.
Malgré son énorme espace clé, l'Enigma a été brisé par une combinaison de perspicacité mathématique, d'erreurs d'opérateur et de machines dédiées. Le mathématicien polonais Marian Rejewski a d'abord craqué l'Enigma dans 1932, et son travail a ensuite été prolongé à Bletchley Park par Alan Turing, qui a conçu la machine Bombe pour automatiser la recherche de paramètres quotidiens. On estime que leur effort collectif a réduit d'au moins deux ans la durée de la guerre mondiale II.
Comment fonctionne la machine Enigma
Voie de signalisation
Lorsqu'une clé est pressée sur le clavier Enigma, le signal électrique suit ce chemin:
- Plaque (Steckerbrett) — Le signal passe d'abord par le tableau, qui échange des paires de lettres. Jusqu'à 13 câbles peuvent être connectés, chacun échangeant deux lettres.
- ** Roue d'entrée (Einttswalze)** — Le signal entre dans l'ensemble du rotor par la roue d'entrée statique.
- Rotor droit — Le signal passe par le rotor le plus droit, qui remplace la lettre en fonction de son câblage interne et de sa position actuelle.
- Rotor moyen — Le signal continue à travers le rotor moyen.
- Rotor gauche — Le signal passe par le rotor le plus à gauche.
- ** Réflecteur (Umkehrwalze)** – Le réflecteur renvoie le signal à travers les rotors en ordre inverse, garantissant qu'aucune lettre ne peut se chiffrer.
- Roteurs (inverse) – Le signal retourne à travers les trois rotors de gauche à droite, en utilisant la trajectoire de câblage inverse.
- ** Tableau de bord (encore une fois)** – Le signal passe une deuxième fois par le tableau avant d'allumer la lampe de sortie.
Mécanisme de marche du rotor
Avant de chiffrer chaque lettre, les rotors avancent:
- Le rotor droit** avance par une position sur chaque touche.
- Le rotor moyen avance lorsque le rotor droit atteint sa position encotch (une lettre spécifique déterminée par le type de rotor).
- Le rotor gauche avance lorsque le rotor moyen atteint sa position d'entaille.
Cela crée l'anomalie ** à double pas**: si le rotor moyen est à sa propre position d'entaille, il marche à nouveau lorsque le rotor gauche avance, ce qui le fait se déplacer sur deux touches consécutives. Cette quirk mécanique réduit légèrement la période du chiffrement et a été un facteur important pour les brise-codes.
Les Rotors
L'énigme de Wehrmacht J'ai utilisé cinq rotors interchangeables (marqués I à V), chacun avec un câblage interne différent et une position unique:
| Rotor | Notch | Turnover |
|---|---|---|
| I | Q | R |
| II | E | F |
| III | V | W |
| IV | J | K |
| V | Z | A |
Trois de ces cinq rotors ont été sélectionnés et placés dans n'importe quel ordre, ce qui donne 60 possibilités d'aménagement du rotor.
Paramètres de l' anneau
Chaque rotor a un réglage d'anneau (Ringstellung) de 1 à 26 qui compense la relation entre le câblage interne du rotor et son indicateur de position visible. Les réglages de l'anneau changent la cartographie entre la position du rotor et son câblage interne sans modifier le câblage lui-même.
Le réflecteur
Le réflecteur (Umkehrwalze) couple les 26 lettres et renvoie le signal à travers les rotors. Trois réflecteurs ont été utilisés:
- UKW-A — Utilisé dans les premiers modèles
- UKW-B — Le réflecteur le plus utilisé pendant la guerre
- UKW-C — Un réflecteur alternatif
Le réflecteur est ce qui rend Enigma reciprocal (ou involutoire): le chiffrement d'un message avec les mêmes paramètres produit le texte en clair original. Cela signifie ** le chiffrement et le décryptage sont la même opération**.
Le Plugboard
Le plugboard (Steckerbrett) était le seul contributeur le plus important à la force cryptographique de l'Enigma. Avec 10 paires de câbles (la configuration opérationnelle standard), le tableau fournit à lui seul plus de 150 billions de configurations possibles. Chaque câble échange une paire de lettres avant et après le chiffrement du rotor.
Histoire et rupture de l'énigme
Mélangeurs de codes polonais (1932-1939)
Dans 1932, le mathématicien Marian Rejewski du Bureau du chiffre polonais a exploité une faiblesse procédurale — les opérateurs ont chiffré la clé du message quotidien deux fois au début de chaque message. En utilisant cette théorie de redondance et de groupe mathématique, Rejewski a reconstruit les câbles du rotor sans jamais voir une machine physique.
Avec des collègues Jerzy Rozycki et Henryk Zygalski, l'équipe polonaise a construit des machines Bomba et créé des feuilles Zygalski pour trouver les paramètres quotidiens. En juillet 1939, quelques semaines avant l'invasion allemande de la Pologne, ils ont partagé leur connaissance complète avec les services secrets britanniques et français.
Parc Bletchley (1939-1945)
À Bletchley Park, Alan Turing a conçu une machine Bombe améliorée qui exploitait une faiblesse différente: texte en clair connu (appelé "cribes"). Les opérateurs ont souvent commencé des messages avec des expressions prévisibles comme les bulletins météorologiques ou « rien à signaler » (NIHIL NOVI). Combiné avec la propriété réflecteur qu'aucune lettre ne se chiffre, les berceaux ont considérablement réduit l'espace de recherche.
Gordon Welchman a amélioré la conception de Turing avec la « carte diagonale », qui a exploité la symétrie du tableau. A son apogée, plus de 200 machines Bombe ont couru simultanément à Bletchley Park et ses stations périphériques, traitant des milliers de réglages possibles par seconde.
L'intelligence produite à partir de messages déchiffrés d'Enigma, nom de code Ultra, a donné aux Alliés une connaissance avancée des plans militaires allemands et est largement crédité de raccourcir la guerre de deux ans ou plus.
Principales faiblesses de l'énigme
Malgré son immense espace clé, l'Enigma présentait plusieurs faiblesses exploitables:
- Aucun auto-encryptage — Une lettre ne peut jamais se chiffrer (en raison du réflecteur). C'était l'exploit principal de Turing.
- cryptage réciproque — Les mêmes paramètres cryptent et déchiffrent, ce qui limite la structure mathématique du chiffre.
- ** Erreurs d'exploitation** — Clés de message répétées, lits d'enfant prévisibles et opérateurs paresseux qui ont réutilisé les paramètres.
- Modèles d'ordre de rotation — Le pas mécanique crée des relations mathématiques prévisibles entre les lettres consécutives.
Enigma contre chiffrement moderne
| Fonctionnalité | Enigma | AES-256 |
|---|---|---|
| Espace clé | ~1,59 x 10^20 | 2^256 (~1,16 x 10^77) |
| Autochiffrement | Impossible | Possible |
| Résistance connue au texte plat | Weak | Strong |
| Secret algorithmique | Required | Non requis (principe de Kerckhoffs) |
Les algorithmes modernes de chiffrement évitent toutes les faiblesses structurelles de l'Enigma tout en fonctionnant sur des espaces clés incompréhensiblement plus grands. Cependant, l'Enigma demeure une réalisation marquante dans l'histoire de la cryptographie et un outil éducatif convaincant pour comprendre la mécanique du chiffre.