Enigma Applet

Dieses Java-Applet simuliert eine Enigma-Verschlüsselungsmaschine, wie sie auch auf den Deutschen U-Booten im zweiten Weltkrieg eingesetzt wurde.
Du kannst mit der Maus direkt die Tastatur der Enigma bedienen. Im oberen Anzeigefeld leuchten die verschlüsselten Buchstaben auf (diese ergeben nachher den verschlüsselten Text).

In den "Settings" und "Advanced Setting" sind noch einige Einstellungen möglich, z.B. Simulation der 3- oder 4-Walzen Enigma, Steckerbrettkombinationen usw.

Settings: Einstellungen:
Wheel-Order: Schlüsselrotor-Auswahl (I bis VIII)
Ring-Settings: Ringstellung des Rotors
Stecker-Pairs: Steckerbrett-Verbindungen
Indicator-Settings: Schlüsselwort (Tagesschlüssel)
So verschlüsselt man:
  1. Wähle ein Schlüsselwort in den Settings
  2. Wähle "Machine" um die Settings zu verlassen
  3. Schreibe deinen Text in INPUT
  4. Der verschlüsselte Text erscheint in OUTPUT
  5. CLEAR = Alle Ein/Ausgaben löschen
Advanced Settings: Weitere Einstellungen:
Number of Rotors: Zahl der Schlüsselrotoren (3 oder 4)
Reflector: Umkehrrotor (B oder C)
Thin (leftmost) Rotor: Griechenwalzen (BETA oder GAMMA)
   
So entschlüsselt man:
  1. Setzt dein Schlüsselwort in den Settings
  2. Wähle "Machine" um die Settings zu verlassen
  3. Schreibe deinen verschlüsselten Text in INPUT
  4. Der entschlüsselte Text erscheint in OUTPUT
  5. CLEAR = Alle Ein/Ausgaben löschen


Bild

Wie funktionierte die Enigma?


Eigentlich funktionierte die Enigma auf recht einfache Weise. Angenommen, das Alphabet:

Quelle: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


soll verschlüsselt werden. Die einfachste Art ist, die Buchstaben gegen andere auszutauschen, aus A wird B, aus B wird C und so weiter. Das würde dann so aussehen:

Quelle: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Schlüssel: B C D E F G H I J K L M N O P Q R S T U V W X Y Z A


Das rote Alphabet ist jetzt unser Verschlüsselungsalphabet, das grüne unser Alphabet für den Klartext Aus A wird B, aus B wird C usw. Aus ENIGMA würde nach diesem Schlüssel FOJHNB werden (Grüner Buchstabe E gleich roter Buchstabe O, grünes N gleich rotes O und so weiter).
Dieser Code wäre aber noch immer leicht knackbar, da ein Wort stets die gleichen Verschlüsselungszeichen ergeben würde. Wörter mit vielen gleichlautenden Buchstaben, (wie z.B. ANNA ergiebt verschlüsselt BOOB) würden einen Einbruch in den Code aber sehr erleichtern. Solche Wörter ergeben Muster. Muster bezeichnet man üblicherweise in Normalform mit Ziffernfolgen, in dem jede erstmals auftretende Ziffer keine grössere Ziffer zur Linken hat. NRGRN ergibt 12321, NRGRNOR das Muster 1232142, ORMNRGRNORM das Muster 12342524123.
Hat man nun einen Verschlüsselten Text so "durchgemustert" und weiss, in welcher Sprache die Botschaft ist, braucht man nur die Wahrscheinlichkeit von Doppelmustern zu vergleichen. z.B. die Buchstabenfolge TT in "statthaft" oder "Gestattet" usw.
Auch die Wahrscheinlichkeit, wie oft Buchstaben in bestimmten Sprachen vorkommen, machen diesen Code zu leicht knackbar. Im deutschen kommt das "E" am häufigsten, vor, dann das "N" usw. Nach W. Jensen (1955), ist die Häufigkeitsfolge von Buchstaben in deutsch etwa ENISRAtdUHGLCMWOBFZKVPJQXY. Der im verschlüsselten Text am häufigsten vorkommende Buchstabe wird also mit ziemlicher Sicherheit ein E sein, der zweithäufigste ein N, dann kommt das I gefolgt vom S... hat man danach ein paar Buchstaben mit dieser Haufigkeitswahrscheinlichkeit herausbekommen, kann man weitere schon oft raten; hat dann schon bald erste Wörter geknackt, die einen weiterführen, bis zum Schluss der Klartext wieder hergestellt ist.

