Turings Bombenemulator auf Raspberry Pi und Arduino

" Enigma " - eine Reihe deutscher elektromechanischer Rotor-Chiffriermaschinen, die seit den zwanziger Jahren des letzten Jahrhunderts eingesetzt werden. Einschließlich der Zeit der aktiven Übertragung von auf Enigma verschlüsselten Nachrichten fällt während des Zweiten Weltkriegs. In dieser Hinsicht hat sich ein enormer praktischer Wert für die Aufhebung der Verschlüsselung von Enigma herausgestellt.

Um Enigma-Codes zu hacken, entwickelte das polnische Verschlüsselungsbüro eine kryptologische Bombe, mit der Nachrichten gehackt wurden. Insgesamt wurden sechs Maschinen für sechs Rotorkombinationen erstellt, die aufgrund der Spezifität der Bedingungen für eine verschlüsselte Nachricht einen begrenzten Umfang hatten. Maschinen verloren mit der Einführung neuer Rotoren schnell ihre Bedeutung, und die polnische Seite verfügte nicht über die Ressourcen, um 54 weitere „Bomben“ herzustellen. Danach musste ich zu manuellen Methoden zurückkehren -Blätter von Zygalsky . Basierend auf polnischen Entwicklungen wurde eine fortschrittlichere Bombe entwickelt , eine elektromechanische Maschine, die am häufigsten mit der Persönlichkeit von Alan Turing in Verbindung gebracht wird. Insgesamt wurden etwa anderthalbhundert britische "Bomben" gebaut. Nach dem Ende des Zweiten Weltkriegs wurden fast alle Bomben aus Gründen der Geheimhaltung zerstört.

Obwohl sich auf dem Gerät eine Dokumentation im freien Verkehr befindet, können erfolgreiche Versuche, die Bombe wiederherzustellen, an den Fingern einer Hand gezählt werden. Dies ist zum Beispiel eine praktikable Rekonstruktion des Bombe Rebuild Project eines Amateur-Teams unter der Leitung von John Harper. Die Erstellung des Replikats dauerte 13 Jahre. Gestern im Netzwerk veröffentlicht sein viel bescheideneres ProjektAmateur aus Neuseeland. Dies ist ein Emulator von drei Rotoren. In der echten "Bombe" gab es 26 miteinander verbundene Tripel.

Enigma verwendete eine polyalphabetische Chiffre , deren bekanntestes Beispiel die Viginer-Chiffre ist . Wir können das Funktionsprinzip der Chiffre kurz als Caesars dynamische Chiffre beschreiben, bei der sich die Tiefe der Verschiebung nach einem bestimmten Algorithmus ändert. Die Herzen des Enigma sind drei Rotoren, obwohl später vier Kopien erstellt wurden. Auf jedem der Rotoren auf beiden Seiten befinden sich 26 Kontakte, die den Buchstaben des Alphabets entsprechen. Die elektrischen Verbindungen der Schienen zwischen den Kontakten verlaufen nicht in einer geraden Linie, sie unterscheiden sich von Rotor zu Rotor. Die Rotoren können entfernt, ihre Position geändert oder andere Rotoren aus dem Satz eingesetzt werden. Seit Januar 1939 bestand das Set in den Bodentruppen und in der Luftfahrt aus 5 Rotoren, die 60 Kombinationen ergaben, und in der Flotte aus 8 (336 Kombinationen).



Eine zusätzliche Maßnahme ist die Verwendung eines Patch-Panels. Durch elektrische Anschlüsse mit Drähten an der Vorderseite der Maschine können Sie die Buchstaben paarweise ändern: A kann zu R werden, und R wird in diesem Fall zu A. Um die Meldung zu lesen, müssen Sie die Position der Rotoren auf der Spindel kennen, welche Rotoren und Reflektoren aus dem Satz verwendet wurden, den Verschlüsselungscode (3 lateinische Zeichen) Alphabet) und die Position der Drähte auf dem Patchfeld. In einigen Versionen wurden andere Maßnahmen eingeführt: Der Reflektor drehte sich ebenfalls, eine größere Anzahl von Rotoren wurde verwendet und so weiter.



Nach dem Drücken der Taste floss der Strom durch die elektrischen Pfade von der Taste, durch die Kontakte auf dem Patchfeld, durch drei Rotoren mit unterschiedlichen Positionen der Spuren, durch den Reflektor und erneut durch drei Rotoren. Dann ging auf der Tafel ein Licht mit dem entsprechenden Buchstaben der Chiffre an. Mindestens ein Rotor bewegte sich und änderte die Kombination, um den nächsten Buchstaben zu verschlüsseln. Die Rotoren drehten sich in einer mechanischen Uhr wie eine Sekunde, eine Minute und im Uhrzeigersinn: Ein schneller rechter Rotor machte eine volle Umdrehung und eine 1/26 Umdrehung eine durchschnittliche Umdrehung. Nach einer vollen Drehung der Mitte machte die 1/26 Drehung die langsamste Linkskurve.

