Page d'accueil encyclopedie-enligne.com en page d'accueil
Liste Articles: [0-A] [A-C] [C-F] [F-J] [J-M] [M-P] [P-S] [S-Z] | Liste Catégories | Une page au hasard | Pages liées

Machine Enigma

Cet article est en cours de traduction depuis la version anglaise de wikipedia

Enigma, une machine de chiffrement électromécanique à cylindres; la version ci-dessus est probablement militaire, mais est similaire à la version commerciale Enigma-D
Agrandir
Enigma, une machine de chiffrement électromécanique à cylindres; la version ci-dessus est probablement militaire, mais est similaire à la version commerciale Enigma-D

Enigma est une machine électro-mécanique portable à base de cylindres pour le chiffrement et le déchiffrement de l'information. Plus précisément, Enigma est une famille de machines — il en a existé de nombreuses et subtiles variantes.

Enigma fut commercialisée en Europe et dans le reste du monde dès le début des années 1920. Elle fut aussi adaptée pour une utilisation par les services militaires et diplomatiques de nombreuses nations; son utilisation la plus fameuse fut celle de l'Allemagne Nazie avant et pendant la Seconde Guerre mondiale. Bien qu'on la considérait comme sûre, les cryptologues Alliés furent, à plusieurs reprises, capables de décrypter les messages protégés par ces machines; voir cryptanalyse d'Enigma pour plus de détails.

Les informations obtenues grâce à cette source leur donnèrent un net avantage dans la poursuite de la guerre. Il a été estimé que la guerre en Europe s'est terminée au moins un an plus tôt grâce à la cryptanalyse du code allemand, dans lequel le déchiffrage des informations codées par Enigma a joué une part importante; voir Ultra. Bien que la machine ait des faiblesses intrinsèques, les erreurs faites par les codeurs utilisant Engigma ainsi que les piètres décisions politiques des autorités, ont aussi joué un rôle significatif en simplifiant la difficulté des messages à être lus.

Brièvement, la machine Enigma crypte les informations en réalisant le passage d'un courant électrique à travers une série de composants. Le courant transmis en pressant une lettre sur le clavier. Après sa traversée dans un réseau complexe de fils, une lampe indique la lettre encryptée. Le premier composant est une série de roues adjacentes, appelées rotors, qui contiennent les fils électriques utilisés pour coder le message. Les rotors tournent, variant la configuration complexe du réseau chaque fois qu'une lettre est tapée. La machine Enigma utilis habituellement une autre roue, nommée le réflecteur, et un moyen de complexifier encore plus le processus de codage, ce composant est connu sous le nom de plugboard.

Sommaire

Description

La machine Enigma est une combinaison d'éléments mécaniques et électriques. Le mécanisme mécanique consiste en un clavier, un jeu de disques rotatifs appelés rotors adjacents et arrangés le long d'un axe, et un mécanisme tournant les rotors (le nombre de rotors tournés peut varier) chaque fois qu'une touche est pressée. Le mécanisme exact varie, mais la forme la plus commune est celle où le rotor du côté droit tourne chaque fois qu'une touche est pressée, et où occasionnellement les rotors voisins sont déplacés, de manière similaire (mais non identique) à l'action d'un odomètre. Le mouvement continu des rotors permet l'obtention de transformations cryptographiques différentes à chaque pression sur une touche.

Les parties mécaniques agissent de telles façon qu'elle change sans cesse le circuit électrique ; le codage de la lettre actuelle est réalisée électiquement. Lorsqu'une touche est pressée, le circuit est complété. Le courant traverse alors les différents composants pour finalement allumé une des nombreuses ampoules indiquent la lettre de sortie. Lorsque le chiffrage d'un message commence, ANX... par exemple, l'opérateur devra pressé la touche A et la lampe Z pourrait s'allumer; dans ce cas, Z sera la première lettre du texte chiffré. L'opérateur procède alors au codage de la lettre N de la même manière que pour la lettre A, et ainsi de suite.



A réinjecter une fois la traduction terminée :

