Enigma


Présentation

Il n'est pas besoin de présenter la machine à chiffrer Enigma. C'est la machine à chiffrer la plus connue.

Elle existe sous plusieurs formes:

  • L'Enigma 3 rotors avec des connecteurs (l'Enigma de l'armée Allemande)
  • L'Enigma 4 rotors (l'Enigma de la marine Allemande)
  • L'Enigma G de l'Abwehr
  • L'Enigma commerciale (D, Tirpitz, Railway, ...)

Simulateurs

Mes simulateurs (eM3, eM4, eG, eD) fonctionnent en mode texte. Il sont écrit en langage Python. L'interpréteur Python doit être installé.

Mes simulateurs utilisent de simples fichiers pour mémoriser la connection des rotors. Il est ainsi très facile d'en ajouter.

Exemple d'utilisation de l'Enigma 3 rotors

D:\enigma\eM3>more tobe.txt
"TOBEORNOTTOBE"

D:\enigma\eM3>python M3.py
syntaxe: enigmaM3.py UKW LEFT MIDDLE RIGHT STECKS RING GRUND [Debug]

D:\enigma\eM3>python M3.py B II I IV AB:CD:EF XEF ABC < tobe.txt
OBQUMVYZUVSKB

D:\enigma\eM3>echo OBQUMVYZUVSKB |python M3.py B II I IV AB:CD:EF XEF ABC
TOBEORNOTTOBE

D:\enigma\eM3>more rotors\IV.rot
ESOVPZJAYQUIRHXLNFTGKDCMWB
J
======= ROTOR IV =========

Exemple d'utilisation de l'Enigma commerciale, ici avec les rotors des chemins de fer (Railway)

D:\TMP\enigma\eD>python eD.py
syntaxe: enigmaD.py UKW LEFT MIDDLE RIGHT ETW RING GRUND [Debug]

D:\TMP\enigma\eD>dir rotors /w
 Le volume dans le lecteur D s'appelle DATA
 Le numéro de série du volume est 9A86-5488

 Répertoire de D:\TMP\enigma\eD\rotors

[.]             [..]            D-ETW.rot       D-I.rot         D-II.rot
D-III.rot       D-UKW.rot       D1.rot          Dkassovic.rot   G-ETW.rot
G-I.rot         G-II.rot        G-III.rot       G-UKW.rot       K-ETW.rot
K-I.rot         K-II.rot        K-III.rot       K-UKW.rot       M-ETW.rot
R-ETW.rot       R-I.rot         R-II.rot        R-III.rot       R-UKW.rot
T-ETW.rot       T-I.rot         T-II.rot        T-III.rot       T-IV.rot
T-UKW.rot       T-V.rot         T-VII.rot       T-VIII.rot
              32 fichier(s)            2 001 octets
               2 Rép(s)  653 831 847 936 octets libres

D:\TMP\enigma\eD>echo BONJOUR| python eD.py R-UKW R-I R-II R-III ABCD WXYZ
syntaxe: enigmaD.py UKW LEFT MIDDLE RIGHT ETW RING GRUND [Debug]

D:\TMP\enigma\eD>echo BONJOUR| python eD.py R-UKW R-I R-II R-III R-ETW ABCD WXYZ

EEPCCRI

D:\TMP\enigma\eD>echo EEPCCRI| python eD.py R-UKW R-I R-II R-III R-ETW ABCD WXYZ

BONJOUR

Exemple d'utilisation de la M4

D:\TMP\enigma\eM4>dir rotors /w
 Le volume dans le lecteur D s'appelle DATA
 Le numéro de série du volume est 9A86-5488

 Répertoire de D:\TMP\enigma\eM4\rotors

[.]          [..]         A.rot        B-I.rot      B-II.rot     B-III.rot
B-IV.rot     B-V.rot      B-VI.rot     B-VII.rot    B-VIII.rot   B.rot
beta.rot     C.rot        D1.rot       gamma.rot    I.rot        II.rot
III.rot      IV.rot       M-ETW.rot    Thin-B.rot   Thin-C.rot   V.rot
VI.rot       VII.rot      VIII.rot
              25 fichier(s)            1 492 octets
               2 Rép(s)  653 831 802 880 octets libres

D:\TMP\enigma\eM4>more krah1.txt
NCZW VUSX PNYM INHZ XMQX
SFWX WLKJ AHSH NMCO CCAK

D:\TMP\enigma\eM4>python M4.py
syntaxe: M4.py UKW ROT4 LEFT MIDDLE RIGHT STECKS RING GRUND [Debug]
rotors: I, II, ... VIII, Thin-B, Thin-C, beta, gamma
exemple: M4.py Thin-B beta II I VII AB:CD:EF AAAA AAAA

D:\TMP\enigma\eM4>python M4.py Thin-B beta II IV I AT:BL:DF:GJ:HM:NW:OP:QY:RZ:VX
 AAAV VJNA < krah1.txt
VONVONJLOOKSJHFFTTTEINSEINSDREIZWOYYQNNS

Téléchargment

  • Mes simulateurs de L'Enigma 3 rotors, 4 rotors, de l'Abwehr et l'enigma commerciale. Tous sont ecrits en Python.
    (M3, M4, G, D)
  • Deux simulateurs Enigma (écrits pour l'interpréteur Windows cmd.exe) par Alberto Bernasconi et hébergés avec sa permission.
    M3 M4

Liens