Hagelin type C


Présentation

Les machines Hagelin de type "C" utilisent des tenons ou des curseurs sur une cage à écureuil ainsi que des roues à ergots. Elles ont dominées le monde des machines à chiffrer portable dans les années 1930 à 1950.

Voici les machines les plus connues de ce type:
  • La C-35 de 1935: elle posséde des tenons fixes et 5 roues
  • La C-36 de 1936: elle est enfermée dans une boite métalique
  • La C-38 de 1938: elle possède des curseurs et 6 roues
  • La M-209: elle dérive directement de la C-38
  • La C-446A: de 1944: elle à deux bandes pour le clair et le chiffré
  • La C-48 de 1948: elle possède un seul curseur par barre

Simulateur

Le simulateur Hagelin fonctionne en mode texte. Il est écrit en langage Python. L'interpréteur Python doit être installé.

Le format du fichier

Le simulateur utilise des fichiers de clés pour paramétrer la clé interne. Le format est le suivant:

  • Le nombre de roues
  • Pour chaque roue: les ergots actifs
  • Le nombre de barres
  • Pour chaque barres: la position des curseurs
  • Enfin, la lettre représentant le décalage constant

Mode compatibilité M-209

Si l'on se limite à 27 barres (au lieu de 29) et si la lettre de décalage est "Z", le simulateur émule la machine M-209

L'archive

Exemple d'utilisation:


C:\>pax -r -f hag_C.tar

C:\>cd hag_C

C:\hag_C>echo AAAAAAAAAAAAAAAAAAAAAAAAAA | python hag_scri.py m209man AAAAAA
TNJUWAUQTKCZKNUTOTBCWARMIO

C:\hag_C>python hag_scri.py m209man WILIAM < plain.txt |python groupe.py
YWLMV QEGPH OLSHJ MWEKO QUNBA XXYIU UNSJS KMZDE BTZRY JGDZF
TDSJI LFUUR YJDBP WYDHB QYNJZ OQZFM UALCW SLAPU TQGDP UDWGF
GKRFX GKSOV EYNNU EWWUG WWBGC FYYUN BQCAN KZXBB ZPFSZ UVUTT
KYUFW FQKKG NFKUH ZUNCJ HTZVF YENLZ GFHYH CLBMQ PG

C:\\hag_C>python hag_scri.py m209man WILIAM

YWLMV QEGPH OLSHJ MWEKO QUNBA XXYIU
^Z
TOBEORNOTTOBETHATISTHEQUESTION

C:\hag_C>more m209man.key
6
AB_D___HI_K_MN____ST_VW___
A__DE_G__JKL__O__RS_U_X__
AB____GH_J_LMN___RSTU_X
__C_EF_HI___MN_P__STU
_B_DEF_HI___MN_P__S
AB_D___H__K__NO_Q
27
3:6
0:6
1:6
1:5
4:5
4:0
4:0
4:0
4:0
2:0
2:0
2:0
2:0
2:0
2:0
2:0
2:0
2:0
2:0
2:5
2:5
0:5
0:5
0:5
0:5
0:5
0:5
Z

Liens