Die Bombe half dabei, die möglichen Enigm-Einstellungen in den deutschen Streitkräften zu etablieren. Sie gab keine vorgefertigten Nachrichten. Um die Arbeit abzuschließen, war dieselbe Handarbeit erforderlich. "Bomben" haben dazu beigetragen, die Anzahl der möglichen Lösungen auf ein akzeptables und für die Verarbeitung erschwingliches Maß zu reduzieren.

Zum Entschlüsseln von Nachrichten waren sogenannte „Hinweise“ erforderlich. Es wurde ein bekannter Klartextangriff durchgeführt: Der verschlüsselte Text wurde auf die Möglichkeit überprüft, vertraute Wörter und Phrasen zu enthalten. Um „Hinweise“ zu finden, waren Kenntnisse der deutschen Militärsprache und des Kommunikationsstils der Telekommunikationsbetreiber erforderlich. Eine wichtige Rolle spielte das Design des Reflektors: Der Buchstabe konnte niemals in sich selbst verschlüsselt werden. Nach Auswahl eines Hinweises wurde ein sogenanntes „Menü“ zusammengestellt, ein Programm zur Suche nach möglichen Lösungen. Der Menülauf wurde durch Stopps mit Kandidatenlösungen unterbrochen, die dann überprüft wurden. Normalerweise gab es viele Stopps mit falschen Entscheidungen, bevor die richtige gefunden wurde.

Ein Amateur aus Neuseeland hat die Bombe nachgebaut. Es wäre genauer zu sagen, dass er den Emulator eines der 26 Blöcke der Entschlüsselungsmaschine neu erstellt hat. Das erstellte Gerät ist kompakt - es kann auf den Tisch gelegt werden. Die Berechnungen werden auf dem Raspberry Pi 2 durchgeführt. Das Gerät verbirgt dies nicht einmal: Das Ergebnis wird bis zum Ende der Bewegung der Rotoren angezeigt. Drei Trommeln derselben Farbe (im Original hatten sie spezielle Farben für die auszuführende Aufgabe) drehen sich nur für einen kosmetischen Effekt. Aber sie machen es sehr überzeugend und mit der gleichen Geschwindigkeit wie das Original. Der Prozess ist schön zu beobachten.


Das Video startet das "Menü" mit einem Bericht über das Wetter, der verwendet wurde, um die wahre "Bombe" zu demonstrieren. Es ist leicht zu verstehen, warum: es ist klar.

Das Projekt wurde vom Teamleiter bei der Erstellung einer vollständigen Nachbildung von John Harper und mehreren anderen Experten unterstützt. Zuvor schuf der Amateur eine Bombenuhr - eine voll funktionsfähige Version der Enigma-Hacking-Maschine, die am Handgelenk getragen werden kann.



In der Desktop-Bombe befinden sich eine Raspeberry Pi 2-Platine, Arduino, eine 12-Volt-Blei-Säure-Batterie und ein Voltmeter. Der Emulator verbraucht viel Energie und zieht leicht jeweils 1,5-2 Ampere. Ursprünglich wurde die Software für die Arbeit in Basic geschrieben, später jedoch nach C ++ portiert. Der Raspberry Pi 2 wird an den Arduino angeschlossen und steuert drei Schrittmotoren. Arduino teilt Raspeberry Pi 2 die Position der Motoren als eine Reihe von Impulsen mit, damit sie zum richtigen Zeitpunkt gestoppt werden können. Auf der Seite befindet sich eine Flüssigkristallanzeige, die die Rolle eines mechanischen Indikators für die ursprüngliche "Bombe" spielt. Die Start- und Interrupt-Tasten befinden sich wie bei einem echten Sample vorne.



Das Gehäuse besteht aus Stahl mit einer Dicke von 0,8 mm und die Trommeln im Maßstab 3/4 - aus gewöhnlichen Dosen. Alle Teile des Geräts werden von Hand gefertigt. Das Gewicht beträgt ca. 10 Kilogramm. Dateien aus dem "Menü" werden von einem Flash-Laufwerk geladen, das durch Öffnen des Deckels auf der Rückseite eingelegt werden kann. An der Seite befindet sich auch ein Netzwerkanschluss zur Überwachung des Emulators, der durch einen Deckel verschlossen ist. Im Betrieb ist das Gerät mit Motoren laut, auch wenn die Lautstärke nicht mit dem Geräusch einer echten „Bombe“ verglichen werden kann .

Der Autor verspricht, den Quellcode des Geräteprogramms zu veröffentlichen, obwohl es ohne die Hardware, die in einer einzelnen Kopie vorhanden ist, nichts gibt, auf dem es ausgeführt werden kann. Es bleibt zu wünschen, dass der Autor seine Schöpfung nicht zur Schule bringt und vor allem bei der Verhaftung nicht erklärt, was es ist.

Projektseite mit Fotos
Turings Online-Bombensimulator

Source: https://habr.com/ru/post/de384917/


All Articles