Wie die Enigma während des zweiten Weltkrieges geknackt wurde

Transcription

Wie die Enigma während des zweiten Weltkrieges geknackt wurde
Wie die Enigma während des zweiten Weltkrieges geknackt
wurde
Eine Beschreibung der Arbeitsweise von Alan Turings „Bombe“ und Gordon
Welchmans „Diagonalboard“
Von Thomas Seeger, erarbeitet zum 5.6.2002
Seminar Kryptographie: Angriffe auf symmetrische Kryptosysteme
(Leitung: Prof. Dr. J. von zur Gathen, Dipl. Inf. Volker Krummel)
Einleitung
Das Thema dieses Dokumentes ist der erfolgreiche Angriff britischer Kryptoanalytiker auf die
deutsche Verschlüsselungsmaschine „Enigma“.
Dazu werde ich zunächst die Funktionsweise der „Enigma“ in ihren Grundzügen erklären, um
dabei Schwachstellen aufzuzeigen, die zum Brechen der Verschlüsselung ausgenutzt werden
konnten.
Anschließend werde ich schrittweise die Idee hinter dem Angriff auf den Verschlüsselungsmechanismus der „Enigma“ und deren Umsetzung in Form der „Bombe“ und des „Diagona lboards“ erklären.
Die Enigma zur Zeit des zweiten Weltkrieges
Die Enigma war eine seit ca. 1923 eingesetzte, ursprünglich zivile, Verschlüsselungsmaschine. Das deutsche Militär modifizierte sie schließlich und benutzte sie während des zweiten
Weltkrieges zur Verschlüsselung des militärischen Funkverkehrs.
Während des Krieges entstanden viele Varianten der „Enigma“, um sie sicherer zu machen,
jedoch blieb das Grundprinzip unverändert. In diesem Dokument möchte ich mich auf die bei
Luftwaffe und Heer standardmäßig eingesetzte „Enigma“ mit insgesamt 5 Walzen , von denen
3 in die Maschine eingesetzt werden konnten, einer festen Umkehrwalze und einem Steckerbrett mit 10 gesteckten Verbindungen beschränken.
Die „Enigma“ bestand aus einer Tastatur, einem Lampenbrett mit 26 Lampen (eine für jeden
Buchstaben des Alphabets), einem Steckerbrett mit 26 Buchsen (auch wieder eine für jeden
Buchstaben des Alphabets), einer Batterie, die den nötigen Strom zur Verfügung stellte, und
im oberen Bereich aus einem Schaft, auf den die Walzen aufgesteckt werden konnten. Flüchtig betrachtet, gab ihr dies das Aussehen einer Schreibmaschine.
Wie funktionierte die Verschlüsselung der Enigma?
Die Enigma führte eine Verschlüsselung durch, indem sie zu einem Buchstaben, der auf der
Tastatur gedrückt wurde, eine Lampe des Lampenbretts zum Glühen brachte, die den zugehörigen, verschlüsselten Buchstaben darstellte. Welcher Buchstabe dabei auf dem Lampenbrett
erhellt wurde, hing von den Einstellungen der Enigma ab. Also von den gesteckten Verbindungen des Steckerbretts, welche Walzen in welcher Reihenfolge in die Enigma eingebaut
waren, in welcher Stellung sich diese Walzen zueinander gerade befanden und welche Stellung der Ringe der Walzen gewählt worden war.
Zur Erinnerung will ich hier noch einmal den Ablauf der Verschlüsselung grob umreissen:
Es existierten in der Regel 5 verschiedene Walzen, die jeder Enigma beilagen. Jede dieser
Walzen, die mit den römischen Ziffern I, II, III, IV und V bezeichnet wurden, hatte eine andere interne Verdrahtung, die für eine eigene Permutation der 26 Buchstaben des Alphabets
1
sorgte. Drei dieser Walzen wurden in einer bestimmten Reihenfolge zusammengesteckt und
im oberen Teil der Enigma zwischen der Eingangswalze und der Umkehrwalze montiert. Diese beiden Walzen waren unbeweglich und drehten sich nicht, wie die zwischen ihnen Montierten, bei jedem Tastendruck um einen Schritt weiter. Dieses schrittweise Weiterdrehen
funktionierte ähnlich dem eines Kilometerzählers. Die rechte Walze drehte sich bei jedem
Tastendruck einen Schritt weiter, während die Mittlere sich nur einmal während einer vollen
Umdrehung der Rechten einen Schritt weiter bewegte. Nämlich dann, wenn eine Kerbe, die
an jeder Walze an ihrem äußeren Ring angebracht war, die entsprechende Mechanik an einer
Stelle auslöste. Zusätzlich war der äußere Ring jeder Walze, auf dessen Oberfläche Buchstaben oder auch Zahlen eingestanzt waren, relativ zur Walze drehbar. Dies hatte in Verbindung
mit dem Nachrichtenschlüssel, den ich weiter unten erklären werde, Auswirkungen auf die
Verschlüsselung.
Zusätzlich besaß die Enigma ein Steckerbrett, auf dem Verbindungen zwischen zwei Buchstaben gesteckt werden konnten. Die Anzahl der gesteckten Verbindungen wurde im Verlauf
des Krieges von den Deutschen immer weiter erhöht, bis schließlich 10 gesteckte Verbindungen als Standard galten.
Wurde nun also eine Taste der Enigma gedrückt, so geschah folgendes: Zuerst drehte sich der rechte
Rotor um einen Schritt weiter und
löste dabei evtl. den Mechanismus
aus, der dafür sorgte, dass sich die
anderen beiden Walzen auch weiter
bewegten. Danach wurde eine Spannung an den Draht angelegt, der dem
Buchstaben entsprach. Diese Spannung floss durch das Steckerbrett,
wo sie evtl. das erste Mal einer Vertauschung unterworfen wurde, an
den Kontakt der Eingangswalze und
wurde von dort durch die drei Walzen geleitet. Schließlich erreicht sie
die Umkehrwalze, wird dort ein weiteres Mal vertauscht und wieder
durch die Walzen zurückgeschickt.
Als nächste Station stand wieder das
Steckerbrett an, damit sie schließlich
das Lampenbrett erreichte und dort
eine Lampe erhellte, die dann den
zugehörigen, verschlüsselten Buc hstaben zum Eingegebenen darstellte.
In der nebenstehenden Grafik noch
einmal eine grobe Skizze dieses
Vorganges (1. Umkehrwalze, 2.
Walzen, 3. Lampenbrett, 4. Stromquelle / Batterie, 5. Tastatur, 6. Steckerbrett).
2
Das Verschicken einer Nachricht
Sollte eine Nachricht durch die Enigma verschlüsselt und gesendet werden, ging dies zu Ze iten des Krieges folgendermaßen: Der Bediener der Enigma stellte die Maschine gemäß des
Tagesschlüssels ein. Dieser stand auf einem Dokument, dass jede Einheit mit einer Enigma
erhielt. Darauf waren die Walzen mit deren Reihenfolge und Ringstellung sowie die zu steckenden Steckerverbindungen für jeden Tag des aktuellen Monats eingetragen. Sobald die
Enigma so eingestellt war, wählte der Bediener eine Startstellung für die drei Walzen, indem
er sie an eine Stelle drehte und anschließend, den im Sichtfenster des Walzengehäuses erscheinenden Buchstaben für jede Walze aufschrieb. Dies war der sog. Indikator. Hier sehen
wir auch, das die Ringstellung hier sehr wichtig war. Schließlich standen die im Fenster erscheinenden Buchstaben auf dem äußeren, drehbaren Ring, weshalb man auch bei Kenntnis
des Indikators nicht auf die folgende Verschlüsselung schließen konnte, ohne zu wissen, wie
der Ring relativ zum Internen der Walze verdreht war. Dies befähigte die Deutschen den Ind ikator als Klartext zu übertragen, was auch in der Tat geschah. Nachdem der Indikator festgelegt worden war, wählte sich der Bediener den sog. Nachrichtenschlüssel, der wiederum eine
Startstellung der Walzen darstellte und somit auch aus drei Buchstaben bestand. Diese drei
Buchstaben des Nachrichtenschlüssels wurden nun in die Enigma eingetippt und somit unter
Verwendung des Indikators verschlüsselt. Anschliessend wurden die Walzen auf die Stellung
des Nachrichtenschlüssels gedreht und die eigentliche Nachricht verschlüsselt.
Die Nachricht, die dann übertragen wurde, setzte sich also folgendermaßen zusammen: Zuerst
die drei Buchstaben des Indikators in Klartext, danach die drei mit dem Indikator verschlüsselten Buchstaben des Nachrichtenschlüssels und schließlich der mit dem Nachrichtenschlüssel verschlüsselte Text der Nachricht.
Der Empfänger musste nun unter Verwendung des Tagesschlüssels und des Indikators zuerst
den Nachrichtenschlüssel entschlüsseln und konnte anschließend die Nachricht entschlüsseln.
Schlüsselraum der Enigma
Zum Schlüsselraum der Enigma gehörten die Auswahl und Anordnung der Walzen, die
gesteckten Verbindungen des Steckerbretts, die Ringstellung und die Startstellung der Walzen. Die interne Verdrahtung der Walzen war durch die Vorarbeit der polnischen Mathematiker um Marian Rejewski zum Glück bekannt.
Somit ergibt sich folgende Anzahl von möglichen Schlüsseln:
Möglichkeiten der Walzenauswahl und - anordnung: 60
Möglichkeiten der Walzenstartposition: 263
Möglichkeiten der Ringstellungen:262
Möglichkeiten der gesteckten Verbindungen:1.507 * 1014
Im Folgenden werden wir sehen, wie die Kryptoanalysten von Bletchley Park diesen Schlüsselraum auf 60 * 263 verkleinerten, wodurch ein einfaches Ausprobieren der restlichen Möglichkeiten mit maschineller Hilfe möglich wurde.
Schwachstellen der Enigma
Um den Angriff der Bombe auf die Enigma zu verstehen, ist es wichtig, folgende Tatsachen
im Hinterkopf zu behalten:
Die Enigma war involutorisch. D. h. wenn sie in einer Stellung „A“ zu „X“ verschlüsselt, verschlüsselt sie in der gleichen Stellung auch „X“ zu „A“. Gleiches gilt für das Steckerbrett, da,
sobald dort „B“ mit „C“ gesteckert ist, auch „C“ mit „B“ gesteckert sein muss.
Das Set aus den drei Walzen und der Umkehrwalze, besaß nur einen Ein- bzw. Ausgang, wodurch kein Buchstabe zu sich selbst verschlüsselt werden konnte.
3
Abschließend sollte man sich auch noch einmal klar machen, dass sich der rechte Rotor bei
jedem Tastendruck weiter bewegt, während sich der Mittlere nur einmal in einer vollen Umdrehung des Rechten und der Linke noch seltener bewegt.
Die Entschlüsselung der Enigma
Alan Turings und Gordon Welchmans Idee zur Entschlüsselung der Enigma beruhte auf der
Analyse von bekanntem Klartext einer verschlüsselten Nachricht, eines sog. „Crib“. Mit den
Erkenntnissen aus dieser Analyse konnte der zu durchsuchende Schlüsselraum soweit eingegrenzt werden, dass er durch eine Maschine, der sog. „Bombe“, durchsucht werden konnte.
Im folgenden werde ich zuerst den Aufbau der „Bombe“ erklären, um dann die Technik der
Analyse der „Cribs“ und der daraus resultierenden Verdrahtung der „Bombe“ zu schildern.
Die Bestandteile der „Bombe“
Die „Bombe“ war eine Maschine, die in ihrer Form an einen großen Schrank erinnerte. Auf
ihrer Frontseite waren in mehreren Reihen und Spalten die Rotoren drehbar angebracht. Diese
Rotoren hatten intern die gleiche Verdrahtung, wie die Walzen der Enigma, mit dem Unterschied, dass sie zwei Ausgänge bzw. Eingänge besaßen. Drei dieser Rotoren konnten also, mit
einer Umkehrwalze versehen, die ebenfalls der der Enigma entsprach, die Verschlüsselung
der Enigma simulieren. Eine „Bombe“ besaß 12 dieser 3-er Sets oder „Scrambler“, wie ich sie
im Folgenden bezeichnen will.
Hier eine Grafik der Rotoren und ihrer Anordnung auf der „Bombe“:
Auf der Skizze der Rotoren sieht man, dass sie im einzelnen
aus vier konzentrischen Kreisen bestanden. Dabei waren jeweils die beiden äußeren und inneren Kreise auf die gleiche
Weise, wie die Walzen der Enigma miteinander verbunden.
Zusammen mit der Umkehrwalze erhält man die oben erKompakte Darstellung
4
wähnten zwei Ein- bzw. Ausgangspunkte. Diese waren wic htig, um mehrere dieser Scrambler
miteinander zu verbinden. Im Folgenden werden wir immer ein Set aus drei dieser Rotoren
betrachten und deshalb nur noch die kompakte Darstellung benutzen.
Da sich diese Rotoren nach dem gleichen Schema , wie die Walzen der Enigma zueinander
drehen sollten, waren sie auf der Rückseite mit Bürstenkontakten versehen, welche an Kontakten, die sich auf der Bombe befanden, vorbeistrichen und so während der Drehung die
Verbindungen schalteten.
Die Analyse der „Cribs“
Zur Entschlüsselung der Enigma wurde ein sog. „Crib“ benötigt. Dies war ein Stück Klartext,
das man einer verschlüsselten Nachricht zuordnen konnte. Nützliche Cribs waren z.B. Wetterberichte, da diese immer in einer festen Form abgefasst wurden und man vom aktuellen
Wetter, das ja auch für die Briten zu erkennen war, auf ihren Inhalt schließen konnte.
Wir wollen jetzt ein „Crib“ und dessen zugehörigen, verschlüsselten Text betrachten (dieses
Beispiel stammt ebenso, wie die folgenden Grafiken aus “The Hut Six Story – Breaking the
Enigma codes”) :
Unser „Crib“ ist: „TOTHEPRESIDENTOFTHEUNITEDSTATES“.
Der zugehörige, verschlüsselte Text lautet:
„CQNZPVLILPEUIKTEDCGLOVWVGTUFLNZ“.
Wir schreiben diese Buchstaben jetzt paarweise untereinander:
1 2
T O
C Q
3 4
T H
N Z
5 6
E P
P V
7 8
R E
L I
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
S I
D E N T O F T H E U N I T E D S T A T E S
L P E U I
K T E D C G L O V W V G T U F L N Z
In dieser Tabelle suchen wir nun nach sog. „Loops“. Diese stellen durch mehrere Verschlüsselungsschritte eine Verschlüsselung eines Buchstabens auf sich selbst dar. Ein Beispiel aus
obiger Tabelle wäre Folgendes: An Stelle 10 wird „I“ zu „P“, an Stelle 6 wiederum wird „P“
zu „V“ und schließlich an Stelle 22 „V“ wieder zu „I“ (wir nutzen hier aus, dass die Enigma
involutorisch ist und somit „I“ zu „V“, aber auch „V“ zu „I“ verschlüsselt), wodurch wir
durch eine Hintereinanderschaltung dieser Verschlüsselungen ein „I“ zu sich selbst verschlüsseln könnten. Da diese „Loops“ für die Funktionsweise der Bombe sehr wichtig waren, erze ugen wir einen Graphen aus ihnen. Die Zahlen an den Verbindungslinien stehen dabei für die
Stelle, an der das Buchstabenpaar im Crib auftaucht.
8
E
I
P
6
3
N
22
10
5
13
T
15
21
O
V
Die Funktionsweise der „Bombe“
Schritt 1: Kein Steckerbrett / Keine Beachtung der Ringstellung
Wir wollen schrittweise vorgehen und zunächst versuchen, eine Enigma ohne Beachtung des
Steckerbretts und der Ringstellung entschlüsseln.
5
Dazu kommen wir wieder auf unseren zuvor erstellten Grafen zurück. Wie wir an unserer
„Loop“ sehen konnten, wurde an Stelle 10 unseres Textes „I“ zu „P“ verschlüsselt, an Stelle 6
„P“ zu „V“ und an Stelle 22 „V“ zu „I“. Wir müssen nun also herausfinden, welche Kombination der Walzen benutzt wurde und welche Startposition sie hatten. Um dies herauszufinden
benutzen wir 3 unserer Scrambler und geben ihnen Startpositionen, entsprechend zu unserem
Graphen. D.h. wir wählen für den ersten „Scrambler“ eine Startposition und verbinden dessen
Ausgang mit dem Eingang des Nächsten, dessen Startposition um zwei Schritte vor derjenigen des vorherigen eingestellt wird. Der Ausgang des zweiten „Scramblers“ wird mit dem
Dritten verbunden, der zwölf Schritte weiter, als der erste „Scrambler“, gestellt wird. Durch
diese Anordnung, erhalten wir praktisch 3 hintereinander geschaltete Enigmaverschlüsselungen. Wenn wir also die richtige Auswahl der Rotoren und deren Startstellung gefunden haben,
sollte sich eine Spannung, die am Eingang „I“ unseres ersten Scramblers angelegt wird, diesen am Kontakt „P“ wieder verlassen. Der Nächste Scrambler sollte „P“ zu „V“ verschlüsseln
und der Folgende „V“ wieder zu „I“. Dadurch erkennen wir, dass, sobald wir die richtige Rotorenstellung gefunden haben, eine Spannung an Kontakt „I“ des ersten Scramblers unseren
Schaltkreis auch wieder als „I“ verlassen sollte. Sollten wir einen anderen Buchstaben erha lten, so ist dies ein Widerspruch zu unserem Crib, die Rotorstellung ist nicht geeignet, um aus
den Buchstaben des Klartextes, die des verschlüsselten zu generieren und wir müssen die
nächste Rotorstellung ausprobieren.
Somit können wir die Rotoren alle 263 Möglichen Stellungen durchlaufen lassen, während wir
dabei immer eine Spannung an Kontakt „I“ des ersten Scramblers anlegen. Dabei brauchen
wir immer nur zu testen, ob das Ergebnis, der 3 hintereinander geschalteten Verschlüsselungen „I“ ist und somit das „Crib“ logisch erfüllt.
Wir realisieren diesen Test, indem wir den Eingang unseres ersten Scramblers mit einem Eingangsregister und den Ausgang des letzten Scramblers mit einem Testregister verbinden, die
auch wieder 26 Kontakte, einen für jeden Buchstaben des Alphabets, besitzen. Wir legen nun
am Kontakt „I“ unseres Eingangsregisters eine Spannung an und beginnen den Suchlauf der
Rotoren. Registrieren wir am Testregister bei einer bestimmten Stellung der Rotoren eine
Spannung am Kontakt „I“ so haben wir eine mögliche Stellung der Rotoren gefunden, die aus
dem „Crib“ den verschlüsselten Text erzeuge n kann. Diese Situation möchte ich im folgenden
einen „Stop“ nennen.
Unglücklicherweise gibt es viele Rotorenstellungen, die diese einzelne Bedingung erfüllen, da
bei jeder Rotorenstellung eine Chance von 1/26 besteht, dass wir am Ausgang ein „I“ erha lten. In der Praxis wurden daher weitere Loops aus den erstellten Graphen herausgezogen und
der Verschaltung der „Bombe“ hinzugefügt.
Nehmen wir an, wir würden unserer „Bombe“ zwei weitere Loops hinzufügen, deren Ein- und
Ausgangsbuchstabe ebenfalls das „I“ wäre, so würden wir zwei weitere Bedingungen für die
logische Konsistenz unserer Rotorenstellung erhalten. Auf unserem Testregister würden wir
dann die ausgegebenen Buchstaben jedes Loops registrieren und unsere Suche stoppen, wenn
wir nur am Kontakt „I“ eine Spannung registrieren (da wir drei Loops haben, könnten wir an
maximal drei Kontakten eine Spannung feststellen). Für jeden Loop haben wir eine Wahrscheinlichkeit von 1/26 für einen falschen Stop, wodurch wir mit drei Loops nur noch eine
Wahrscheinlichkeit von 1/263 für einen zufälligen Stop haben. Bei 263 zu testenden Rotorstellungen, benötigen wir also mindestens 3 Loops um eine effiziente Suche starten zu können.
Schritt 2: Das Steckerbrett
Um den folgenden Schritt der Spannungsrückkopplung zu verstehen, wollen wir uns vorher
folgendes klar machen: Unsere zuvor angestellten Überlegungen beruhten auf der Ignorierung
des Steckerbretts. Wir haben praktisch eine Enigma ohne Steckerbrett, die nur die Verschlüsselung ihrer Walzen benutzt, geknackt. Dies taten wir, indem wir überprüften, ob unser einge6
hender Buchstabe, das „I“, unsere Loops aus Scramblern auch wieder als „I“ verlässt. Dabei
haben wir außer Acht gelassen, dass das „I“ in der Enigma vor und nach den Walzen noch das
Steckerbrett passieren muss. Nehmen wir nun also vorerst an, dass der Buchstabe „I“ mit dem
Buchstaben „X“ gesteckert war. Im Zusammenspiel mit unserem Loop bedeutet dies folgendes: Da unser Loop nur die Verschlüsselung der Walzen der Enigma nachbildet, müssen wir
an unserem ersten Scrambler die Spannung am Kontakt „X“ anlegen, da das Steckerbrett „I“
mit „X“ vertauschen würde, wodurch ein „X“ die Walzen erreicht. Nach der Verschlüsselung
der Walzen müssen wir auch wieder ein „X“ erhalten, damit das Steckerbrett daraus wieder
ein „I“ produzieren könnte. Wichtig ist also, dass wir eine richtige Rotorstellung daran erkennen können, dass sie genau den Buchstaben als einzigen wieder herausgibt, den man hineingibt.
Um mit dieser Überlegung auf die gesteckten Verbindungen der Enigma zu schließen, erze ugen wir in der „Bombe“ eine Spannungsrückkopplung. D.h. wir lassen unser Eingangsregister
als Testregister fungieren und schicken somit jeden Buchstaben, den wir aus unseren Loops
als Ergebnis erhalten wieder zurück in den nun entstandenen Stromkreis.
Oben haben wir gesehen, dass wir für eine falsche Rotorenstellung drei unterschiedliche
Buchstaben auf dem Testregister registrieren konnten. Wenn wir diese drei Buchstaben erneut
durch die Loops schicken, werden wir weitere Buchstaben als Ergebnisse aus den Loops auf
dem Testregister auffangen. Dieser Vorgang wiederholt sich immer wieder, bis wir schließlich an allen Kontakten des Testregisters eine Spannung registrieren. Das bedeutet für uns,
dass es ausreicht an unserem Eingangsregister die Spannung an irgendeinen Kontakt des Eingangsregisters zu legen. Wir wollen dafür den Kontakt „A“ benutzen. Durch die Rückkopplung werden wir dann bei einer falschen Rotorstellung im Idealfall an jedem Kontakt des Eingangsregisters eine Spannung feststellen. Ta tsächlich kann es aber auch sein, dass unsere
Loops zusammen mit der
Spannungsrückkopplung nicht jeden
Buchstaben produzieren und wir somit die
Rotorstellung nicht eindeutig als falsch oder
richtig identifizieren können. Dieses
Problem wird durch das Diagonalboard
gelöst, dass zusätzliche Wege für die
Spannungsrückkopplung bereitstellt und im
folgenden Abschnitt erklärt wird.
Doch was passiert bei einer richtigen
Rotorstellung?
Gehen wir wieder von unseren Beispiel und
dessen Loops aus. Nehmen wir weiterhin an,
dass in der Enigma, die unser Beispiel
produziert hat, die Buchstaben „I“ und „X“
gesteckert waren. Wie wir uns nun oben
überlegt haben, werden unsere Loops, wenn
ihre Scrambler in der richtigen Stellung
zueinander sind, ein eingehendes „X“
wieder in ein „X“ verwandeln. Im
Umkehrschluss bedeutet dies aber auch,
dass die Loops nur bei einem eingehenden
„X“ ein „X“ ausgeben, sonst einen anderen
Buchstaben. Wenn wir nun an unserem
Eingangsregister eine Spannung an „A“
anlegen, kann die Spannungsrückkopplung
jeden Buchstaben, bis auf das „X“
7
produzieren. Wäre das „I“ mit dem „A“ gesteckert gewesen, hätten wir bei einer an „A“ angelegten Spannung folglich nur an Kontakt „A“ des Eingangsregisters eine Spannung feststellen
können.
Somit müssen wir während unserer Suche nur auf zwei Zustände des Eingangsregisters achten: Wir registrieren nur an einem Kontakt eine Spannung oder an allen Kontakten bis auf
einen. Dieser eine Kontakt mit, bzw. ohne Spannung ist dann der zugehörige Steckerpartner
zu dem Buchstaben des Graphen, an den wir unser Eingangsregister angeschlossen haben.
Auf den Nachrichtenschlüssel lässt sich durch die Stellung der Rotoren beim Stop schließen.
In der hier gezeigten Grafik wird ein Beispiel für einen solchen Stromkreis dargestellt. Das
Eingangsregister ist mit dem Buchstaben „I“ verbunden, während wir eine Spannung an den
Kontakt „A“ des Registers anlegen. Bei der richtigen Rotorstellung wird der Kontakt des Steckerpartners des Buchstaben „I“ als einziger eine Spannung oder keine Spannung vorweisen
können.
Schritt 3: Die Ringstellung / Das Diagonalboard
Bisher benötigten wir drei Loops, um eine effiziente Suche mit der „Bombe“ durchzuführen.
Um einen Graphen zu erhalten, der drei Loops enthält, benötigt man ein langes „Crib“. Der
Nachteil dabei ist, dass in einem langen „Crib“ eine sehr große Chance für eine Weiterschaltung der mittleren Walze besteht. Sollte dies tatsächlich innerhalb des „Cribs“ geschehen sein,
wird unsere bisherige Methode nicht zum Erfolg führen. Um dieses Risiko auf ein akzeptables
Niveau zu drücken, sollten wir nur Buchstaben für unsere Loops verwenden, die maximal 13
Stellen auseinanderliegen. Die Chance für eine Weiterschaltung der mittleren Walze wird
damit bei 1/2 gehalten. Weil dies aber aller Wahrscheinlichkeit nach nicht zu vielen Loops
führen wird, müssen wir die „Bombe“ erweitern, um auch bei wenigen Loops genügend Bedingungen für die logische Konsistenz des „Cribs“ mit der Rotorstellung überprüfen zu können. Gordon Welchman entwickelte dafür das „Diagonalboard“, welches ich im folgenden
erklären will.
Das Diagonalboard basiert auf der Eigenschaft des Steckerbretts, immer zwei Buchstaben
symmetrisch miteinander zu verbinden ( wenn „A“ mit „B“ gesteckert ist, ist auch „B“ mit
„A“ gesteckert). Um dies in einem Stromkreis nachzubilden, wurde ein Brett entworfen, das
26 Reihen á 26 Steckkontakten enthielt. In dieser so entstandenen 26 x 26 Matrix stand jede
Reihe und jede Spalte für einen Buchstaben. Anschließend wurden auf diesem Brett die Verbindungen folgendermaßen gesteckt: In der Reihe des Buchstabens „A“ wurde der zweite
Kontakt, der für das „B“ stand, mit dem ersten Kontakt in der Reihe des „B“’s verbunden. Die
so entstehenden diagonalen Verbindungen (von denen das Board auch seinen Namen erhielt)
bildeten die eingangs erwähnte Eigenschaft des Steckerbretts nach.
Anstatt nun, wie das Eingangsregister, erst nach der Verschlüsselung eines kompletten Loops
anzusetzen, wurde das Diagonalboard mit jedem einzelnen Scrambler verbunden. Die Logik
dahinter war folgende: An Hand des Cribs wusste man, welcher Buchstabe an welcher Stelle
durch die Scrambler entstehen sollte. An Stelle 10 unseres Cribs soll z.B. das „I“ zu „P“ werden. Folglich kann man den Ausgang dieses Scramblers mit der Reihe „P“ unseres Diagona lboards verbinden. Sollte nun an diesem Scrambler ein anderer Buchstabe als das „P“ herauskommen, z.B. ein „E“, suggeriert dies, dass das „P“ mit dem „E“ gesteckert sein muss. Folglich ist auch „E“ mit „P“ gesteckert und unser Diagonalboard leitet daher den Strom weiter in
die Reihe des „E“’s an den Kontakt des „P“’s. Da die Reihe „E“ des Boards wieder mit den
Scramblern verbunden ist, die laut unserem Graph ein „E“ produzieren sollen (in unserem
Beispiel ist dies an den Stellen 5, 8, 11 und 12 der Fall). Dadurch entstehen weitere Spannungsrückkopplungen, die auch bei kürzeren Cribs und weniger Loops eine effiziente Suche
erlauben und die Anzahl der falschen „Stops“ verringern.
8
Was geschah, nachdem die „Bombe“ stoppte
Wenn die „Bombe“ stoppte und damit signalisierte, dass sie eine mögliche Rotorstellung gefunden hatte, musste diese schließlich noch auf ihre Richtigkeit überprüft werden. Der „Stop“
lieferte eine Startstellung für die Walzen und eine Steckerverbindung. Die weiteren Steckerverbindungen fand man durch den Graphen und die sog. „checking machine“, welche eine Art
Enigma ohne Steckerbrett war.
Nehmen wir an, wir hätten unsere Startstellung gefunden und wüssten, dass „I“ mit „D“
gesteckert ist. Wenn wir nun unseren Graphen anschauen, sehen wir, dass an Stelle „8“ das
„I“ zu einem „L“ werden soll. Wir drehen nun also die Walzen unserer „checking machine“
um 8 Schritte von der gefundenen Startstellung weiter und und tippen anstatt des „I“ ein „D“
ein (das „I“ würde in der Enigma durch das Steckerbrett zu einem „D“ bevor es die Walzen
erreicht). Die „checking machine“ führt nun die gleiche Verschlüsselung, wie die Enigma aus
und gibt uns einen Buchstaben zurück. Laut Graph sollte dies ein „L“ sein. Wenn unserer
„checking machine“ uns auch ein „L“ ausgibt, dann war dieser Buchstabe in der Enigma nicht
gesteckert. Bei jedem anderen Buchstaben können wir annehmen, dass dieser der Steckerpartner des „L“’s ist. Auf diese Weise können wir jeden Buchstaben unseres Graphen auf seinen
Steckerpartner prüfen und erha lten somit weitere Steckerverbindungen. Um die Restlichen
und auch die Ringstellung herauszufinden, bleibt uns nichts anderes übrig, als eine Enigma
mit unseren bisher herausgefundenen Einstellungen vorzubereiten und zu versuchen den verschlüsselten Text damit zu dechiffrieren. Mit Kenntnissen über die deutsche Sprache, sollte es
uns möglich sein, zu erkennen, ob ein sinnvoller Text bei der Entschlüsselung entsteht. Außerdem können wir an Hand des Kontextes die fehlenden Steckerverbindungen finden. Die
Ringstellung enthüllt sich uns schließlich dadurch, dass wir Stellen finden werden, an denen
der sinnvolle Text plötzlich abbricht und wieder zu Unsinn dechiffriert wird.
Haben wir alle diese Einstellungen gefunden, können wir sie für den gesamten Tag benutzen
und müssen nur noch für jede Nachricht den Nachrichtenschlüssel an Hand des Indikators
entschlüsseln.
Sollten wir jedoch während der Überprüfung der Steckerverbindungen einen Widerspruch
finden (z.B. zwei unterschiedliche Steckerpartner für den gleichen Buchstaben) oder bei der
9
abschließenden Entschlüsselung keinen sinnvollen Text erhalten, so hat uns die „Bombe“
einen falschen „Stop“ geliefert und wir müssen sie ihre Suche fortsetzen lassen.
Referenzen:
Textquellen:
“The Bletchley Park Trust Reports – The Turing Bombe” von Frank Carter, Januar 2000
“The Bombe – A remarkable logic machine” von Donald W. Davies, Cryptologia April 1999
“The Hut Six Story – Breaking the Enigma codes” von Gordon Welchman, 1982
Bildquellen:
Seite 2: http://www.codesandciphers.co.uk/enigma/enigma2.htm
Seite 4: http://www.codesandciphers.co.uk/enigmafilm/efilm10.htm
Seite 7: “The Hut Six Story – Breaking the Enigma codes” von Gordon Welchman, 1982
Seite 9: “The Hut Six Story – Breaking the Enigma codes” von Gordon Welchman, 1982
10

Documents pareils