next up previous contents
Next: 4 Cryptographie moderne Up: 3 Chiffrement polyalphabétique Previous: 3.3 Influence de la   Contents

3.4 Énigma

L'une des formes de la mécanisation du codage les plus connues est Énigma, une machine à rotors de conception allemande utilisée de 1925 jusqu'à la fin de la seconde guerre mondiale. Énigma fonctionne sur le principe du chiffre polyalphabétique. Composée d'un clavier, d'un tableau lumineux pour afficher les lettres cryptées et d'un système de brouillage, elle ressemble à une petite machine à écrire. L'opérateur entre la lettre à chiffrer à l'aide du clavier et le tableau lumineux indique à quelle lettre chiffrée elle correspond. Lorsqu'une lettre est tapée sur le clavier, un signal électrique passe par le brouilleur. Celui-ci est constitué trois tambours rotatifs, que l'on appelle aussi rotors, faits de matériau isolant. Chaque tambour est traversé par ving-six fils électriques, un pour chaque lettre. Les fils s'entrecroisent à l'intérieur du tambour, de façon à ce que le signal ne ressorte pas vis-à-vis l'endroit où il est entré. Le filage intérieur de chacun des trois rotors est différent des autres. Les tambours sont mis à la suite l'un de l'autre, et sont reliés à chacun de leur ving-six contacts électriques.

Figure 3: Énigma

\includegraphics[ width=12cm,
height=17cm]{enigma-photo.eps}
Source: [15], p. 153.

L'électricité fait donc un parcours de boucles et de virages déterminé par l'agencement des rotors. Chaque rotor compte ving-six positions différentes, ce qui donne un total de $ 26^{3}=17576$ agencements différents. De plus, les trois rotors ne sont pas fixés en place, mais peuvent au contraire changer de place. Avant de chiffrer un message, on doit déterminer quel rotor sera premier, lequel sera deuxième et lequel sera troisième. L'information sur le rang de chaque rotor fait partie de la clé, et multiplie le nombre initial par un facteur six (il existe six façons différentes d'agencer les trois rotors), ce qui donne $ 6\times 17576=105456$ possibilités de circuits différents. Le signal électrique sort finalement sur l'autre face en un des ving-six points différents.

Figure 4: Mécanisme d'Énigma

\includegraphics[ width=12cm,
height=6cm]{enigma-schema.eps}
Source: [15], p. 150.

Le principe est de faire pivoter le rotor de droite de $ \frac{1}{26}$ tour à chaque fois qu'une lettre est entrée, changeant l'alphabet à chaque fois, comme dans un système de substitution polyalphabétique. Lorsque le rotor de droite a fait un tour, il entraîne avec lui le deuxième rotor d'une position. De même, lorsque le deuxième rotor a fait un tour complet (ce qui signifie que le premier rotor a exécuté ving-six tours sur lui-même), le dernier rotor avance d'une position. Avant que les rotors reviennent tous trois à leur position initiale, 17576 lettres auront été chiffrées. La clé du chiffrement polyalphabétique effectué est donc d'une longueur souvent plus grande que celle du message lui-même (les opérateurs avaient l'instruction claire de ne jamais chiffrer de message de plus de 17576 lettres), ce qui confère à Énigma une très grande sûreté.

Pour une meilleure sûreté, Énigma était dotée d'un tableau de connexions à fiches entre le clavier et le brouilleur. Ce tableau permettait à l'expéditeur du message de brancher des fils qui avaient pour effet d'interchanger certaines lettres avant qu'elles pénètrent dans le brouilleur. L'opérateur avait six fils à sa disposition, et pouvait donc intervertir six lettres. Chaque lettre ne pouvait être affectée qu'une seule fois, et les six fils devaient absolument être utilisés parce que les inventeurs croyaient qu'il serait plus sûr d'obliger l'utilisation des six inversions possibles. Au total, ces inversions augmentent le nombre de configurations initiales d'un facteur de

$\displaystyle \left(\begin{array}{c}
26\\
2\end{array}\right)\cdot \left(\begi...
...ay}\right)\cdot \left(\begin{array}{c}
16\\
2\end{array}\right)=72282089880000$

La notation $ \left(\begin{array}{c}
x\\
y\end{array}\right)$ signifie « le nombre de façons différentes de choisir $ y$ objets parmi $ x$ objets, et s'évalue $ \frac{x!}{y!(x-y)!}$. Pour chacun des six fils, on doit choisir deux prises libres (correspond au $ y$) parmi toutes celles qui le sont (correspond au $ x$). À chaque fil que l'on insère, le nombre de prises libres diminuera de deux.

Bien que ce nombre de configurations initiales soit beaucoup plus élevé que celles données par les rotors, il ne faut pas oublier qu'il s'agit ici d'une manipulation monoalphabétique. La modification de l'alphabet est la même pour tout le chiffrement. De plus, seulement 12 lettres seront permutées. Lorsqu'on est capable de déchiffrer le produit des rotors, il est possible de déduire le message à l'aide des 14 lettres restantes.

Une autre caractéristique particulière d'Énigma est la présence d'un réfléchisseur au bout des trois rotors. En fait, le signal électrique ne passe pas qu'une seule fois à travers les trois rotors pour aller allumer un voyant. Il est plutôt réfléchi après son passage et retourne une autre fois à travers les rotors, par un chemin différent. Ce double passage n'augmente pas le nombre d'agencements possibles puisque son circuit intérieur reste toujours le même. L'avantage est pratique: le chiffrement et le déchiffrement se font de la même manière. Supposons que l'on appuie sur la lettre « C », et que le signle emprunte un certain chemin à travers les rotors. Ce signal sera alors réfléchi et reviendra par un autre chemin, pour illuminer, par exemple, la lettre « M ». Si au lieu d'appuyer sur « C » on avait appuyé sur « M », on aurait fait allumer le voyant correspondant à la lettre « C ». Cependant, ce réfléchisseur apparemment inoffensif a été ce qui a causé la perte d'Énigma. Nous ne discuterons cependant pas de la cryptanalyse que les Polonais et ensuite les Anglais on fait d'Énigma.


next up previous contents
Next: 4 Cryptographie moderne Up: 3 Chiffrement polyalphabétique Previous: 3.3 Influence de la   Contents
Simon Perreault 2002-06-02