Also macht man die Sache schwieriger. Nach jedem verschlüsselten Buchstraben wird ein anderes Verschlüsselungsalphabet genommen, das Ganze zusammen ergibt den "Verschlüsselungsblock":

Quelle: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Schlüssel für Buchstabe 1: B C D E F G H I J K L M N O P Q R S T U V W X Y Z A
Schlussel für Buchstabe 2: C D E F G H I J K L M N O P Q R S T U V W X Y Z A B
Schlüssel für Buchstabe 3: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Schlussel für Buchstabe 4: E F G H I J K L M N O P Q R S T U V W X Y Z A B C D
Schlüssel für Buchstabe 5: F G H I J K L M N O P Q R S T U V W X Y Z A B C D E
Schlüssel für Buchstabe 6: G H I J K L M N O P Q R S T U V W X Y Z A B C D E F
Schlüssel für Buchstabe 7: H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
Schlüssel für Buchstabe 8: I J K L M N O P Q R S T U V W X Y Z A B C D E F G H
Schlüssel für Buchstabe 9: J K L M N O P Q R S T U V W X Y Z A B C D E F G H I
Schlüssel für Buchstabe 10: K L M N O P Q R S T U V W X Y Z A B C D E F G H I J
Schlüssel für Buchstabe 11: L M N O P Q R S T U V W X Y Z A B C D E F G H I J K
Schlüssel für Buchstabe 12: M N O P Q R S T U V W X Y Z A B C D E F G H I J K L
Schlüssel für Buchstabe 13: N O P Q R S T U V W X Y Z A B C D E F G H I J K L M
Schlüssel für Buchstabe 14: O P Q R S T U V W X Y Z A B C D E F G H I J K L M N
Schlüssel für Buchstabe 15: P Q R S T U V W X Y Z A B C D E F G H I J K L M N O
Schlüssel für Buchstabe 16: Q R S T U V W X Y Z A B C D E F G H I J K L M N O P
Schlüssel für Buchstabe 17: R S T U V W X Y Z A B C D E F G H I J K L M N O P Q
Schlüssel für Buchstabe 18: S T U V W X Y Z A B C D E F G H I J K L M N O P Q R
Schlüssel für Buchstabe 19: T U V W X Y Z A B C D E F G H I J K L M N O P Q R S
Schlüssel für Buchstabe 20: U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
Schlüssel für Buchstabe 21: V W X Y Z A B C D E F G H I J K L M N O P Q R S T U
Schlüssel für Buchstabe 22: W X Y Z A B C D E F G H I J K L M N O P Q R S T U V
Schlüssel für Buchstabe 23: X Y Z A B C D E F G H I J K L M N O P Q R S T U V W
Schlüssel für Buchstabe 24: Y Z A B C D E F G H I J K L M N O P Q R S T U V W X
Schlüssel für Buchstabe 25: Z A B C D E F G H I J K L M N O P Q R S T U V W X Y
Schlüssel für Buchstabe 26: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z


Für den ersten Buchstaben des zu verschlüsselten Textes/Wortes verwende ich "Schlüssel für Buchstabe 1" zum verschlüsseln, für den zweiten Buchstaben dann aber "Schlüssel für Buchstabe 2", danach würde "Schlüssel für Buchstabe 3" für den dritten Buchstaben folgen und so weiter. Das Wort ENIGMA (im obigen Quellen-Alphabet hellblau markiert) hat 6 Buchstaben: Aus dem E wird ein F, aus dem N ein P, aus dem I ein L, aus dem G ein K, aus dem M ein R und aus dem A ein G. Verschlüsselt ergibt das FPLKRG (Siehe weisse Buchstaben im Verschlüsselungsblock oben). Selbst bei Worten mit vielen gleichlautenden Buchstaben, z.B. ANNA ergibt die Verschlüsselung mit obigen Verschlüsselungsblock BPQE. Haben wir 26 Zeichen verschlüsselt, beginnen wir für das 27. Zeichen wieder mit "Schlüssel für Buchstabe 1". Damit hätten wir schon die Enigma mit einem Rotor.

