17) Émuler la rotation du Rotor de droite.

Matériellement un Rotor et sa Bague extérieure constitue une entité unique et indissociable. Il est évident que dans la pratique les deux tournent simultanément. Informatiquement on se doute que c’est totalement différent, car il y a des séquences de code pour gérer la rotation des liaisons électriques internes, et des routines indépendantes pour « faire tourner » la Bague extérieure sous la fenêtre de la machine. Nous avons vu dans les exercices précédents que la visualisation virtuelle du Rotor de Droite tourne à chaque caractère. Dans ce chapitre nous allons ajouter la rotation des circuits filaires internes du Rotor de Droite.

Rotation du Rotor de Droite indexé en A-1 dans le sens Direct.

Tester cette facette du développement commence par modifier dans P8 les paramètres du listage comme montré sur la Fig.71 pour ne valider que le sens Direct, et émuler la rotation interne du Rotor I supposé à Droite du Brouilleur. Dans le cas analysé actuellement, la Bague extérieure tourne d’une position, ainsi que le câblage interne du Rotor. On obtient la configuration de la Fig.72 avec les deux flèches courbes symbolisant les mouvements matériels. Il en résulte le tableau de la Fig.73 dans lequel les lettres minuscules présentent les couleurs des liaisons filaires virtuelles associées. (Couleur des « gros cercles » relatifs aux contacts électriques d’Entrée.) Dans la pratique, prendre en compte informatiquement la Rotation du câblage virtuel consiste à effectuer une Rotation Logique à Gauche d’un BIT pour les valeurs numériques du tableau qui intègre les écarts entre Entrée et Sortie sur le Rotor considéré. Le résultat de cette Rotation Logique se retrouve dans la ligne des valeurs tracées en bleu sur la Fig.73 représentant l’état du tableau qui en résulte.


MANIPULATIONS :
01) Modifier comme montré en Fig.71 le démonstrateur P8 et le téléverser.
02) Activer à nouveau le Moniteur puis « er » pour modifier l’indexation.
03) Maintenant c’est de la routine : Imposer dans l’ordre ‘3‘, ‘2‘, ‘1‘, ‘1‘, ‘1‘, ‘1‘,’a‘, ‘a‘, ‘a‘ et ‘b‘.
04) Reprendre le manipulateur Morse virtuel avec ‘&‘.
05) On teste à nouveau dans l’ordre toutes les lettres de l’alphabet : ‘a‘, ‘b‘, ‘c‘ … ‘x‘, ‘y‘, ‘z‘ pour vérifier qu’en sortie du chiffrage on obtient bien les permutations prévues dans le tableau.
06) Revenir au mode COMMANDE avec ‘&‘.
07) Proposer ‘t‘ pour imposer le mode TEXTE.
08) Retourner en CRYPTAGE avec ‘&‘.
09) Proposer la chaîne des 26 lettres « abcdefghijklmnopqrstuvwxyz« .

Nous obtenons le résultat de la Fig.74 qui induit quelques explications. En effet, lorsque l’on frappe la première lettre ‘a‘ elle est transposée en ‘J‘ conformément aux prédictions du tableau dans sa ligne du bas. Puis, dès la frappe du caractère ‘B‘ qui place la lettre ‘C‘ sous la fenêtre de visualisation de la machine, au lieu d’obtenir un ‘l‘, la permutation engendre un ‘D‘. Ce n’est pas du tout une erreur du programme. N’oublions pas que chaque frappe d’une lettre engendre une rotation virtuelle de plus pour le Rotor et la ligne des décalages en bleu se « déporte » à chaque fois d’une position vers la gauche dans le tableau représentatif du composant. Il est évident qu’il n’est pas suffisant de se contenter de la première lettre pour vérifier le démonstrateur. Aussi, disposant d’un simulateur tel que celui de la Fig.75 mais animé, j’ai été en mesure de tester les 26 lettres pour m’assurer du bienfondé de l’algorithme qui gère la Rotation dans le sens Direct. (Vous vous doutez que cet artifice a également été employé pour le sens Réfléchi.) Par exemple pour la lettre P sous la fenêtre de visualisation on peut vérifier sur la Fig.75 que le ‘o‘ en Entrée devient bien un ‘q‘ en Sortie.
Pour résumer, sur la Fig.74 la colonne verte représente le changement à chaque caractère de la lettre située sous la fenêtre de visualisation d’Enigma. Dans la colonne rose sont alignées verticalement les lettres frappées en Entrée et dans la zone bleue leur permutation par le cryptage. Dans les consignes « en jaune » on passe au cryptage en mode TEXTE. On retrouve en violet le GROUPE d’identification et en « bleu clair » les transpositions formatées en « paquets » de six caractères. Enfin en « orange » la fenêtre de visualisation se retrouve en [AAA] car le Rotor de Droite à tourné de 26 incréments.

 

 

 

Rotation du Rotor de Droite indexé en A-1 dans le sens Réfléchi.

C’est un peu comme du « rabâchage », ou reprendre presque les mêmes et refaire encore et encore. Vous devez commencer à deviner la suite qui consiste à modifier une nouvelle fois les paramètres dans P8. Autant dire que grâce à ces booléens faciles à changer, nous l’aurons bien rentabilisé ce démonstrateur.
MANIPULATIONS :
01) Modifier comme montré en Fig.76 le démonstrateur P8 et le téléverser.
02) Reprendre directement la transmission Morse virtuelle avec ‘&‘.
03) On teste encore dans l’ordre toutes les lettres de l’alphabet : ‘a‘, ‘b‘, ‘c‘ … ‘x‘, ‘y‘, ‘z‘.
04) Revenir au mode COMMANDE avec ‘&‘.
05) Proposer ‘t‘ pour imposer le mode TEXTE.
06) Retourner en CRYPTAGE avec ‘&‘.
07) Proposer une nouvelle fois la chaîne « abcdefghijklmnopqrstuvwxyz« . On doit obtenir le résultat de la Fig.77 en remarquant que seule la première transposition du ‘a en ‘V‘ correspond à celle du tableau.

La suite est ici.