Presque tout le monde a entendu parler de la machine à chiffrer allemande Enigma - et son histoire continue de fasciner et d'inspirer les auteurs et les cinéastes. De plus, c'est Alan Turing, le père des ordinateurs modernes, qui a réussi à en déchiffrer le code même à l'époque.
Pendant la Seconde Guerre mondiale, de nombreux collègues mathématiciens de Turing (mais aussi des linguistes, des égyptologues, des joueurs d'échecs et même des auteurs de mots croisés) ont travaillé pour la Government Code and Cipher School à Bletchley Park, le centre britannique d'espionnage et de décodage. Ils devaient y développer des moyens d'intercepter et de décoder les communications de l'adversaire.
L'Enigme était la machine à chiffrer la plus sophistiquée du monde à cette époque. Elle protégeait les communications des flottes et des troupes allemandes et était considérée comme inviolable. Cependant, des cryptanalystes de Pologne et de Grande-Bretagne ont réussi à trouver un moyen de décrypter les messages Enigma, ce qui a donné à la coalition anti-hitlérienne un avantage significatif (selon Churchill et Eisenhower, même "l'avantage décisif").
En général, tout a fonctionné comme ça : Lorsqu'un message était tapé, le signal d'une frappe était envoyé sur un réseau électrique composé de plusieurs rouleaux avec des éléments de contact, puis une lettre de remplacement apparaissait sur le tableau de bord. Cette lettre a ensuite été utilisée dans le message crypté. Les rouleaux tournaient après chaque entrée et lorsque la même lettre originale était à nouveau pressée, elle était codée avec une lettre différente.
Le développement de la machine cryptoanalytique Bomba a permis le décodage constant des messages Enigma. Elle est le résultat d'une incroyable recherche scientifique et analytique et de quelques erreurs des Allemands.
Le développement de la machine cryptoanalytique Bomba a permis le décodage constant des messages Enigma. Il est le résultat d'une incroyable recherche scientifique et analytique et de quelques erreurs commises par les Allemands lors de l'utilisation de l'Enigme. Grâce à l'analyse des machines et des blocs-notes qui pouvaient être obtenus lors de raids et au fait que les cryptanalystes travaillaient avec des messages dont les codes sources contenaient des mots connus.
Mais que pouvons-nous apprendre de l'histoire d'Enigma pour nous aujourd'hui ? La machine elle-même n'inspirerait personne aujourd'hui en termes de méthodes de sécurité. Mais en même temps, nous pouvons en tirer quelques leçons :
Ne vous fiez pas trop à votre supériorité technique.
L'armée allemande avait de bonnes raisons de considérer l'Enigma comme incassable, mais les Alliés ont développé leur propre machine assez puissante pour analyser les réglages possibles de la machine, craquer le code et décoder les messages. Il s'agissait d'un saut quantique pour la technologie à l'époque, de sorte que les Allemands ne pouvaient pas prévoir cette évolution. On peut donc dire que la machine Bomba, dans la technologie de cryptage actuelle, serait un ordinateur quantique.
L'impossibilité de relier directement une lettre à son homologue dans un message crypté peut peut-être être considérée comme un détail insignifiant ou comme une solution appropriée à l'époque, mais c'était la possibilité de trier les clés mécaniquement non valables : Il suffit donc de rejeter toutes les possibilités lorsqu'au moins une lettre du message source correspond à une lettre du message crypté.
Il faut toujours chercher des moyens de rendre la clé plus exigeante.
Pour les utilisateurs normaux, cette astuce s'applique à la génération de mots de passe. A cette époque, l'ajout d'un rouleau supplémentaire à l'Enigme modifiée pour la Marine a paralysé le travail des cryptanalystes pendant six mois. Seule une copie de la machine, récupérée dans un sous-marin coulé, leur a permis de poursuivre leur travail. Comme vous pouvez le voir dans notre vérificateur de mots de passe, un seul caractère peut augmenter énormément le temps nécessaire pour craquer le mot de passe.
Le facteur humain
Nous ne pouvons pas être sûrs que les Alliés auraient déchiffré le code Enigma si les opérateurs allemands n'avaient pas commis de petites erreurs et agi un peu trop négligemment de temps en temps. D'autre part, le facteur humain peut également être appliqué aux efforts constants des Allemands pour chercher les raisons de la ruse des Alliés, au lieu de considérer que l'Enigme a pu être compromise.
La supériorité en matière de protection des données
L'un des plus grands défis pour le haut commandement allié était d'utiliser les informations des messages décodés de l'Enigme sans révéler le fait que l'Enigme avait été craquée. Parfois, des opérations spéciales ont été organisées pour dissimuler la véritable raison du succès (par exemple, elles ont permis à un avion de survoler la zone d'opérations avant le lancement d'une attaque, ou des informations ont été publiées sur un prétendu "initié de valeur" dans le contre-espionnage de l'ennemi). Parfois, les opérations ont dû être abandonnées - par exemple, les Alliés ont dû permettre que Coventry soit bombardée par les Allemands comme si l'attaque n'était pas connue.
Chaque jour, nous améliorons nos technologies et augmentons les performances des ordinateurs, mais les principes de base de l'utilisation et de la protection des informations évoluent beaucoup plus lentement, de sorte que nous pouvons encore tirer des leçons utiles du passé pour aujourd'hui.
Et même si l'Enigme ne devrait être qu'une histoire fascinante pour vous, nous vous recommandons des films comme Enigme - Le secret (script de Tom Stoppard) ou Le jeu d'imitation - Une vie top secrète (la biographie d'Alan Turing), ou le livre Cryptonomicon de Neal Stevenson. D'ailleurs, il existe aussi des simulateurs de machines à chiffrer, comme celui basé sur le bon vieux Excel.
La Seconde Guerre mondiale
La cryptologie a joué un rôle décisif pendant la Seconde Guerre mondiale. Les exploits des alliés en matière de cryptanalyse auraient permis d'écourter la guerre (de un à deux ans, selon certains spécialistes). Churchill citait la cryptologie comme l'un des facteurs clés de la victoire.
L'histoire de la machine Enigma commence en 1919, quand un ingénieur hollandais, Hugo Alexander Koch, dépose un brevet de machine à chiffrer électromécanique. Ses idées sont reprises par le Dr Arthur Scherbius, qui crée à Berlin une société destinée à fabriquer et à commercialiser une machine à chiffrer civile : l'Enigma. Cette société fait un fiasco, mais la machine Enigma a attiré l'attention des militaires.
La Seconde Guerre mondiale, ou Deuxième Guerre mondiale, est un conflit armé à l'échelle planétaire qui dure du 1er septembre 1939 au 2 septembre 1945. Ce conflit oppose schématiquement les Alliés et l’Axe.
Provoquée par le règlement insatisfaisant de la Première Guerre mondiale et par les ambitions expansionnistes et hégémoniques des trois principales nations de l’Axe (le Troisième Reich, l'Italie fasciste et l'Empire du Japon), elle est favorisée par la convergence d’un ensemble de tensions et conflits régionaux, notamment : en Afrique (Seconde guerre italo-éthiopienne dès 1935), en Espagne où la guerre civile commence le 18 juillet 1936, en Chine où la guerre contre le Japon débute le 7 juillet 1937, et en Europe centrale où l'Allemagne annexe autoritairement l'Autriche le 11 mars 1938 puis les territoires des Sudètes pris à la Tchécoslovaquie le 21 octobre 1938 et où enfin, le 1er septembre 1939, elle agresse militairement la Pologne grâce à un accord passé avec l'URSS. Ce dernier événement provoque dès le 3 septembre 1939, l'entrée en guerre du Royaume-Uni (à 11 h), de la France (à 17 h), et de leurs empires coloniaux respectifs.
Tout d'abord associée à l'Allemagne dans le partage de l'Europe, l'URSS rejoint le camp allié à la suite de l'invasion allemande le 22 juin 1941. Quant aux États-Unis, ils abandonnent leur neutralité après l'attaque de Pearl Harbor par les forces japonaises, le 7 décembre 1941. Dès lors, le conflit devient vraiment mondial, impliquant toutes les grandes puissances, et la majorité des nations du monde sur la quasi-totalité des continents.
La Seconde Guerre mondiale prend fin sur le théâtre d'opérations européen le 8 mai 1945 par la capitulation sans condition du Troisième Reich, puis s’achève définitivement sur le théâtre d'opérations Asie-Pacifique le 2 septembre 1945 par la capitulation également sans condition de l'Empire du Japon, dernière nation de l’Axe à connaître une défaite totale.
La Seconde Guerre mondiale constitue le conflit armé le plus vaste que l’humanité ait connu, mobilisant plus de 100 millions de combattants de 61 nations, déployant les hostilités sur quelque 22 millions de km26, et tuant environ 62 millions de personnes, dont une majorité de civils. La Seconde Guerre mondiale est aussi la plus grande guerre idéologique de l’Histoire, ce qui explique que les forces de collaboration en Europe et en Asie occupées aient pu être solidaires de pays envahisseurs ou ennemis, ou qu’une résistance ait pu exister jusqu’en plein cœur de l’Allemagne nazie en guerre. Guerre totale, elle gomme presque entièrement la séparation entre espaces civils et militaires et donne lieu dans les deux camps à une mobilisation massive des ressources non seulement matérielles — économiques et scientifiques — mais aussi morales et politiques, dans un engagement des sociétés tout entières.
La somme des dégâts matériels n’est pas évaluée avec certitude. Les pertes en vies humaines et les traumatismes collectifs et individuels sont considérables, la violence ayant pris des proportions inédites. Le conflit donne en effet lieu à de multiples crimes de guerre, crimes favorisés et banalisés par une violence militaire et policière d'une intensité et d'une profondeur inégalées, cette violence notamment contre les civils étant parfois un élément de la stratégie militaire. On assiste ainsi à l'émergence à une échelle inconnue jusqu'alors de crimes de masse particulièrement atroces et pour certains sans précédent, tout particulièrement à l'instigation de l'Allemagne nazie et du Japon impérial. Parmi ces crimes figurent des massacres génocidaires allant jusqu'à une organisation industrielle s’appuyant sur la déportation en camps de concentration, camps de travail et camps d'extermination, comportant des chambres à gaz à des fins d’extermination de populations entières (Juifs, Slaves, Tziganes) ou de catégories particulières d’individus (communistes, homosexuels, handicapés, etc.) particulièrement à l’instigation du régime nazi. L'ampleur des crimes des vaincus suscite la définition d'une incrimination nouvelle par les vainqueurs : le crime contre l'humanité, appliquée notamment au génocide des juifs d'Europe. Le régime Shōwa n'est nullement en reste en Asie avec, à son actif, dix millions de civils chinois enrôlés de force par la Kōa-in au Mandchoukouo, environ 200 000 « femmes de réconfort » enrôlées en Corée et dans tout l’Extrême-Orient, ainsi que l’annihilation systématique de populations civiles, principalement en Chine.
Il faut ajouter à cela l'assassinat systématique de résistants et d'opposants politiques, ainsi que les représailles contre les civils, comme le firent par exemple les nazis ; les viols généralisés des femmes dans les territoires ennemis occupés, crimes perpétrés tant par un camp que par l'autre, et à une moindre échelle dans les territoires amis ; les expérimentations sur des êtres humains auxquelles se livrèrent des médecins nazis tels le SS Josef Mengele, et l’unité japonaise 731 ; les bombardements aériens massifs de civils d’abord par l’Axe en Europe (Coventry en Grande-Bretagne, Rotterdam aux Pays-Bas) et en Asie (Shanghai, Canton, Chongqing, cette dernière étant la ville la plus bombardée du conflit sino-japonais), puis par les Alliés : bombardement à grande échelle de nombreuses villes allemandes et notamment Dresde et Hambourg, attaques sur Tokyo au napalm au Japon. Développée par les États-Unis lors du conflit, la bombe atomique est utilisée pour la première fois de l'Histoire : deux bombes A larguées sur des cibles civiles par les États-Unis explosent à trois jours d’intervalle, à Hiroshima et à Nagasaki, au Japon.
La Seconde Guerre mondiale propulse les États-Unis et l’URSS, principaux vainqueurs, au rang de superpuissances concurrentes appelées à dominer le monde et à se confronter dans une vive rivalité idéologique et politique, pendant près d'un demi-siècle, et à s'affronter militairement par États interposés comme pour la guerre de Corée, la guerre du Viêt Nam et la guerre d'Afghanistan. Elle scelle le déclin des vieilles puissances impériales d’Europe et ouvre le processus de décolonisation qui s’accélère dans l'après-guerre en Asie, dans le monde arabe et en Afrique, jusqu'aux années 1960.
L'ampleur des destructions et des morts suscite la création d'instances internationales, politiques et économiques, visant à éviter la réapparition des conditions ayant mené à la guerre (Organisation des Nations unies, Fonds monétaire international, Banque mondiale et Accord général sur les tarifs douaniers et le commerce pour les plus connues). Enfin, ce dernier conflit d'ampleur sur le continent européen est suivi en Europe de l'Ouest par une période de prospérité sans précédent, dans la foulée de la reconstruction, et l'émergence progressive d'un projet d'unification politique pacifique porté en premier lieu par les deux adversaires historiques, l'Allemagne et la France.
Le fonctionnement d'Enigma
Le chiffrement effectué par la machine Enigma est à la fois simple et astucieux. Chaque lettre est remplacée par une autre, l'astuce est que la substitution change d'une lettre à l'autre. La machine est alimentée par une pile électrique. Quand on appuie sur une touche du clavier, un circuit électrique est fermé, et une lettre d'un tableau d'affichage s'allume qui indique par quelle substitution le chiffrement a été effectué. Concrètement, le circuit électrique est constitué de plusieurs éléments en chaîne :
le tableau de connexions : il permet d'échanger des paires de l'alphabet, deux à deux, au moyen de fiches ; il y a 6 fiches qui permettent donc d'échanger 12 lettres ; un tableau de connexions est donc une permutation très particulière où on a échangé au plus 6 paires ; par exemple, dans le tableau suivant (avec simplement 6 lettres), on a échangé A et C, D et F, tandis que B et E restent invariants ;
les rotors : un rotor est également une permutation, mais cette fois quelconque ; à chaque lettre en entrée correspond une autre lettre.
On peut composer les rotors, c'est-à-dire les mettre les uns à la suite des autres. La machine Enigma disposera, au gré de ses évolutions successives, de 3 à 6 rotors. Parmi ces rotors, seuls 3 sont en place dans la machine, et on a le choix de les placer dans l'ordre que l'on souhaite (ce qui constituera une partie de la clé). Surtout, les rotors sont cylindriques, et ils peuvent tourner autour de leur axe. Ainsi, à chaque fois qu'on a tapé une lettre, le premier rotor tourne d'un cran, et la permutation qu'il engendre est changée. Observons ce changement sur la figure suivante : le rotor transforme initialement D en B. Lorsqu'il tourne d'un cran, cette liaison électrique D→B se retrouve remontée en C→A.
Chaque rotor possède donc 26 positions. À chaque fois qu'une lettre est tapée, le premier rotor tourne d'un cran. Après 26 lettres, il est revenu à sa position initiale, et le second rotor tourne alors d'un cran. On recommence à tourner le premier rotor, et ainsi de suite... Quand le second rotor a retrouvé sa position initiale, c'est le troisième rotor qui tourne d'un cran.
Le réflecteur : Au bout des 3 rotors se situe une dernière permutation qui permet de revenir en arrière. On permute une dernière fois les lettres 2 par 2, et on les fait retraverser les rotors, et le tableau de connexion.
Résumons sur la machine simplifiée suivante (6 lettres, 2 rotors) comment est chiffrée la lettre A :
le courant traverse le tableau de connexions : on obtient C ;
il traverse les 2 rotors : on obtient successivement A et F ;
il traverse le réflecteur où on obtient E, puis il repasse dans les rotors pour obtenir F, A et finalement C après le tableau de connexions.
Remarquons que si on avait tapé C, le courant aurait circulé dans l'autre sens et on aurait obtenu A.
Nombre de clés possibles
Il y a trois éléments à connaître pour pouvoir déchiffrer un message chiffré au moyen d'une machine Enigma :
la position des 6 fiches du tableau de connexion : d'abord, il faut choisir 12 lettres parmi 26 ; c'est donc le nombre de combinaisons de 12 parmi 26, soit 26! /(12!14!) = 9 657 700 ; maintenant, il faut choisir 6 paires de lettres parmi 12, soit 12!/6!, et comme la paire (A, B) donne la même connexion que la paire (B, A), il faut encore diviser par 26 ; on trouve finalement 100 391 791 500 ;
l'ordre des rotors : il y a autant d'ordres que de façons d'ordonner 3 éléments : 3!=6 ;
la position initiale des rotors : chaque rotor ayant 26 éléments, il y a 26*26*26=17 576 choix.
On multiplie tout cela, et on obtient plus de 1016 possibilités, ce qui est énorme pour l'époque.
Les circuits du courant électrique à l'intérieur de la machine ne peuvent pas être considérés comme faisant partie du secret. En effet, toutes les machines d'un même modèle utilisent les mêmes, et il suffit donc d'en avoir une à disposition. Les Britanniques, par exemple, en ont récupéré plusieurs qu'ils ont copiées en nombre. D'ailleurs, le principe d'Enigma est connu, les Britanniques en fabriquent une version très améliorée, la machine Typex. Ceci est une illustration d'un principe général en cryptographie, dit principe de Kerckhoffs, qui veut que tout le secret doit résider dans la clé de chiffrement et de déchiffrement, et non pas dans une quelconque confidentialité de l'algorithme (ici de la machine) qui ne peut être raisonnablement garantie.
Points forts et faiblesses
Nous avons déjà décrit les points forts de la machine Enigma. Pour l'essentiel, c'est le nombre presque infini de clés, et la réversibilité : si, avec la même clé, on tape le message clair, on obtient le message chiffré, et avec le message chiffré, on obtient le message clair.
L'une des failles de la machine Enigma est que jamais la lettre A ne sera codée par un A. Autre caractéristique, deux lettres différentes frappées à la suite (ex. AB) ne donnent jamais, deux fois de suite, la même lettre chiffrée (ex. CC). Cela élimine un certain nombre de combinaisons. Autre faiblesse, les fautes des chiffreurs : certains chiffreurs envoient des messages du même format avec des mots récurrents. C'est le cas des messages météo qui circulent par Enigma, mais aussi dans des réseaux moins protégés. Les Britanniques connaissent alors, pour une partie du message, à la fois le texte clair et le texte chiffré. Et comme la même clé sert à toutes les machines Enigma d'un même réseau, pour un jour donné, une erreur de protocole dans un message compromet tous les messages de ce réseau, ce jour-là !
Le décryptage des messages Enigma
Le service de renseignements polonais fut le premier à attaquer le chiffre Enigma, dans les années 1930. Les Polonais travaillèrent ensuite en collaboration avec le service cryptographique du 2e bureau français, dirigé par le colonel Gustave Bertrand, aidé par les informations de la taupe Hans-Thilo Schmidt (« Asche » pour les services français était aussi nommée « Source T » par les services du Contre Espionnage français). Finalement, une collaboration s'instaure avec les services britanniques, qui rassemblèrent leurs spécialistes (en particulier Alan Turing) cryptographes à Bletchley Park.
L'Enigma navale est sensiblement différente des autres versions. La position initiale est indiquée par des combinaisons de lettres manipulées à partir de tables de bigrammes. Les chiffreurs de la Kriegsmarine ne font pas de fautes. Codés avant d'être chiffrés, les messages sont trop courts pour donner prise au décryptage. Le trafic des U-Boot est illisible.
Les bombes électromécaniques utilisées pour reconstituer la clé des messages Enigma sont réglées par des Wrens (marinettes) d'après les instructions des cryptanalystes. Une fois découverte la clé quotidienne d'un réseau, les messages sont déchiffrés par les équipes de décryptage. Le rôle des bombes est juste de trouver la clé. Trois à quatre mille messages étaient décryptés chaque jour par les 9 000 hôtes de Bletchley Park10.
Enigma et UNIX
Un étudiant s'amusa un jour à programmer en langage C la simulation du fonctionnement d'une machine Enigma. Ce programme fut inclus dans les distributions Unix sous le nom de crypt (utilisable comme une commande UNIX). Jusqu'à la déclassification des travaux du groupe de Bletchley Park, les bureaux d'études d'ingénierie estimaient ce chiffrement très sûr et l'utilisaient pour échanger leurs informations confidentielles, pour la plus grande joie de la National Security Agency qui voyait son travail considérablement facilité[réf. nécessaire].
Le chiffre Lorenz
Le chiffre des hauts dirigeants allemands
Si la machine Énigma est la plus connue, l'attaque de la machine de Lorenz, utilisée par le haut commandement ennemi pour chiffrer ses téléimpressions, est à l'origine d'immenses progrès des sciences et des techniques.
Casser du code ?
Le chiffre Énigma n'a jamais été cassé. Les fautes des chiffreurs et la puissance des bombes (plusieurs centaines à la fin de la guerre) ont permis de trouver, certains jours, la clé quotidienne de certains réseaux. Il s'agit d'une attaque par force brute.
Le chiffre Lorenz a été cassé : à partir du texte chiffré, le texte clair est reconstitué, sans usage de clé.
L'analyse du chiffre Lorenz
Le chiffre Lorenz pratiquait le chiffrement par flot (stream cipher). Ce type de chiffrement a une faiblesse : il devient trivial à inverser lorsque deux messages sont chiffrés avec la même clé.
En considérant que A est le texte clair, que B est la clé, et que le message chiffré est A + B ou A', si deux messages sont chiffrés avec la même clé, A' = A + B et C' = C + B, il suffit de faire l'addition des deux textes chiffrés pour éliminer la clé.
A' + C' = (A + B) + (C + B) = (A + C) + (B + B) = A + C puisque B + B = 0.
Puisque tous les effets de la clé sont maintenant retirés, il ne reste qu'à faire une analyse statistique pour « séparer » les deux textes A et C et retrouver ainsi chacun d'eux. La clé devient aussi triviale à calculer (elle est égale à A' + A).
Un chiffreur a transmis un long message pour recevoir en réponse un NACK (message non reçu). Plutôt que de respecter les règles et produire une nouvelle clé, il a repris la même clé et a renvoyé son message. S'il avait renvoyé exactement le même texte lettre par lettre, l'attaque n'aurait pas été possible. Par contre, en utilisant un diminutif ici et un synonyme là, il a techniquement envoyé ce second message chiffré avec la même clé.
Après avoir retrouvé les deux messages et la clé unique, celle-ci a révélé ses secrets. La technique utilisée chiffrait les lettres sur cinq bits où chaque bit traversait un canal de chiffrement différent. La clé a montré certaines répétitions. De celles-ci a été déduit tout le principe de la génération de la clé et celui de la machine Lorenz. Une autre distinction entre Énigma et Lorenz est que les Alliés avaient mis la main sur plusieurs Énigma qu'ils ont copiées en nombre. Au contraire, les Alliés ne virent une authentique machine Lorenz qu'après la fin de la guerre.
La faiblesse du chiffre Lorenz
Si le mécanisme de génération de clé de Lorenz était maintenant connu, il ne suffisait pas à décrypter les autres messages chiffrés. De plus, l'analyse statistique de la clé montrait que celle-ci resterait aléatoire sur chaque canal même si elle était contrôlée par des paramètres non aléatoires comme la prépondérance de certaines lettres dans une langue.
Une faiblesse dans le code Lorenz a malgré tout été trouvée. Deux lettres consécutives identiques produisaient un résultat constant sur chacun des 5 canaux dans le texte chiffré. Un exemple est le doublon « SS », en plus de ceux imposés par la langue.
Retombées de la guerre du chiffre Lorenz
Trouver une faille est une chose, l'exploiter en est une autre. En effet, l'analyse statistique nécessaire pour retrouver ces doublons demandait une puissance indisponible par les moyens connus. Or, c'est à cette époque que fut développée l'arme ultime du décryptage, l'ordinateur Colossus.
C'est donc grâce à Colossus que le chiffre Lorenz a pu être cassé. Le détail de ses algorithmes déborde toutefois les objectifs de cette section.
Le plus grand hommage est prononcé par un Allemand qui compare l'effort massif des Alliés aux attaques nucléaires contre le Japon.
L'ingénieur américain Philip Johnston, qui avait grandi dans les réserves navajos, eut l'idée d'utiliser leur langue comme code. Pratiquement inconnue, cette langue, d'une construction grammaticale très particulière, est impénétrable.