Cette technique est largement utilisée en Europe sous d'autres formes au début des années 20. La renommée d'Enigma est due à son utilisation par l'armée allemande à partir de 1930. Sa facilité d'utilisation et son code supposé incassable font qu'Enigma est largement adoptée par les Allemands. Le code a en fait été cassé dès 1939 par des mathématiciens polonais aidés de moyens électromécaniques (« bombes ») et transmis à l'ambassade britannique à Varsovie deux jours avant l'invasion, la date de celle-ci étant évidemment connue des services Polonais. Compte-tenu du très grand nombre de messages à déchiffrer, Alan Turing développa des versions plus rapides des bombes et on admet généralement que le déchiffrage des messages secrets a permis de terminer la Seconde Guerre mondiale avec une année de moins.

La machine de codage britannique Typex, et plusieurs des machines américaines comme par exemple SIGABA ou le M-134-C, fonctionnent sur des principes analogues à Enigma, mais de manière beaucoup plus sûre. La première machine à cylindres chiffrants moderne de Edward Hebern est considérée comme moins sûre, un fait noté par William F. Friedman lors de son acquisition par le gouvernement américain.

Histoire

Enigma est développée par Arthur Scherbius à partir de 1919. Il fonde une société à Berlin qui produit et vend la première version commerciale (Enigma-A) en 1923. Trois autres versions commerciales vont suivre, et l'Enigma-D devient le modèle le plus répandu après son adoption par la marine allemande en 1926. L'appareil est ensuite repris par l'armée en 1929. À partir de ce moment, son usage est étendu à toute l'organisation militaire allemande et une grande partie de la hiérarchie Nazie. La marine allemande surnomme Enigma la machine M.

Pendant la guerre, des versions d'Enigma sont utilisées pour pratiquement toutes les communications radio allemandes (mais aussi celles d'autres puissances de l'Axe), ainsi que pour les communications télégraphiques. Même les bulletins météos sont codés avec Enigma. Les Espagnols (lors de la guerre civile) puis les Italiens (pendant la Seconde Guerre mondiale) utilisent une des versions commerciales de la machine, inchangée, pour leurs communications militaires. Cette imprudence bénéficie aux Anglais qui n'en cassent le code que plus vite. Cela contribue à la victoire britannique face à la flotte italienne à Matapan.

Il ne suffisait pas de déchiffrer toutes les communications de l'ennemi : il fallait aussi que celui-ci l'ignore, faute de quoi il aurait progressivement changé de matériel codant. La destruction de chaque navire allemand dont la position était connue était donc précédée de l'envoi d'un avion de reconnaissance censé passer là par hasard Celui-ci prenait soin de bien se faire voir, et l'attaque pouvait ensuite être lancée sans alerter l'État-Major ennemi (qui devait se dire que les Alliés avaient soit beaucoup de chance, soit beaucoup d'avions!). En revanche, là où l'on ne pouvait envoyer ces avions pour des raisons d'autonomie, les Alliés devaient laisser partir des convois dont ils savaient qu'ils n'arriveraient jamais : les annuler eût été alerter immédiatement l'ennemi.

Fonctionnement

Enigma est une machine électro-mécanique, ce qui signifie qu'elle utilise une combinaison de parties mécaniques et électriques. Le mécanisme ressemble à première vue à celui d'un clavier de machine à écrire relié à des contacteurs électriques et des rotors.

La partie électrique de l'appareil est constituée par une pile reliant les touches du clavier à des lampes. Lorsque que l'on appuie sur l'une des touches, l'une des lampes s'allume. Dans la photographie ci-dessus vous pouvez voir les touches sur la face avant de la machine. Les lampes sont les petits cercles (à peine visibles) situés au-dessus du clavier, au centre de l'appareil.

Au cœur de la machine, on trouve la partie mécanique constituée du plusieurs rotors interconnectés. Les rotors d'Enigma, dans la plupart des versions, ont l'apparence de plateaux circulaires munis de 26 contacteurs sur chaque face externe qui sont disposés de manière circulaire. Chaque contacteur est relié à un autre contacteur sur la face opposée. Par exemple, sur un rotor particulier, le 1er contacteur d'une face peut être relié au 14e contacteur de la face opposée, le 2e contacteur relié au 22e de l'autre face, et ainsi de suite. Chaque rotor est connecté de manière différente à ses contacteurs. La version d'Enigma utilisée par l'armée allemande et le parti Nazi possède un jeu de connexions des rotors différent des versions commerciales.

A l'intérieur de la machine il y a trois fentes (dans la plupart des variantes) dans lesquelles on peut mettre en place les rotors. Les rotors sont empilés de sorte que les contacteurs d'entrée d'un rotor soient reliés aux contacteurs de sortie du rotor précédent. Le troisième et dernier rotor est relié dans la plupart des versions à un réflecteur (fait unique qui distingue la famille des machines Enigma des autres machines à rotors de l'époque). Ce réflecteur relie la sortie du troisième rotor à son entrée, renvoyant ainsi le signal au premier rotor par un cheminement différent. Sur la photo, vous pouvez voir les trois rotors situés dans la partie supérieure de la machine, munis de petits ergots en surface permettant de les faire tourner à la main.

