14) Un changement important de stratégie.

Historiquement j’avais à ce stade envisagé de rédiger le chapitre « Émuler l’Indexation interne des Rotors » pour commencer à agencer le comportement virtuel des organes de la machine. Dans cette optique j’ai commencé à élaborer le démonstrateur P8 accompagnant ledit chapitre. C’est alors que j’ai constaté une grosse faille dans la façon de coder en EEPROM les Rotors. Ces composants de notre magasin virtuels sont complètement à reprendre ce qui va nous obliger à corriger le contenu du haut de la mémoire non volatile. C’est la vie informatique …

L’idée initiale qui était séduisante consistait à représenter un Rotor par un tableau Fig.33 dans lequel le codage des cellules correspondait à la transposée du caractère présenté en entrée du Rotor considéré. Il se trouve que cette approche s’est avérée inexploitable lorsque les premières séquences de P8 ont été rédigées. Cette « catastrophe » résulte du fait que l’on n’avait pas encore envisagé de faire tourner cet élément virtuellement. Hors, dès qu’il change d’orientation, le codage est complètement chamboulé et le tableau représentatif devient inutilisable. L’intégralité de ce chapitre va concerner le Rotor I, les autres seront traités de façon analogue. La nouvelle approche consiste à coder pour ce composant immatériel son câblage interne. Puis, en fonction des manipulations virtuelle effectuée, c’est ce câblage fictif qui subira les rotations et configurations envisagées.
Pour comprendre la nouvelle approche, on va y aller très progressivement.

La représentation graphique du Rotor I. (Fig.53)

Durant les chapitres qui vont suivre, nous allons utiliser une représentation graphique des Rotors qu’il importe de bien assimiler si l’on veut comprendre les explications et les décisions qui s’en dégagent. Considérons la Fig.54 sur laquelle est représenté en A le Rotor numéro I tel qu’il se présente à l’opérateur face « Entrées » avec ses contacts électriques mâles télescopiques à ressorts. En C le même composant est montré en perspective, c’est l’autre face coté Sorties avec dans la « cassure » la représentation interne d’une Liaison filaire entre les deux contacts. Enfin en B la représentation du Rotor telle qu’elle sera proposée dans ce chapitre, c’est la face Entrées qui est dirigée vers nous. On retrouve en 1 la Bague qui peut être Indexée en Interne sur le corps 3 de l’élément. En 2 se trouve la lettre orientée visible de la fenêtre de la machine lorsque le Rotor à tourné suite à la frappe d’un caractère sur son clavier. Pour faciliter l’observation de cet organe du Brouilleur les câblages internes sont mis en évidence par des couleurs différentes. Il importe de noter que le contact électrique du fil interne n°1 est le seul dont le « gros cercle » qui représente l’Entrée est également colorié à l’intérieur en violet. (Les « petits » cercles représentent les sorties du composant.)

Dans cet exemple l’Indexation interne est la n°01 soit en lettre A comme dans l’encadré violet.

Le codage des Rotors en EEPROM.

Représentation en EEPROM ou dans le programme d’exploitation : même combat. C’est à dire que dans notre magasin virtuel les cinq rotors sont tous stockés avec un Indexage Interne sur la position n°1. Dans le programme d’exploitation d’Enigma on va prévoir six tableaux de type byte qui représenteront Les trois Rotors avec traversée dans le sens Direct et dans le sens Réfléchi.
À l’initialisation ces six tableaux seront rechargés à partir de l’EEPROM. Ils seront représentatifs de la configuration du moment dans le Brouilleur. Chaque fois que l’on débutera un cryptage, on va devoir dans l’ordre effectuer virtuellement les manipulations de l’opérateur fictif suivantes :

Dans ce chapitre et ceux qui suivent, on ne va prendre en compte que le Rotor n°I.

Considérons le haut du tableau de la Fig.55 qui montre en rouge les lettres qui « entrent » dans le Rotor et en bleu celles qui sont permutées en interne vers la sortie. Pour représenter le câblage, on va comme présenté dans l’encadré jaune symboliser à combien de contacts en interne se trouve plus loin le plot électrique de sortie. Par exemple si l’on prend en exemple le fil verts clair actuellement en C, il ressort en M dix contacts plus loin. Dans le tableau du sens Direct cette cellule d’indice 2 sera codée 10. Autre exemple : La cellule d’indice 11, le fil bleu clair actuellement en L, il ressort en T huit contacts plus loin. Les cinq rotors seront représentés de cette façon.

La suite est ici.