Um die Sache für Codeknacker noch schwieriger zu machen, werden die einzelnen Alphabete nicht wie im obigen Beispiel einfach nur jeweils um ein Zeichen nach links verschoben, sondern möglichst wirr untereinander verschaltet (Was der geheimen Verdrahtung in den Enigma-Rotoren entspricht): Aus A wird Q, aus B wird T, aus C wird Q aus D wird S und so weiter. Die ersten Buchstaben des Alphabets (ABCD, im Quellen-Alphabet unten hellblau markiert) würden mit den Verschlüsselungsblock unten also QTQS ergeben (Siehe weisse Buchstaben). Solch ein Verschlüsselungsblock könnte z.B. so aussehen:

Quelle: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Schlüssel für Buchstabe 1: Q W E R T Z U I O P A S D F G H J K L Y X C V B N M
Schlüssel für Buchstabe 2: E T A O I N S H R D L U C M F W Y P V B G K Q J X Z
Schlüssel für Buchstabe 3: Y A Q X S W C D E V F R B G T N H Z M J U K I L O P
Schlüssel für Buchstabe 4: W A Y S E R D X C F T Z G V B H U I J N M K O P L Q
  ...und so weiter für alle 26 Buchstaben des Alphabets.


Zuerst verschlüsseln wir einen Text nach der Eingangs beschriebenen "Einfachmethode", daher aus A wird z.B. B, aus B wird C usw. Das ist die erste Verschlüsselung, die das Steckerbrett der Enigma ausführt. Das Ergebnis speisen wir in unseren ersten Verschlüsselungsblock ein.
Wenn wir dann 3 von unseren Verschlüsselungsblöcken haben, und das Verschlüsselungsergebnis des 1. Verschlüsselungsblocks als Eingabetext in den 2. Verschlüsselungsblock füttern, dessen Ergebnis als Eingabetext in den 3. Verschlüsselungsblock, haben wir eine Enigma ohne Umkehrrotor.
Der Umkehrrotor spielt nun das Ergebnis zurück: Das Ergebnis des dritten Verschlüsselungsblocks (des 3. Enigmarotors) geht wieder als Eingabetext in den 2. Verschlüsselungsblock (2. Enigmarotor), dessen Ausgabe als Eingabe wieder in den ersten Verschlüsselungsblock (1. Enigmarotor), und das Ergebnis wird nun nochmals durch das Steckerbrett "gejagt".
Das Steckerbrett der Enigma schliesslich verschlüsselt nun noch einmal nach der Eingangs erwähnten Einfachmethode: Aus einem A wird je nach Steckerschaltung ein C, aus einem C ein E usw. Das Ergebnis ist dann der verschlüsselte Text, verschlüsselt mit einer 3-Rotoren-Enigma!


4-Rotoren-Enigma Bild: Rotor-Chiffriermaschine Enigma nach der Erfindung von Arthur Scherbius 1919. Hier die spätere 4-Rotoren-Ausführung für die Marine. 3 der 4 Rotoren konnten aus den 8 Rotoren I bis VIII ausgewählt werden. der vierte (ganz links) aus den sog. "Griechenwalzen" Beta und Gamma. Das Steckerbrett an der Frontseite der Enigma ermöglichte weitere Verschlüsselunkskombinationen. Die Einführung der 4-Rotoren-Enigma unterband das Mitlesen der Briten vom 1.2.1942 bis Dezember 1942.

Bildquelle: Buch: "Entzifferte Geheimnisse - Codes und Chiffren und wie sie gebrochen werden" von Friedrich L. Bauer. Springer-Verlag, 1995


Jeder der drei Rotoren (später waren es 4 Rotoren bzw. Walzen, nämlich noch die zusätzlichen "Griechenwalzen" Beta und Gamma) der Enigma enthielt praktisch so einen "Verschlüsselungsblock". Statt aber nun wie unser Verschlüsselungsblock das Alphabet 26 mal in allen Kombinationen zu enthalten, wurde der Rotor nach jedem Druck auf eine Taste einfach um eine Stelle (So wie wir in unserem Verschlüsselungsblock nach jedem Buchstaben einen Schlüssel tiefergegangen sind) weitergedreht und erzeugte so wiederum aufgrund der Rotor-Internen Verdrahtung eine neue Kombination. War der erste (ganz rechte) Rotor einmal von A bis Z durchgelaufen (und hatte damit wie unser Verschlüsselungsblock 26 mal verschlüsselt), wurde der links danebenstehende Rotor um einen Buchstaben weitertransportiert. War dieser ebenfalls von A bis Z durch, dann kam der dritte Rotor von rechts dran (wie bei einem Kilometerzähler). An einem Ende der Rotoren befand sich der schon erwähnte Umkehrrotor, der den Strom durch die wirre Verdrahtung der Verschlüsselungs-Rotoren zurückschickte und nochmals verschlüsselte. Über ein Steckerbrett konnte eine weitere Verschlüsselung vorgegeben werden. So wurde erreicht, das auch bei denselben Quellwörtern jeweils eine andere Verschlüsselung herauskam: Aus ENIGMA wurde z.B. im ersten Durchgang XUJGKL; verschlüsselte man nun das Wort ENIGMA abermals, wurde es vielleicht (je nach verwendeten Rotoren und Startstellung der Maschine) dann als WIVUSK ausgegeben.