Lorsque l'on presse une touche du clavier, le courant de la batterie partant de cette lettre, par exemple A, va jusqu'à la position du contacteur A du premier rotor. Le courant atteint l'autre côté du rotor, selon son câblage interne, au niveau d'un autre contacteur, disons J. Le courant parcourt ensuite les rotors suivants, transformant le J en X par exemple, et ainsi de suite. Lorsque le signal revient au premier rotor, une autre lampe que A s'illumine, se substituant ainsi à la lettre A. On parle de chiffrement par substitution.

Comme la position des rotors change à chaque pression de touche (à la manière d'un compteur de vitesse automobile), la lettre A devient par exemple Q la première fois, mais lors de la substitution suivante, le A peut être remplacé par un T ou autre chose. Après avoir pressés 26 lettres, une came entraîne le rotor de la fente suivante et le fait tourner. L'alphabet de substitution est ainsi modifié avec chaque pression de touche.

Grâce à l'interconnexion aléatoire de chaque rotor, la séquence exacte de ces substitutions dépend de la position initiale des rotors, de leur ordre d'installation, et du choix des rotors (câblage interne). Ces réglages appelés configuration initiale sont donnés dans un livre et changent une fois par mois au début de la guerre. Ces changements deviennent de plus en plus fréquents jusqu'à devenir journaliers vers la fin de la guerre, voire plusieurs fois par jour sur certains réseaux.

Les version les plus courantes d'Enigma sont dites symétriques dans le sens que le chiffrage et déchiffrage de l'information fonctionne de la même manière. En effet, si l'on tape le texte chiffré dans Enigma, la séquence des lampes allumées correspondra au texte en clair. Mais cela ne fonctionne que dans le cas où la machine possède la même configuration initiale que celle qui a chiffré le message.

Cryptanalyse basique

Les codes, bien sûr, peuvent être attaqués, et les méthodes les plus efficaces dépendent du type de chiffrement employé. Au début de la Seconde Guerre mondiale, les départements de décryptage étaient suffisamment compétents pour casser la plupart des codes aux prix d'efforts soutenus. Cependant, la plus grande partie de ces techniques nécessitait un accès à une quantité suffisante de textes chiffrés à l'aide d'une même clé. À partir de là, aux prix de nombreux efforts et d'une étude statistique, on arrivait à déterminer un nombre suffisant de motifs répétitifs.

Dans les méthodes d'analyse fréquentielle, les motifs de lettres ou de groupement de plusieurs lettres, sont des indices importants. Dans toutes les langues, certaines lettres apparaissent de manière beaucoup plus fréquentes. Ainsi, le décompte de celles contenues dans un message chiffré donnent une bonne idée des substitutions les plus probables qu'effectuent un algorithme de chiffrement par substitution. En général, on recherche des lettres ou des combinaisons types. Par exemple, en Anglais, E T A O I N et S, sont très faciles à identifier. De même pour les combinaisons du type NG et ST qui sont très fréquentes. Lorsque l'une ou plusieurs de ces combinaisons est identifiée, on peut déchiffrer le message en partie, ce qui révèle des informations utiles pour identifier d'autres substitutions.

Les méthodes d'analyse fréquentielle les plus basiques, supposent qu'une lettre dans le message clair est toujours remplacée par une seule lettre dans le message chiffré. Si ce n'est pas le cas, la situation devient plus délicate. Pendant plusieurs années, les cryptographes ont essayé de cacher les fréquences en utilisant plusieurs substitutions différentes pour les lettres les plus courantes. Mais cela ne permet pas de masquer totalement les substitutions. De tels codes sont largement cassés depuis le XVIe siècle.

Une autre technique consiste à rendre l'analyse fréquentielle plus difficile en changeant les substitutions pour chaque lettre, et plus seulement pour les plus fréquentes. Mais cela serait très contraignant et très long pour les deux parties d'échanger leurs séquences de substitutions avant d'échanger le message chiffré. Au milieu du XVe siècle, une nouvelle technique inventée par Alberti que l'on connaît sous le nom de chiffrement polyalphabétique permet de créer cette multitude de substitutions possibles de manière algorithmique. À ce moment là, les deux parties n'échangent plus qu'un nombre restreint d'informations (appelé la clé) que l'on utilise pour générer d'une manière simple la séquences des substitutions. L'idée est simple et efficace, mais se révèle plus difficile à mettre en pratique que ce que l'on espérait. La plupart des codes alors conçus ne sont que des implémentations partielles du concept, et sont plus faciles à casser que si leur implémentation avait été totale (cf par exemple le code de Vigenere).

Il faut attendre plusieurs siècles avant que l'on ait des méthodes vraiment efficaces pour casser les codes polyalphabétiques. Ces nouvelles techniques sont basées sur les statistiques (par exemple le comptage de coïncidences) pour découvrir des informations sur la clé utilisée pour chiffrer un message. On recherche des motifs répétés dans le message chiffré, ce qui donnent des indices sur la taille de la clé. Lorsque cette donnée est connue, le message est ensuite traité comme une série de messages qui sont de la même taille que la clé, auxquels on peut appliquer les méthodes de l'analyse fréquentielle classique. Charles Babbage, Friedrich Kasiski, et William F. Friedman sont les principaux instigateurs de ces techniques de décryptage.

Afin de garantir la sécurité des informations, il fallait donc, non seulement utiliser une substitution différente pour chaque lettre, mais également avoir une clé très très longue. Cela n'est pourtant pas aussi facile à mettre en pratique : une longue clé est plus difficile à transmettre aux destinataires qui en ont besoin, d'autant plus qu'il faut éviter toute erreur de retranscription. Le code le plus efficace de cette famille se devait de générer une longue clé à partir d'un motif simple, assurant ainsi un nombre suffisant d'alphabets de substitution pour rendre les attaques statistiques ou fréquentielles impossibles dans la pratique.

L'utilisation de plusieurs rotors par Enigma fournit une manière simple pour déterminer quel alphabet de substitution est utilisé pour chiffrer ou déchiffrer une lettre particulière. Cependant, contrairement à la plupart des variantes du codage polyalphabétique, Enigma n'a pas de taille de clé à proprement parler. En effet, ces rotors produisent un nouvel alphabet de substitution à chaque pression de touche. De plus, la séquence de ces alphabets de substitution peut être complètement changée en faisant tourner l'un ou plusieurs des rotors à la main, en changeant l'ordre des rotors, etc. avant de commencer à utiliser Enigma. De manière plus simple, on peut dire qu'Enigma possède une banque de 26 x 26 x 26 = 17576 alphabets de substitution pour toute combinaison de rotor. La séquence d'utilisation de ces alphabets varie selon que l'on met les rotors en position ABC, ou ACB, etc. Et tant que le message ne dépasse pas les 17576 caractères, il n'y aura aucune répétition de l'alphabet de substitution. Pourtant, cette 'clé' peut être communiquée de manière très facile à un autre utilisateur, il s'agit de valeurs très simples, du type numéro de rotors, position de l'anneau et position de départ.

Pour la petite histoire

L'algorithme de cryptage d'Enigma a été implémenté par un étudiant en tant que commande UNIX (crypt), intégré dans la distribution de ce système et a été utilisé par des laboratoires civils et militaires qui croyaient protéger ainsi leurs communications (les travaux de décryptage de Blenchley Park étaient en effet classifiés jusque dans la dernière décennie du XXe siècle), ce qui a bien entendu pu faciliter l'espionnage industriel.

Voir aussi

Histoire de la cryptographie

Liens externes




This site support the Wikimedia Foundation. This Article originally from Wikipedia. All text is available under the terms of the GNU Free Documentation License Page HistoryOriginal ArticleWikipedia