Ils ont refait la machine qui a cassé le code Enigma, version FPGA
Trois étudiants de l’université Cornell ont reconstruit, sur une puce moderne, la machine qui a permis aux Alliés de casser le code Enigma pendant la Seconde Guerre mondiale.
Erica Jiang, Kelvin Resch et Isabella Frank ont mené ce projet dans le cadre du cours ECE 5760, repéré par le site spécialisé Hackaday. Plutôt qu’une simple simulation logicielle, ils ont gravé toute la logique du déchiffrement directement dans le matériel, en utilisant un FPGA.
Un FPGA (Field Programmable Gate Array), c’est une puce dont on peut recâbler les circuits comme on veut, autant de fois qu’on veut. Au lieu d’écrire un programme qui tourne sur un processeur classique, vous redessinez physiquement la logique de la puce. Pour répéter encore et encore la même opération à toute vitesse, c’est imbattable.
Petit rappel sur Enigma. La machine utilisée par l’armée allemande chiffrait chaque message avec trois rotors choisis parmi cinq, plus un tableau qui reliait dix paires de lettres entre elles. Le nombre de réglages possibles ? Environ 159 quintillions. Un 159 suivi de dix-huit zéros.
Autant dire qu’on ne teste pas ça à la main.
À Bletchley Park, le centre secret du renseignement britannique, Alan Turing a conçu une machine électromécanique baptisée la Bombe pour faire le tri. L’astuce ne consistait pas à tout essayer, mais à éliminer logiquement des montagnes de combinaisons impossibles à partir d’un “crib”, un bout de texte qu’on devinait présent dans le message, souvent un bulletin météo ou un bon vieux “Heil Hitler”.
Un autre mathématicien, Gordon Welchman, a ensuite ajouté le “diagonal board”, un câblage supplémentaire qui exploitait une faiblesse d’Enigma pour aller beaucoup plus vite. À l’époque, une Bombe mettait une vingtaine de minutes à passer en revue les positions de rotors d’un message.
C’est tout ce système que les trois étudiants ont rebâti, pas seulement la Bombe isolée mais l’ensemble de la chaîne de déchiffrement de Bletchley Park. Et comme la logique est figée dans la puce, le FPGA l’exécute bien plus vite qu’un logiciel sur un processeur ordinaire.
La documentation complète, le code source et une vidéo de l’interface en plein déchiffrement sont en ligne sur le site de Cornell.
Ce genre de projet, c’est aussi une façon de garder vivante une histoire qui a pesé sur le cours de la guerre, et au passage sur toute la naissance de l’informatique. Turing en est l’un des pères.
Refaire en quelques mois de cours ce qui mobilisait des baraquements entiers en 1940, sur une puce qui tient dans la main, ça a quelque chose de fou quand même.
Source :
Hackaday

Leave a Comment