Bild: Stromlaufplan der Enigma (3-Rotoren-Version) in einem Deutschen Originalschaubild aus dem WK-II, hier auf 4 Buchstaben (Q,W, E und R) reduziert. Ein Q wird gedrückt, und über die Chiffrierrotoren (blau), die Umkehrwalze (grün) und das Steckerbrett als W ausgegeben.

43 = Glühlampen
44 = Chiffr. Walzen-Kontakte
45 = Kurzschlussbleche
46 = Tastenkontakte (Arbeitskontakte)
47 = Tastenkontakte (Ruhekontakte)
48 = Lampenkontakte
49 = Federne Lampengegenkontakte
50 = Buchsen im Steckerbrett

Bildquelle: Buch: "Funkpeilung als alliierte Waffe gegen deutsche U-Boote 1939-1945" von Arthur O. Bauer, Ralph Erskine und Klaus Herold, Selbstverlag Arthur O. Bauer, Diemen, NL, 1997

(Farbliche Kenntlichmachung von Stromfluss und Walzen durch Carsten Corleis)
Stromlaufplan der Enigma


Am Applet lässt sich die Funktion am besten erkennen:
  1. Zuerst merken wir uns das Schlüsselwort der "Indicator Settings". Beim Applet ist dies in der Grundeinstellung BWE.
  2. Nur verschlüsseln wir einen beliebigen kurzen Text. Der verschlüsselte Text erscheint im OUTPUT-Feld
  3. Ist der Text verschlüsselt, schreiben wir ihn uns auf.
  4. Dann wählen wir "Settings" und dort geben wir unter "Indicator Settings" wieder BWE ein (das beim Verschlüsseln natürlich verdreht worden ist).
  5. Dann gehen wir mit "Machine" zurück zum Applet und geben unseren verschlüsselten Text im Feld INPUT ein.
  6. Im Feld OUTPUT müsste, wenn wir alles richtig gemacht haben, nun wieder unser Klartext erscheinen.
Soll nun ein anderer meinen verschlüsselten Text entschlüsseln, braucht er folgende Informationen:
Zwei Rotoren bzw. Walzen der Enigma Bild: Das innere Geheimnis der Enigma waren die Rotoren bzw. Walzen. Die innere Verschaltung hatte 26 galvanische Verbindungen der 26 Kontakte auf der anderen Seite mit ebenso vielen auf der anderen Seite. Innerhalb dieser Rotoren war die Verdrahtung von einem Buchstaben zum anderen untergebracht. Wie genau diese Verdrahtung von welchem zu welchem Buchstaben lief, war das "allerheiligste Geheimnis" der Enigma.
Oben: Rotor I mit sichtbarem Einstellring.
Unten: Rotor VIII mit 2 Nuten.

Bildquelle: Buch: "Entzifferte Geheimnisse - Codes und Chiffren und wie sie gebrochen werden" von Friedrich L. Bauer. Springer-Verlag, 1995


Das Ganze erinnert ein wenig an den "Rubiks Cube". Wenn man sich bei diesem merkt, welche Drehungen man auf welcher Ebene vorgenommen hat, braucht man dieselben Drehungen nur in umgekehrter Reihenfolge zu wiederholen, um zum Ausgangszustand zurückzukehren. Ähnlich ist es auch bei der Enigma: was beim "Rubiks Cube" das Merken der Drehungen ist, ist bei der Enigma das Kennen des Schlüsselwortes, der Steckerbrett-Kombination und welche der Schlüsselrotoren in welcher Reihenfolge benutzt werden müssen, um den Klartext wiederherzustellen.