Roue de chiffrement de l'armée mexicaine

GW-Basic, utilisé par PC-Basic

Programme avec Texte Seulement

PC-BASIC

Mexican Army Cipher Disks Encryption Wheels Historical - Etsy Canada

La roue de l'armée mexicaine est en fait constituée de 5 disques concentriques rotatifs (également appelés roues, ou étages), dont la position peut être ajustée. Généralement la roue extérieure est fixe (la roue des lettres) avec le A en haut, il n'y a donc que 4 disques qui sont pivotants et réglables.

Mexican Army Cipher Wheel - Decoder, Encoder, Translator Online

Les 4 disques sont composés de nombres de 00 à 99 comme suit :

Disque 1 01,02,03,…,24,25,26

Disque 2 27,28,29,…,50,51,52

Disque 3 53,54,55,…,76,77,78

Disque 4 79,80,81,…,98,99,00,-,-,-,-

Le quatrième disque est composé des nombres de 79 à 99, suivis de 00 (pour 100) et de 4 cases vides (que l'on peut appeler 101, 102, 103 et 104).

Comment définir la position (clé chiffrée) de la roue ?

La position des disques est la clé de cryptage. La clé (la position des disques sur chaque étage) est définie selon deux méthodes :

— par un ensemble de 4 chiffres, ceux situés sous le A

Exemple : 01,27,53,79

— par un ensemble de 4 lettres, celles au-dessus (sur le disque extérieur) des chiffres 01, 27, 53 et 79 (qui sont les plus petits chiffres de chaque disque)

Exemple : A,A,A,A

Comment chiffrer à l'aide de la roue de chiffrement de l'armée mexicaine ?

A chaque lettre du message clair, l'émetteur la marque sur le cadran extérieur et associe un code à deux chiffres (aléatoire) parmi les 4 situés directement sous la lettre.

Exemple : Soit un cadran positionné à l'étage 1 sur 01, à l'étage 2 sur 27, à l'étage 3 sur 53 et à l'étage 4 sur 79 (qui est la position par défaut, donc associée aux 4 lettres AAAA).

Exemple : Pour crypter DCODE, l'émetteur localise la lettre D et peut choisir soit 04, 30, 56 ou 82 pour crypter la première lettre. Pour le C, les chiffres 03, 29, 55 ou 81 sont possibles. Au final, DCODE peut être chiffré 8281670405 ou 5629938257 ou autre.

Comment déchiffrer à l'aide de la roue de chiffrement de l'armée mexicaine ?

Le décryptage nécessite de connaître la clé de cryptage (les positions des disques), généralement 4 chiffres ou 4 lettres, qui permettent d'ajuster les positions des disques de la roue.

Pour décrypter, le message est décomposé en paires de 2 chiffres afin de récupérer, pour chaque nombre/code à 2 chiffres, la lettre en haut (sur le disque extérieur) du nombre dans la roue et ainsi reconstituer le message clair.

Exemple : Le message chiffré est 5681158231, donc 56 correspond à D, 81 se trouve sous C, etc. Le texte en clair est DCODE.

Comment sélectionner la position de la roue ?

La position des 4 disques peut être définie par 4 lettres, n'importe quel mot ou acronyme peut être utilisé.

Il est également possible d'utiliser les 4 nombres à 2 chiffres (les nombres à 1 chiffre doivent être complétés par un zéro initial) ou 8 chiffres.

Comment reconnaître un texte chiffré de l'armée mexicaine ?

Le message se compose uniquement de chiffres et il y a un nombre pair (puisque le message crypté se compose de paires de 2 chiffres). Toute référence au Mexique, aux Mayas, aux fajitas, à la tequila, etc. est un indice.

Comment déchiffrer le chiffrement de l'armée mexicaine sans roue ?

La roue de chiffrement de l'armée mexicaine est en fait un chiffrement polyalphabétique avec 4 alphabets par quart de travail.

Pour trouver les 4 décalages, il faut analyser les fréquences des nombres entre 01 et 26, idem pour les nombres entre 27 et 52, puis 53 et 78 et 79 à 99.

Ainsi, le chiffre le plus utilisé entre 01 et 26 sera probablement un E, la position de la première roue s'en déduit alors. La même chose peut être faite pour d'autres disques.

Pour le chiffre 100 vous pouvez utiliser 00 et pour 101, 102, 103, 104 utiliser un zéro barré θ, θ1, θ2, θ3, θ4

Programme MEXCODE.BAS

Ce programme encode lettre selon les chiffres que vous saisissez pour la lettre A.

Ensuite vous avez  4 choix de menu:

1. Afficher le code pour une lettre
2. Afficher le code pour toutes les lettres
3. Encoder un mot
4. Quitter le programme

Vous pouvez personnalisez le programme en ajoutant l'option Décoder un mot au programme.

5 CLS:RANDOMIZE TIMER
10 DIM CODE(26,4), N(4)
20 INPUT "Première valeur de A (1 - 26) ";N(1)
30 IF N(1) < 1 OR N(1)>26 THEN 20
40 INPUT "Deuxième valeur de A (27 - 52) ";N(2)
50 IF N(2) < 27 OR N(2)>52 THEN 40
60 INPUT "Troième valeur de A (53 - 78) ";N(3)
70 IF N(3)< 53 OR N(3)>78 THEN 60
80 INPUT "Quatrième valeur de A (79 - 104) ";N(4)
90 IF N(4)<79 OR N(4)>104 THEN 80
100 CODE(1,1) = N(1):CODE(1,2) = N(2)
110 CODE(1,3) = N(3):CODE(1,4) = N(4)
120 FOR I = 2 TO 26
130 N(1)=N(1)+1:IF N(1) = 27 THEN N(1) = 1
140 N(2)=N(2)+1:IF N(2) = 53 THEN N(2) = 27
150 N(3)=N(3)+1:IF N(3) = 79 THEN N(3) = 53
160 N(4)=N(4)+1:IF N(4) = 105 THEN N(4) = 79
170 CODE(I,1) = N(1)
180CODE(I,2) = N(2)
190 CODE(I,3) = N(3)
200 CODE(I,4) = N(4)
210 NEXT I
220 CLS
230 PRINT "1. Afficher le code pour une lettre"
240 PRINT "2. Afficher le code pour toutes les lettres"
250 PRINT "3. Encoder un mot"
270 PRINT "4. Quitter le programme"
280 INPUT "Quel menu 1-4 ";M
290 IF M <1 OR M>4 THEN 280
300 ON M GOSUB 1000, 2000, 3000, 4000, 5000
310 GOTO 220
1000 REM Code pour une lettre
1010 INPUT "Pour quelle lettre en MAJUSCULE ";L$
1020 IF L$<"A" OR L$>"Z" THEN 1010
1030 I= ASC(L$)-64
1040 PRINT CODE(I,1),CODE(I,2),CODE(I,3),CODE(I,4)
1050 GOSUB 6000
1060 RETURN
2000 CLS:P=0
2010 FOR I = 1 TO 26
2020 PRINT TAB(P) CHR$(I+64);" ";CODE(I,1);" ";CODE(I,2);" ";CODE(I,3);" ";CODE(I,4);
2030 IF P=25 THEN P=0 ELSE P=25
2040 NEXT I
2050 GOSUB 6000
2060 RETURN
3000 REM Encoder un mot
3010 INPUT "Quel mot en MAJUSCULE";M$
3020 L=LEN(M$)
3030 FOR I = 1 TO L
3040 C$=MID$(M$,I,1)
3050 R=INT(4*RND(1)+1):IF R=0 THEN 3045
3060 P= ASC(C$)-64
3070 PRINT CODE(P,R);" ";
3080 NEXT I
3090 PRINT
3100 GOSUB 6000
3110 RETURN
4000 REM Quitter le programme
4010 END
6000 PRINT "Appuyez sur une touche pour continuer"
6010 A$=INKEY$:IF A$="" THEN 6010
6020 RETURN

 

 


 

 

 

Recherche personnalisée