Projets étudiants cryptographie et sécurité/Choulet Ravry Enigma

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
La machine enigma (modèle de 1940)

La machine Enigma est une machine de chiffrement et de déchiffrement de messages. Elle a été inventée au début du XXème siècle par Arthur Scherbius, un ingénieur en électricité allemand. Alors réputée inviolable, elle sera utilisée par les forces armées allemandes pour chiffrer l'ensemble des communications militaires durant la seconde guerre mondiale.

Le chiffrement sera craqué durant la guerre par les britanniques, grâce aux efforts d'avant guerre des services de renseignement Français et Polonais. Le déchiffrement des messages allemands a contribué à la victoire des alliés et aurait, selon certaines estimations, écourtée la guerre en Europe d'environ deux ans.


Histoire de la machine Enigma

Arthur Sherbius est né en 1878. Il étudie l'ingénierie électrique à Munich puis à Hanovre. Il commencera par s'intéresser aux systèmes de turbines à eau dans sa thèse en 1903. En 1918, il crée son entreprise « Scherbius & Ritter » et dépose le brevet d'une machine électromécanique de chiffrement novatrice. Basée sur un système de rotors, la machine permet un très grand nombre de permutations et offre donc une très grande sécurité. L'idée est donne mais Shrebius ne sera pas le seul à l'avoir. En l'espace de quatre ans, trois autres brevets seront déposés pour des machines similaires aux Etats-Unis, en Suède et aux Pays-Bas.

Sherbius tente alors de commercialiser sa machine mais c'est un échec. La machine est trop chère (environ 30 000€) et n'intéresse presque personne. Après le refus de la marine allemande et du ministère des chiffres allemand à la fin des années 1910, il se tourne alors vers le secteur privé, sans grand succès. Ce n'est qu'en 1926 que la marine allemande (la Kriegsmarine) se ré-intéressera à un modèle amélioré de la machine Enigma : le modèle Enigma-D. Le même modèle sera adopté en 1929 par l'armée de terre, suivie par l'ensemble de l'organisation militaire allemande. Surnommée "la machine M", le modèle initial subira de nombreuses modifications au cours de la guerre, pour tenter d'en renforcer la sécurité.

Malheureusement pour lui, Sherbius ne verra pas le succès de sa machine, il meurt en 1929, à l'âge de 41 ans, sous les ruades d'un cheval attelé à une carriole.

Description physique de la machine

Vue de dessus de la machine Enigma. A gauche, capot fermé, à droite, capot ouvert avec les rotors visibles

La machine Enigma est une machine dite électromécanique. Elle est donc constituée d'une partie mécanique et d'une partie électrique. La partie mécanique est essentiellement composé d'un clavier, de multiples rotors, d'un réflecteur et d'un système de rotation des rotors. La partie électrique est composé d'un système d'interrupteurs, de multiples lampes (autant que de touches) et d'un tableau de connexion.


Les rotors

Principe de chiffrement

Mise en oeuvre

Le chiffrement et le déchiffrement d'un message sont effectués manuellement par une équipe de deux chiffreurs selon une procédure très précise.

Préparation de la machine

Avant de commencer le chiffrement à proprement dit du message, plusieurs réglages de la machine sont nécessaires. Ces réglages changent régulièrement de manière mensuelle, hebdomadaire ou quotidienne selon les réglages et les corps d'armées. Les instructions de réglages sont contenues dans des livres détenus par les chiffreurs. Les étapes à suivre sont les suivantes :

  1. Choix et positionnement des rotors dans le bon ordre, selon les instructions du jour. Par exemple le rotor I, puis le rotor IV puis le rotor II, notée I-IV-II dans le livre d'instructions.
  2. Positionnement de la bague des trois rotors, selon les instructions du jour. Par exemple la bague du premier rotor sur la position 06, celle du deuxième sur 20 et la dernière sur 24, notée FTX dans le livre d'instructions.
  3. Branchements sur le tableau de connexions, selon les instructions du jour. Par exemple, U avec A, P avec C, etc ..., notée UA-PC-... dans le livre d'instructions.
  4. Un des chiffreurs (appelons le Chiffreur 1) positionne alors les rotors sur les positions indiquées dans le livre d'instructions. Par exemple JCM.
  5. Chiffreur1 choisit alors une position aléatoire des rotors, mais ne modifie pas encore leur position pour l'instant. C'est la clé brute du message. Prenons BGZ pour l'exemple. Il tape alors deux fois la clé sur la machine (BGZBGZ).
  6. Le deuxième chiffreur note le résultat affiché par les voyant : c'est le clé chiffrée.
  7. Le premier chiffreur dispose alors les rotors selon la position qu'il a choisit au préalable. Le chiffrement du message peut commencer.

Envoi d'un message chiffré

Afin de chiffrer le message, le premier chiffreur tape les lettres du message une par une, et le deuxième chiffreur note le chiffré de chaque lettre (donné par la LED allumée).

Un message est formatée de la manière suivante. Il commence toujours par des indicateurs permettant d'identifier l’émetteur ainsi que la date et l'heure d'émission ainsi que le nombre de lettre du message. On trouve ensuite un indicateur de 5 lettres qui identifient le réseau Enigma et permet d'identifier le livre d'instructions utilisé pour le chiffrement (donc celui à utiliser pour le déchiffrement). Vient ensuite la clé chiffrée puis le corps du message.

Réception et déchiffrement du message