• Deutsch   |    English


Simulation auswählen ...
-upd-  Universal Enigma  (v2.6.2)
17 Modelle | Frei kombinierbar | Uhr; UKW-D

Start=>  enigma-u_v262.html
Schwedische Enigma B (v2.6.1 EN)
SGS, 1925 | S.Nr. A-133 | 28-stellige Walzen

Start=>  enigma-a133_v261_en.html
-upd-  Enigma Z30  (v2.6.2/b EN)
"Zahlen-Enigma" (1930) | 2 Modelle

Start=>  enigma-z_v262b_en.html
————— ältere Versionen —————
Universal Enigma  (v2.5)
14 Modelle | Frei kombinierbar | Uhr; UKW-D
Start=>  enigma-u_v25.html
—————— Werkzeuge ——————
[ Demnächst…]

Enigma-Simulation in Javascript/HTML

von Daniel Palloks

 

Die Enigma-Maschine

Der Name Enigma steht für die wohl berühmteste Familie elektro­mechanischer Verschlüsselungsmaschinen. Enigmas wurden v.a. von Deutschland im 2. Weltkrieg benutzt. Die Umstände der Entschlüsselung ihrer Funktionsweise in Polen und die Aktivitäten der Codebrecher im englischen Bletchley Park sind mittlerweile legendär. Viele tausend Menschen waren daran beteiligt, darunter einige geniale Mathematiker und Ingenieure.

Funktionsweise

Die Enigma arbeitete nach dem Prinzip der polyalphabetischen Substitution (Buchstabenersetzung nach veränderlichem Muster) mit schrittweise rotierenden, per Übertrag gekoppelten Walzen, ähnlich wie bei einem mechanischen Zählwerk. Innerhalb einer Walze wurde jede Buchstaben­position umkehrbar eindeutig in eine andere Position überführt; diese Ersetzung war fest verdrahtet. Durch die Kombination und Rotation der Walzen wurden allerdings äußerst komplexe Substitutionen möglich. Außerdem konnte die interne Walzenverdrahtung als Ganzes gegenüber der äußeren Beschriftung – und den Übertragskerben – versetzt werden ("Ringstellung"). Darüber hinaus war es bei einigen Modellen möglich, auf einem Steckerbrett zusätzliche Buchstabenvertauschungen temporär fest vorzugeben (zu "steckern").

Kurz vor Kriegsende wurden dann noch eine spezielle Umkehrwalze (UKW-D), deren innere Verdrahtung sich verändern ließ, sowie ein Zusatzgerät für das Steckerbrett, die sog. Enigma-Uhr (Stecker-Uhr), eingeführt. Mit der "Uhr" konnten die gesteckerten Verbindungen nochmals untereinander verwirbelt werden, und zwar auch auf nicht-symmetrische Weise. Die Uhr wirkte also ähnlich wie eine einstellbare, nicht rotierende Walze für die Ein- und Ausgänge der Stecker.

Signalführung

Bedient wurde die Enigma über eine schreibmaschinenähnliche Tastatur; die Ausgabe erfolgte auf einem identisch zur Tastatur ausgelegten Lampenfeld. Das Tastensignal lief in jedem Schritt zunächst durch eventuell vorhandene Stecker, dann über die Eintrittswalze und die Rotorwalzen bis zur Umkehrwalze und von dort – auf einem anderen Pfad, aber bei gleicher Walzenstellung – zurück durch alle Walzen und die Stecker bis schließlich zur Lampe für den kodierten Buchstaben. Dieser war also niemals identisch mit dem Klartextbuchstaben, was sich als die gravierendste Schwäche im Verschlüsselungs­konzept der Enigma herausstellen sollte. Durch die symmetrisierte Signalführung (und die damit erzielte symmetrische Verschlüsselung) konnte aber eine Nachricht mit derselben Maschinen-Einstellung entschlüsselt werden, mit der sie kodiert worden war.

Familienschau

Es gab eine ganze Reihe unterschiedlicher Enigma-Modelle für die zivile und militärische Nutzung, außerdem spezielle Konfigurationen für den Export. Auch innerhalb einer Baureihe existierten mitunter verschiedene Varianten. Ein "Stammbaum" findet sich in den Links.
Am bekanntesten sind heute die Enigma-Modelle I, M3 und M4, die auch die am weitesten verbreiteten waren, sowie die Enigma G (Abwehr-Enigma).

Die Modelle I und M3 besaßen drei rotierende Walzen und feste Eintritts- und Umkehrwalzen (ETW, UKW). Sie wurden von der Wehrmacht inkl. Kriegsmarine (nur M3) benutzt, mit Ausnahme der U-Boot-Flotte. Diese verwendete das weiter­entwickelte Modell M4, bei dem eine zusätzliche einstellbare (aber nicht rotierende) Walze, die sog. Griechenwalze, in Kombination mit einer dünneren UKW zum Einsatz kam, was in der Standardkonfiguration "abwärtskompatibel" zu den Modellen I und M3 war. – Alle Modelle dieser "M-Linie" (dazu gehören etwa auch die norwegische Enigma N und die "Sondermaschine" des Militärischen Amtes) verfügten auch über ein Steckerbrett.

Daneben existierte ein kommerzieller Zweig von Enigma-Maschinen, der für die Industrie und den Export vorgesehen war. Diese Enigmas sind ähnlich aufgebaut wie die der M-Linie, aber ohne Steckerbrett, dafür mit einer stellbaren (aber nicht rotierenden) Umkehrwalze. Ausgangspunkt dieser Linie war die Enigma D (später Enigma K genannt), und bekannte Modelle sind die sog. "Swiss-K", die Reichsbahn-Enigma, die japanische "Tirpitz", aber auch die vom Mil Amt genutzte und mit der konfigurierbaren UKW-D ausgestattete Enigma KD.

Die kompakte Enigma G der Spionageabwehr, ein technisches Kleinod, verfügte im Gegensatz zu den anderen Modellen über ein echtes Getriebe anstelle des sonst üblichen Sperrklinken-Mechanismus. Sie hatte außerdem eine rotierende UKW und Rotorwalzen mit einer größeren Zahl von Übertragskerben, jedoch kein Steckerbrett. Eine Vorgängerversion war die "Zählwerk-Enigma" (A28), die auch kommerziell genutzt wurde.

Darüber hinaus gab es auch Spezialausführungen, wie z.B. ein für Schweden produziertes Modell mit 28-stelligen Rotoren, und exotische Modelle wie die Enigma Z (Z30, "Zahlenenigma"), deren Walzen nur zehn Positionen hatten, nämlich die Ziffern 0-9, und mit der sich Zahlenbotschaften verschlüsseln ließen.

Einteilung nach Antriebsmechanik

Die Enigma-Modelle lassen sich bezüglich ihrer Mechanik für den Walzenvortrieb in zwei Klassen einteilen: solche mit Hebelmechanik, also durch Sperrklinken weitergeschaltet (was bei der mittleren Walze zur sog. Doppelschritt-Anomalie führt, s. Features) – und solche mit Zahnradgetriebe, die wie ein normales Zählwerk umschalten. Die M-Modelle und die meisten kommerziellen Maschinen gehören zur ersten und die Abwehr- und Zählwerk-Maschinen zur zweiten Klasse. Innerhalb einer Klasse variieren dann nur Details wie Verdrahtungen der Walzen, UKW-Stellbarkeit oder Vorhandensein eines Steckerbretts.

Die Simulationen

'Universal Enigma'

Als Codebrecher möchte man ja für alle Eventualitäten gewappnet sein; andererseits wäre es aber müßig, für jede Modellvariante eine eigene Simulation anzubieten. Hier kommt die "Universal Enigma" ins Spiel. Sie beinhaltet so gut wie alle Modelle mit 26-stelligen Rotoren, deren Spezifikationen derzeit bekannt sind. Außerdem hat sie die Stecker-Uhr mit an Bord und ab Version 2.5 auch die konfigurierbare Umkehrwalze 'D'.

Eine solche Enigma gab es historisch natürlich nicht! Die Bündelung in einer einzigen Simulation hat aber den Vorteil, alle Modelle auf kompakte Weise gleichzeitig verfügbar zu machen, so daß man schnell zwischen ihnen wechseln und ihre Ausstattung und Funktionsweise vergleichen kann (mittlerweile ist dies auch Standard bei anderen Enigma-Simulationen). Ein ausgewähltes Modell verhält sich dabei wie eine eigenständige Simulation, inklusive möglicher Einschränkungen bzgl. Walzenauswahl, Stellbarkeit der UKW usw. – Darüber hinaus lassen sich jedoch im Modus "Frei" sämtliche Maschinen­eigenschaften (auch die Antriebsmechanik) individuell festlegen und die Komponenten aller enthaltener Modelle nach Belieben kombinieren und so beispielsweise völlig neue Enigma-Varianten erzeugen.

Details und Spezifikationen finden sich im Abschnitt Features.

'Enigma Z30' und 'Schwedische Enigma B'

Aufbauend auf v2.6 der "Universal Enigma" stehen auch Simulationen für zwei exotischere Modelle zur Verfügung: Bei der Enigma Z30 ("Zahlen-Enigma") handelt es sich um eine Maschine mit 10-kontaktigen Rotoren zur ausschließlichen Verarbeitung von Zahlen. Die für den schwedischen Geheimdienst modifizierte Schwedische Enigma B (A-133) hat dagegen 28 Rotorpositionen und entsprechende Tasten/Lampen – nämlich drei zusätzliche Umlaute 'Å', 'Ä' und 'Ü', dafür aber kein 'W', das im Schwedischen selten ist und bei Bedarf mit 'VV' kodiert wurde.

Beide Maschinen haben (wie auch die Enigma D) Rotoren mit sog. trivialer Ringstellung, bei der lediglich der äußere Indexring gegenüber dem restlichen Rotor drehbar ist, die Verdrahtung und Übertragskerben aber ihre relative Position zueinander nicht ändern. Diese "Ringstellung" läßt sich durch einfaches Zurückdrehen des Rotors auf eine entsprechende Position vollständig kompensieren und ist daher kryptografisch nutzlos.

Die Z30 und die Schwedische Enigma liegen als separate Simulationen vor und sind nicht Teil der 'Universal Enigma', da sie wegen ihrer abweichenden Rotorgrößen nicht nur verschiedene Alphabete benutzen, sondern auch im Modus "Frei" ohnehin nicht mit den 26-kontaktigen Modellen kombinierbar wären.

++ Neues ++

Simulationen

  • [ UPDATE ] Enigma Z30 v2.6.2/b
    Falsche Lampenausgabe korrigiert. (Dank an Azerty!) -- 01.02.2024
  • [ UPDATE ] Universal Enigma
    Korrektur Walzenverdrahtung 4N (Norenigma) gem. neuer Messung
    (Dank an Frode!) -- 19.11.2023
  • [ UPDATE ] Universal Enigma
    Anpassung Verdrahtungsrotation in UKW uR° (orig. Reichsbahn, bisher theoretisch) an nunmehr verfügbare empirische Daten
    (Dank an Detlev und Patrick!) -- 05.11.2023
  • [ UPDATE ] Universal Enigma
    Übertragspositionen in Enigma-D-Walzen revidiert [Foss, 1927]
    (Dank an Jürgen!) -- 13.08.2023
  • [ UPDATE ] Alle: v2.6.1
    Monitor-Funktionsweise verbessert; GUI-Korrekturen -- 29.01.2023
  • [ m ] Enigma Z30: Versionsschema harmonisiert
    v2.6.1 beta → v2.6/b;
    v2.6 → v2.6/a (andere vermutete ETW-Verdrahtung)
    -- 28.01.2023
  • [ UPDATE ] Universal Enigma
    Update Verdrahtung Walze 2S (Sonder-Enigma) -- 29.08.2022
  • [ UPDATE ] Enigma Z30 v2.6.1 beta
    Andere ETW-Verdrahtung (Verifizierung steht noch aus!) - Alte Version weiter verfügbar hier. -- 23.07.2022
  • [ UPDATE ] Universal Enigma v2.6
    3 neue Modelle: korrekte Enigma D (mit trivialer Ringstellung), Enigma R mit authentischer Verdrahtung, "Group II machine" (Abwehr) -- 26.04.2021
  • [ m ] UE 2.5: Enigma D in K umbenannt (identische Rotoren, aber D hat alte/triviale Ringstellung!) -- 23.04.2021
  • [ RELEASE ] Enigma Z30
    kodiert Zahlen, 2 Modelle, triviale/keine Ringstellung -- 02.04.2021
  • [ RELEASE ] Schwedische Enigma B  (A-133)
    28-stellige Walzen, schwed. Alphabet, triviale Ringstellung -- 31.03.2021

Website

  • Unterabschnitt zu Z30 und Schwedischer Enigma eingefügt (in "Die Simulationen"). — 26.12.2022

Extern

  • [ Video ] Universal Enigma in Aktion und ein kleines Tutorial hier. (Dank an poughkeepsieblue.) — Dec 2013

Features

Dateien

  • Die rechts verlinkten Simulationen bestehen jeweils aus nur einer HTML-Seite und sind auf allen gängigen Browsern mit aktiviertem Javascript lauffähig. (→ Browserkompatibilität, Sicherheit)
  • Keine Installation nötig: Zum "Mitnehmen" einfach die Browserseite speichern.
    (Um das Enigma-Logo mit zu sichern, entweder "Webseite komplett" speichern oder per Rechtsklick auf das Logo "Hintergrundbild anzeigen" lassen und dieses dann speichern.)

Enigma-Modelle

  • Die "Universal Enigma" simuliert folgende 14 Modelle:

    mit Hebelmechanik (Doppelschritt):

    I  "Services" (Heer; Luftwaffe)
    M3  (Heer; Marine)
    M4  "Shark" (U-Boote)
    N  "Norenigma" (Norwegen)
    S  "Sondermaschine" (Mil Amt) *
    D  (kommrz., 1926; triv. Ringstellung) **
    K  (kommerziell, 1927) ***
    Swiss-K  (Schweizer Luftwaffe)
    R  "Rocket" (Reichsbahn)
    R°  (Reichsbahn, authentische Verdrahtung) **
    T  "Tirpitz" (Japan)
    KD  (mit konfigurierbarer UKW) *

    mit Zahnradgetriebe:

    A28 / G31  "Zählwerk" (kommrz.)
    G-111  (Ungarn / München)
    G-260  (Abwehr in Argentinien)
    G-312  (Abwehr / Bletchley Park)
    G-401  "Group II machine" (Abwehr) **
    … sowie folgende zusätzliche Komponenten:
     
    • Enigma-Uhr ("Stecker-Uhr") - ein interessantes externes Zusatzgerät für Modelle mit Steckerbrett
      (→ Die Enigma-Maschine / Hilfe)
    • Umkehrwalze 'D' mit veränderbarer innerer Verdrahtung *
    • Erstmals werden auch spezielle "Arbeitswalzen" simuliert, die zur elektrischen Prüfung der Maschinen eingesetzt wurden: ein achsenfüllender neutraler Rotor und eine spezielle UKW, die auf der Tastertur benachbarte Buchstaben miteinander vertauscht. *
     
        * ab Version 2.5
      ** ab Version 2.6
    *** in früheren versionen fälschlich als 'Enigma D' bezeichnet

Original-Funktionalität

  • Vollständige Walzensätze für jedes Modell (soweit bekannt)
    -- NB: Die Walzen I-V waren bei der Enigma I mit Zahlen (01-26) als Positionsanzeige beschriftet. Später, für die M3 und M4, wurden bei den gleichen Walzen dann Buchstaben (A-Z) verwendet. In der Simulation werden grundsätzlich immer Buchstaben für die Positionsanzeige benutzt. Dies soll auch Verwechslungen mit der Ringstellung vermeiden, die stets in Zahlen angegeben wird.
  • Alle Einstellmöglichkeiten: Walzenauswahl; Startpositionen; Ringstellung (Standard oder trivial, je nach Rotor); Steckerleiste und Enigma-Uhr; innere Verdrahtung der UKW-D
  • Virtuelle Tastatur im originalen "QWERTZU"-Layout (umschaltbar zu Eingabefeld, s.u.)
  • Doppelschritt-Anomalie: Bei Modellen mit Hebelmechanik führt die mittlere Walze konstruktionsbedingt einen irregulären zweiten Schritt aus, wenn sie die linke Walze weiterschaltet.
    Ursache für diese Anomalie war, daß die T-förmigen Sperrklinken für den Walzenvortrieb durch eine an der rechts benachbarten Walze angebrachte Kerbe eingekoppelt wurden und dann beim Vortrieb auch gegen diese Kerbe drückten. Das führt allerdings nur bei der mittleren Walze zum besagten Effekt, da die rechte, schnelle Walze ohnehin bei jedem Schritt bewegt wird und die UKW bei den fraglichen Modellen nicht rotiert.
    -- Tip: In der Ausgangskonfiguration bei Stellung Walze II auf 'D', Walze I auf 'Q' und Eingabe der nächsten zwei Zeichen kommt es zum Doppelschritt bei Walze II.

Zusätzliche Funktionalität

  • Zwei Eingabemodi, umschaltbar:
    1. klickbare "QWERTZU"-Tastatur im historischen Layout und mit integrierten Lampen (im Original waren Tastatur und Lampenfeld getrennt!), mit zusätzlichem optionalen Eingabefeld zum bequemeren Tippen
    2. großes Textfeld, voll editierbar (Kopieren, Einfügen, Löschen... → Hilfe)
      (Hier wird bei jedem Tastendruck der gesamte Text neu verschlüsselt, was bei längeren Texten zu Verzögerungen führen kann!)
    Beim Umschalten werden Ein- und Ausgabefeld gelöscht und die Walzen auf die zuletzt eingestellten Startpositionen (Spruchschlüssel) zurückgesetzt.
  • Automatische Verifizierung von Steckerverbindungen und UKW-D-Verdrahtung
  • Stecker sind de- und reaktivierbar, ohne daß sie gelöscht werden. Es können bis zu 13 Steckerpaare verwendet werden.
    Steckerverbindungen bleiben in deaktivierter Form beim Modellwechsel erhalten.
  • Die Enigma-Uhr ist immer automatisch verfügbar, sobald mindestens 10 Steckerpaare aktiviert sind. Uhrposition "00" entspricht dabei der normalen Steckerung. Die Uhr ist getrennt von den Steckern de- und reaktivierbar. (→ Hilfe)
  • Dieselbe Rotorwalze kann mehrfach ausgewählt werden (z.B. VI-VI-VI).
  • Die Arbeitswalze "Arb.W.1" ersetzt im Original alle Rotorwalzen und ist dementsprechend breit ausgeführt. In der Simulation wird dies durch drei synchronisiert rotierende identische Walzen nachgebildet. Dadurch können diese hier auch einzeln verwendet werden (im Modus "Frei", s.u.), womit sich z.B. hypothetische Maschinen mit nur einer oder zwei Rotorwalzen emulieren lassen.
  • Walzenrotation deaktivierbar (auch für UKW)
    -- NB: Genaugenommen ist das auch bei den realen Maschinen möglich. Die Zahnradmodelle verfügen über einen Hebel zum Auskoppeln des Getriebes. Bei den Modellen mit Hebelmechanik kann man die Rotation unterbinden, wenn man eine gedrückte Taste erst losläßt, nachdem man die nächste Taste gedrückt hat.
  • Für die Kontakte an der Umkehrwalze 'D' (UKW-D) kann zwischen der Originalbezeichnung, die auch im Schlüssel erscheint, und der aus der Kryptoanalyse stammenden einheitlichen Kontaktbezeichnung ("Bletchley Park", BP) gewechselt werden. Letztere wird intern in der Simulation und daher auch im Signalfluß-Monitor verwendet und in Kleinbuchstaben dargestellt, um Verwechslungen zu vermeiden. Die Anzeige der Modellkonfiguration im Monitor nutzt dagegen schlüsselkonform die Original-Kontaktbezeichnungen.
  • Live-Monitor für Signalfluß, Verdrahtung und Stecker, Geschwindigkeit, Maschinenstatus, detaillierte Konfiguration und weitere Informationen
  • Statuszeile mit aktuellen Kodierungseinstellungen
  • Zahlreiche Elemente zeigen unter dem Mauszeiger Tooltips mit Infos und Hinweisen
  • Getrennte Reset-Knöpfe für alle Einstellungen
  • 17 Modelle zur Auswahl (I, M3, M4, N, S, D, K, Swiss-K, R, R°, T, KD, A-865, G-111, G-260, G-312, G-401)
  • 5 Presets historisch authentischer Beispielverdrahtungen für die UKW-D
  • insgesamt 58 Rotorwalzen und 15 UKW (inkl. Prüfwalzen), 2 "Griechenwalzen", 3 ETW, 2 Walzenmechaniken; Unterstützung von Standard- und trivialer Ringstellung; Steckerleiste; Enigma-Uhr (s.o.)
  • Im Modus "Frei" können alle Eigenschaften und Parameter beliebig kombiniert werden.
    So sind z.B. bei Hebelmechanik und rotierender UKW einige exotische Walzenschritte möglich (u.a. ein propagierender Doppelschritt), die es bei den echten Enigmas nicht gab.

[ Versionshistorie ]

Hilfe zur Bedienung

Dieser Abschnitt gibt Hilfe und einige Hintergrundinfos zur Bedienung der Sims. Auch wenn die Oberfläche hoffentlich weitestgehend selbsterklärend ist, heißt das nicht automatisch, daß man auch versteht, was die einzelnen Funktionen wirklich tun. Hier hilft es, sich mit den grundlegenden Konzepten der Enigma vertraut zu machen, wie sie in der Einführung beschrieben sind oder, sehr viel detaillierter, auf den entsprechenden Seiten, auf die in den Links verwiesen wird.

Allgemeines

  • Viele Elemente geben Infos und Hinweise über Tooltips, wenn man mit der Maus auf sie zeigt.
  • Bei Unklarheiten können vielleicht auch die Fragen & Antworten weiterhelfen.

Eingaben

  • Die Eingabefelder werden nur durch Tastatur-, nicht aber durch Mauseingaben "aktiv". Wurde Text per Maus eingefügt, muß deshalb anschließend die Kodierung durch eine beliebige Tastatureingabe im Feld gestartet werden (am besten eine, die nicht mitkodiert wird, z.B. 'Strg' oder Leertaste).
    -- Dies ist nicht nötig, wenn per Tastenkombination (Strg+V) eingefügt wird.
  • Beim Umschalten des Eingabemodus werden vorhandene Texte gelöscht; der aktuelle Schlüssel bleibt dabei erhalten (inkl. Spruchschlüssel, d.h. Rotoren werden auf die zuletzt eingestellte Startposition zurückgesetzt).
  • Im Modus 'Eingabefeld' ist die manuelle Einstellung der Walzenpositionen gesperrt, sobald Text eingegeben wurde.
    Damit wird die volle Editierbarkeit gesichert, die voraussetzt, daß der aktuelle Spruchschlüssel für den gesamten Text gilt.
  • Im Modus 'Eingabefeld' kann der vorhandene Text trotzdem sehr einfach umkodiert werden.
    Zum Ändern des Spruchschlüssels (d.h. der Walzen-Startpositionen) wie folgt vorgehen:
    1. Walzen zurücksetzen mit [AAAA] / v2.0: [NULL]
    2. neue Walzenpositionen eingeben
    3. Zum Aktivieren der Kodierung ist eine Tasteneingabe im Eingabefeld erforderlich (z.B. 'Strg' oder Leertaste, die nicht mitkodiert werden).
    Ringstellung und Stecker-Konfiguration können ebenfalls geändert werden (jeweils Punkt 3 beachten).
  • Der 'QWERTZU'-Modus arbeitet originalgetreu. Dort wirken sich neue Schlüsseleinstellungen nur auf nachfolgende Eingaben aus.
  • Ein- und Ausgabefeld: Ein Doppelklick selektiert den gesamten Text.

Enigma-Uhr

  • Die Uhr benötigt genau 10 aktivierte Steckerpaare. Mit weniger kann sie nicht benutzt und auch nicht eingestellt werden. Mehr Stecker sind durchaus erlaubt; es werden dann die ersten zehn (von links gezählt) durch die Uhr beeinflußt, der Rest bleibt "normal" gesteckert.
    -- WICHTIG: Anders als beim normalen Steckern ist für die Enigma-Uhr die Reihenfolge der Steckerpaare wie auch die innerhalb eines Paares relevant!
  • Die Uhr hat 40 Stellungen (00..39). Auf "00" ist sie neutral, d.h. faktisch deaktiviert: Die Buchstabenvertauschung bei dieser Stellung entspricht genau dem, was gesteckert ist.
  • Alle durch 4 teilbaren Uhrstellungen ergeben reziproke Buchstabenvertauschungen, jedoch andere als durch die aktuelle Steckerung anzeigt (außer bei "00"). Die restlichen Stellungen führen zu nicht-reziproken Vertauschungen, sind also durch normales Steckern nicht zu realisieren.
  • Beim Deaktivieren der Stecker wird auch die Uhr deaktiviert ("00"). Beim erneuten Aktivieren der Stecker bleibt sie inaktiv und muß separat reaktiviert werden.
  • Klicken auf die Uhr-Anzeige schaltet zwischen "00" (neutral/inaktiv) und der letzten aktiven Stellung hin und her.

Schlüsselprozeduren

Tages- und Spruchschlüssel

Der Enigma-Schlüssel umfaßt die folgenden Komponenten:

  • Walzenauswahl und -anordnung (Walzenlage)
  • Ringstellung
  • Steckerverbindungen / Uhr  (falls vorhanden)
  • Verdrahtung UKW-D  (falls vorhanden)
  • Startpositionen der Walzen

Die ersten vier Punkte ergeben den tagesabhängigen Schlüssel, der Sender und Empfänger bekannt und in einem Codebuch verzeichnet war. Die Startpositionen der Walzen bilden den sog. Spruchschlüssel, der individuell für jede Übertragung neu festgelegt wurde.

Chiffrieren des Spruchschlüssels ...

Der Spruchschlüssel, der dem Empfänger zunächst nicht bekannt war, wurde durch den Sender chiffriert und zusammen mit der Nachricht gesendet. Dies erfolgte auf Basis des bekannten Tagesschlüssels in folgender Weise:

  1. Sender stellt den Tagesschlüssel ein und legt einen Spruchschlüssel fest, z.B. CODE (bei nicht einstellbarer UKW entsprechend nur drei Buchstaben);
  2. Sender stellt eine beliebige Startposition der Walzen ein, z.B. WPOS, um den Spruchschlüssel zu chiffrieren;
  3. Sender tippt seinen gewählten Spruchschlüssel (CODE) ein, notiert das Ergebnis (z.B. IPXH) neben der zur Kodierung benutzten Startposition, also "WPOS IPXH", und stellt diese Buchstabengruppen der chiffrierten Nachricht voran. (Die beiden Guppen werden natürlich nicht noch einmal chiffriert.)

... Dechiffrieren des Spruchschlüssels

Der Empfänger wandte nun dieselbe Prozedur an (symmmetrische Verschlüsselung!): Er stellte den Tagesschlüssel ein und als Grundpositionen die erste Schlüsselgruppe (WPOS), tippte die zweite Gruppe (IPXH) und erhielt als Ergebnis den Spruchschlüssel (CODE). Dieser wurde nun als Walzenposition eingegeben, und die Nachricht konnte entschlüsselt werden.

* * *

Zahlen und Satzzeichen, Abkürzungen

Da die Walzen nur die Buchstaben A-Z enthalten, können auch nur diese direkt verschlüsselt werden. Zahlen und andere Zeichen müssen entweder mit speziellen, selten auftretenden Buchstabenkombinationen kodiert, weggelassen oder als Worte dargestellt werden. Dabei wurden unterschiedliche Systeme verwendet. Sehr oft stand aber z.B. das X für ein Trennzeichen (Komma; Punkt). In der militärischen Praxis wurde der Digraph "ch" in der Regel mit Q kodiert (also "acht" als "AQT"; "schön" als "SQOEN").

Vorkehrungen

Um die Entschlüsselung zu erschweren (Erkennen von Zyklen), durfte eine Übertragung nicht mehr als 250 Zeichen enthalten. Danach mußte ein anderer Spruchschlüssel verwendet werden. Längere Nachrichten wurden deshalb in mehreren Teilen mit verschiedenen Spruchschlüsseln kodiert.

Manchmal wurde der Spruchschlüssel auch innerhalb eines Nachrichtenteils noch einmal geändert, dies wurde im Klartext durch vorher vereinbarte Codes angezeigt (z.B. "CYDE" für "linke Walze jetzt auf 'D' stellen").
NB: In der Simulation wäre in letzterem Fall der QWERTZU-Eingabemodus zu benutzen, weil dort die Walzenposition manuell geändert werden kann, auch wenn schon Text kodiert wurde. Die Änderungen wirken sich dann nur auf die nachfolgenden Eingaben aus.

Es war wichtig, die Struktur einer Nachricht möglichst variabel zu halten, da insbesondere Eigennamen und der Briefkopf ("Von... An...") leicht zu erraten oder abzuleiten waren. Gängige Abkürzungen mußten aus demselben Grund variiert werden. Ein weiteres Beispiel: Das Satzende wurde i.d.R. im Klartext mit X (für Punkt) abgeschlossen; das X ganz am Ende der Nachricht war daher zu vermeiden. Nicht immer wurden solche Vorkehrungen allerdings beachtet, was den Codebrechern sehr zu Hilfe kam.

Interoperabilität von Enigma-Modellen

Enigma I in der M3

Die Enigma I (auch Wehrmacht-Enigma) kann als Vorgängerin der M3 angesehen werden. Sie wurde bereits ab 1930 bei der Reichswehr eingesetzt und blieb bis Kriegsende das am häufigsten benutzte Modell.

Die Enigma I und die M3 sind kompatibel, wenn man folgendes beachtet:

  • Bei der Enigma I und der Heeres-M3 kamen nur die Walzen I-V zum Einsatz; bei der Marine-M3 die Walzen I-VIII.
  • Eine erste UKW namens 'A' wurde nur in der Enigma I verwendet, aber 1937 außer Dienst gestellt und durch die UKW B ersetzt.
    NB: In der "Universal Enigma" ist die UKW A für die Enigma I und im Modus "Frei" weiterhin verfügbar.

M3 in der M4

Die Enigma M3 (und damit auch die Enigma I) kann mit der M4 emuliert werden. Dazu müssen ledigleich UKW und Griechenwalze "kompatibel" eingestellt werden:

  • UKW B 'dünn' + Walze Beta (auf A, Ringstellung 01)  <—entspricht—>  UKW B;
  • UKW C 'dünn' + Walze Gamma (auf A-01)  <—entspricht—>  UKW C.

Browserkompatibilität, Sicherheit

  • Die Simulation sollte in allen gängigen Browsern grundsätzlich funktionieren, auch in älteren.
      [v2.0] Getestet: Firefox 0.9+, IE 5.5+, Chrome, Opera 9+, Safari (v?), Konqueror 4+. – Sorry, Netscape wird nicht unterstützt! ;)
      [v2.5; v2.6] Getestet: Firefox 1.0.5+, IE 6+.
      Darstellung, Bedienkomfort und Effekte können je nach Browser etwas variieren. Webdesigner kennen das leidige Thema. Auch können sich modifizierte Default-Stylesheets (z.B. bei Firefox unter Linux) nachteilig auf die Darstellung auswirken.
  • Achtung: Aktiviertes Javascript kann ein Sicherheitsrisiko darstellen, da sich Code einschleusen und ausführen läßt. Fehlerhafte Skripte oder größere zu verarbeitende Datenmengen können Fehlfunktionen oder ein Einfrieren des Browsers zur Folge haben. In TOR-Netzwerken u.ä. kann die Anonymität untergraben werden (Rückverfolgung; Wiedererkennung über Cookies).
      Zur Relativierung muß aber gesagt werden, daß man heutzutage um Javascript fast nicht mehr herumkommt, da immer mehr "moderne" Websites teilweise komplett davon abhängen, v.a. Webmail-Portale, soziale Netzwerke, aber auch z.B. einfache Bildergalerien. Im Gegensatz zu den JS-Applikationen auf dieser Seite sind die dabei verwendeten Skript-Monster nicht mehr wirklich zu überblicken.
  • Kryptografische Sicherheit: Die hier demonstrierte Methode ist **nicht** zur Verschlüsselung sensibler Daten geeignet! Auch wenn es schwierig sein dürfte, eine einzelne Datei unbekannten Inhalts zu entschlüsseln, so ist die Verschlüsselung der Enigma – aufgrund einiger konzeptioneller Schwächen – nicht annähernd so stark, wie man glauben könnte bzw. wie sie sein könnte. (Die Maschinen wurden von polnischen Kryptologen bereits in den 1930er Jahren prinzipiell geknackt und später während des Krieges von den Alliierten vollständig "neutralisiert", wenn auch mit unvorstellbarem Aufwand und viel Glück. Eine spannende Geschichte übrigens.)

Fragen & Antworten

  1. A: Das Grundprinzip ist: Alle Einstellungen müssen beim Verschlüsseln und Entschlüsseln identisch sein! – Da man aber nichts kaputt machen kann, schadet es nichts, alles auszuprobieren und zu sehen, was passiert. Für den Anfang kann man alle Einstellungsmöglichkeiten ignorieren. Die Enigma verschlüsselt auch so. Einfach alles zurücksetzen (oder neu laden), links Text eingeben und rechts das Ergebnis sehen. Zum Entschlüsseln kann das Ergebnis kopiert und wieder links eingefügt werden. Falls es Probleme gibt, vorher noch einmal alles zurücksetzen. Später kann man nach und nach an den Knöpfen "drehen" und sehen, was sich verändert. Dabei könnte man z.B. zunächst mit den Walzenpositionen beginnen, dann die Ringstellung und die Stecker mit einbeziehen.
    -- Tip (1): Werte können mit den Tasten '+' und '-' eingesellt oder direkt eingegeben werden. Der Monitor bietet ein paar interessante Informationen zum Verlauf der Simulation.
    -- Tip (2): Als Video-Tutorial für die Simulation eignet sich dieser Clip von poughkeepsieblue! (<<)
  2. A: Für gewöhnlich die M-Serie. Das heißt, bei drei Walzen die M3, bei vier Walzen die M4. (NB: Die M4 kann auch für M3-Schlüssel benutzt werden, wenn man die korrekte UKW-Kombi wählt, s. Abschnitt zur Interoperabilität.) Das liegt wohl daran, daß dies die bekanntesten Modelle sind, für die es auch die meisten Simulationen gibt. Falls das nicht klappt und alle Möglichkeiten ausgeschöpft sind (→ Schlüsselprozeduren), könnte man es bei einem 4-Walzen-Schlüssel – insbesondere wenn keine Steckerverbindungen angegeben wurden – auch mal mit der Abwehr-Enigma G-312 probieren. Manchmal scheinen Cache-Owner auch Eigenkreationen zu verwenden (z.B. mit modifizierten Walzen); in solchen Fällen ist es schwer zu sagen, auf welchem Modell diese beruhen und ob ihre Funktionsweise der des Originals entspricht.
    Übrigens: Vielleicht erweitert sich ja durch die "Universal Enigma" auch das Spektrum der eingesetzten Modelle :)  (<<)
  3. A: Die Verschlüsselung startet automatisch, während man tippt (die Enigma verarbeitet jedoch nur Buchstaben a-Z). Wenn allerdings kopierter Text per Maus eingefügt wird, erkennt das Interface keine Eingabe. Das ist normales Verhalten von HTML-Textfenstern. Daher muß in diesem Fall anschließend im Eingabefenster noch eine Tasteneingabe erfolgen (z.B. 'Strg' oder Leertaste, die beim Kodieren ignoriert werden und den Text auch nicht verfälschen).
    -- Tip: Einfügen geht auch auch mit der Tastenkombination Strg+V (oder entsprechend). Dann startet die (De-)Chiffrierung ohne weiteres Zutun. (<<)
  4. A: Das ist im Textfenster-Eingabemodus völlig normal. Sobald man dort etwas eintippt, sind die manuellen Einstellungen an den Walzenpositionen gesperrt. Damit wird die volle Editierbarkeit im Textfenster erkauft, da gewährleistet bleibt, daß sich der Schlüssel nicht mitten im Text ändert.
        Trotzdem kann der Spruchschlüssel, d.h. die Startposition der Walzen verändert werden, aber immer nur für den gesamten Text. Und zwar wie folgt:
    1. mit Schalter [AAAA] / v2.0: Schalter [NULL] die Walzen auf 'A' zurücksetzen;
    2. neue Konfiguration eingeben;
    3. die Neukodierung durch eine beliebige Tasteneingabe im Eingabefenster (z.B. 'Strg' oder Leertaste) aktivieren.
    Alternativ kann der Text auch zunächst kopiert, dann gelöscht (oder gleich ausgeschnitten) werden. Die Walzen gehen dabei auf ihre aktuellen Startpositionen zurück, da das Eingabefeld leer ist, und lassen sich nun verstellen. Danach fügt man den Text wieder ein (Strg+V) und erhält die neue Kodierung.
    -- Siehe auch Abschnitt Hilfe zur Bedienung.
    (<<)
  5. A: Durch Umschalten in den Textfeld-Eingabemodus und wieder zurück. Dabei werden auch die Walzen auf die zuletzt eingestellte Startposition (Spruchschlüssel) zurückgesetzt. (<<)
  6. A: Durch Umschalten in die Walzenpositionen-Ansicht und wieder zurück. Dabei wird die aktuell gültige Verdrahtung neu eingelesen. (<<)
  7. A: Die Uhr benötigt immer genau 10 Steckerverbindungen. Es müssen also mindestens 10 Buchstabenpaare eingegeben und aktiviert(!) worden sein. Da der Uhr-Algorithmus bei weniger oder keinen Steckern zu einer fehlerhaften Kodierung führen würde, ist die Uhr in diesen Fällen automatisch gesperrt (d.h. auf Stellung "0", wo sie sich neutral gegenüber den Steckern verhält).
    -- Weitere Hinweise zur Enigma-Uhr im Abschnitt Hilfe zur Bedienung.
    (<<)
  8. A: Dies sollte im Normalfall nur noch bei älteren Browsern auftreten. Die Simulation ist für damalige Javascript-Verhältnisse ziemlich rechenintensiv. Bei längeren Texten im Eingabefeld-Modus, die ja bei jedem Tastendruck von Anfang bis Ende neu verschlüsselt werden (das ist der Editierbarkeit geschuldet), kann sich das Programm also entsprechend verlangsamen oder im Extremfall sogar "einfrieren". Moderne Browser fangen dies i.d.R. ab und bieten eine Abbruchmöglichkeit (s.a. nächste Frage). Schlimmstenfalls ist ein eingefrorenes Skript durch einen Browser-Neustart einfach zu beheben.
    Aktuelle Rechner und Browser sollten kein Problem mit Texten von 1000 Zeichen und darüber hinaus haben. Bei längeren Eingaben wird trotzdem eine entsprechende Warnung angezeigt, sofern zusätzlich der Monitor aktiv ist, der ja ebenfalls ständig aktualisiert werden muß. Historisch wurde übrigens die Länge einer Nachricht auf 250 Zeichen begrenzt, um die Entzifferung zu erschweren (vgl. Abschnitt "Schlüsselprozeduren").
    -- Tip: Folgende Maßnahmen können die Simulation entlasten und damit die Reaktion beschleunigen:
    • die QWERTZU-Tastatur benutzen; dieser Modus arbeitet immer gleich schnell, da stets nur das aktuelle Zeichen kodiert wird
    • im QWERTZU-Modus bei Einfügen langer Texte den Monitor schließen (im Textfeld-Eingabemodus ist das nicht nötig)
    • längere Texte aufteilen, wie es auch real gemacht wurde (s.o.)
    • einen anderen (evtl. aktuelleren) Browser probieren
    (<<)
  9. A: Kein Grund zur Panik. Bisher konnte das Skript noch nicht zum Absturz gebracht werden – außer man klickt irgendwelche Buttons in der Sim an, während ein Chiffriervorgang läuft (dann muß man u.U. den Browser neu starten). Wahrscheinlich wird aber gerade ein langer Eingabetext (im 'QWERTZU'-Modus?) bearbeitet und/oder der Browser ist nicht so leistungsfähig. Sollte eine browser-interne Warnung ausgegeben werden, gibt es immer die Möglichkeit, auf "Anhalten" zu klicken. Das beendet die laufende Operation und hat i.d.R. keine weiteren Konsequenzen. Es kann allerdings nachfolgend zu Fehlkodierungen kommen, da das Skript sich nun in einem undefinierten Zustand befindet (s. Frage 11). Man kann aber auch auf "Weiter" klicken und warten, bis die Chiffrierung abgeschlossen ist. Abhängig von der Leistung des Browsers/PCs und der Textlänge kann das einige Zeit dauern, und womöglich werden in Abständen noch weitere Warnungen angezeigt. (<<)
  10. A: Wahrscheinlich handelt es sich um einen Marine-Schlüssel. Es gab tatsächlich, auch abhängig von Modell und Walzenbeschriftung, verschiedene Methoden den Schlüssel zu formulieren. Die hier verwendete – Buchstaben für alles außer Ringstellung – war sicher die geläufigste, da auch die meisten Walzen im Sichtfenster Buchstaben anzeigen. Buchstaben vereinfachen außerdem die Eingabe der Steckerpaare. Gegebenenfalls müssen also Schlüsselwerte vor der Eingabe entsprechend umgeschrieben werden. Dabei gilt die einfache Durchnumerierung des Alphabets:
    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
    1 2 3 4 5 6 7 8 9  10 11 12 13 14 15 16 17  18 19 20 21 22 23 24 25 26
    -- Tip: Hält man den Mauszeiger über ein Feld, wird die jeweils andere Lesart als Tooltip angezeigt. Ich hoffe, das ist nicht zu verwirrend... (<<)
  11. A: Die Simulationen sind getestet und sollten jeden Text korrekt entschlüsseln. Voraussetzung ist, sämtliche Einstellungen entsprechen denen beim Verschlüsseln. Eine falsche Dekodierung kann daher folgende Ursachen haben:
    • Beim Kopieren oder Einfügen wurde ein Teil des Textes vergessen (z.B. am Anfang). Vielleicht war ein aus der Ausgabe kopierter Text größer als das Textfeld, und es wurde nicht richtig an den Anfang gescrollt.
      -- Tip: Ein Doppelklick ins Fenster selektiert den gesamten Inhalt.
    • Im QWERTZU-Modus bleibt einmal kodierter Text im Ausgabefenster unverändert bestehen, auch wenn inzwischen die Einstellungen geändert wurden! Hier wird – anders als im Textfenstermodus – nicht rückwirkend alles neu verschlüsselt. Man muß sich daher die Positionen merken, an der der Text mit dem aktuellen Schlüssel beginnt und endet und darf nur diesen Bereich kopieren/entschlüsseln.
      -- Tip: Das Ausgabefenster läßt sich durch Umschalten in den Textfenstermodus und anschließendes Zurückschalten löschen. Die aktuellen Schlüsseleinstellungen bleiben dabei erhalten.
    • Da der QWERTZU-Modus kein Gedächtnis hat, bewirkt dort jede Schlüsseländerung (inkl. Ringe, Stecker usw. – auch wenn sie wieder zurückgenommen wird!) einen neuen Spruchschlüssel, d.h. die aktuelle Walzenposition werden automatisch als neue Startposition gesetzt!
      -- Tip: Ein Blick in die Statuszeile informiert über die aktuellen Enstellungen. Gegebenenfalls die Startpositionen neu einstellen.
    • Steckerverbindungen wurden eingegeben/geändert, aber nicht aktiviert oder sind deaktiviert (Aktivierungsknopf ist rot).
    • Bei der Auswahl einer Walze wird deren Startposition auf 'A' und die Ringstellung auf '1' zurückgesetzt. Deshalb diese Einstellungen erst nach der Auswahl der Walze festlegen, damit sie nicht verloren gehen.
    • Sollten nur bestimmte Zeichen des Originaltextes fehlen, handelt es sich vielleicht um Sonderzeichen, Umlaute oder Zahlen. Das ist normal, denn diese können (und konnten) nicht kodiert werden, da die Walzen und die Tastatur nur Buchstaben kennen. Mehr dazu im Abschnitt Schlüsselprozeduren.
    • Ein richtig beginnender und dann plötzlich unleserlicher Text ist oft ein Zeichen für einen falschen Übertragspunkt (der rechten Walze). Ringstellung und Walzenposition müssen dann korrigiert werden, und zwar gleichzeitig in dieselbe Richtung, bis das Ergebnis stimmt.
    • Hat man den Verdacht, daß v.a. bestimmte Buchstabenpaare vertauscht (oder zyklisch vertauscht) sind, liegt das Problem bei den Steckern: Vermutlich ist ein Stecker-Buchstabe (oder mehrere) falsch eingegeben.
    • Bei sehr langen Eingabetexten kann es vorkommen, daß der Browser eine Standard-Warnung ausgibt, ein laufendes Skript verlangsame die Website (vgl. Frage 8). Bricht man dann das Skript ab, kann es bei nachfolgenden Kodierungen u.U. zu unsinnigem Output kommen. Grund ist, daß der Browser das laufende Enigma-Skript zwar abgebrochen, aber nicht zurückgesetzt hatte (Variablenwerte, Zähler etc.). Es hat also mit der internen Arbeitsweise des Browsers zu tun, nicht mit dem Enigma-Skript. Abhilfe schafft in diesem Fall das Neuladen der Seite.
    • siehe auch nächste Frage...
    (<<)
  12. A: Generell wurden meine Simulationen, soweit möglich, gegen die unten in den Links aufgeführten Programme getestet und diese wiederum (nach Auskunft ihrer Autoren) gegen echte Enigma-Geräte. Damit sind Fehler eher unwahrscheinlich, können aber natürlich nicht ausgeschlossen werden (z.B. nach Veränderungen am Quelltext). Es wurden jedenfalls schon etliche "fremde" Texte mit meinen Simulationen erfolgreich entschlüsselt. Eventuell also nochmal alle Einstellungen überprüfen oder auch die vorige Antwort konsultieren. Sollte der Fehler dann weiterhin auftreten, bin ich natürlich für einen entsprechenden Hinweis dankbar. (<<)
  13. A: Berechtigte Frage. Und sogar von kryptografischer Bedeutung. Denn die Walzen, die pro Umdrehung nur einen Übertrag erzeugen, lassen insbesondere die linke Walze oft quasi statisch beim Kodieren einer Nachricht. Eine so ausgestattete Enigma hat damit im Grunde effektiv nur eine bis zwei Rotorwalzen, was die kryptografische Stärke erheblich reduziert. In den Modellen vom "Typ G" wurde dieses Manko behoben durch Walzen mit einer Vielzahl von Übertragskerben sowie zusätzlich eine rotierende UKW. Die Walzen anderer Modelle wurden aber nie durch entsprechend verbesserte ausgetauscht. Das mag auch finanzielle, logistische oder Kompatibilitätsgründe gehabt haben.
    -- Tip: Die Walzen der Zählwerk- und G-Serie haben die meisten Kerben, wobei jeweils die mit der Nummer "1.." mit 17 Kerben an der Spitze liegt. Die Walzen der Enigma KD haben je 9 Kerben und die der Enigma T immerhin noch 5 Kerben. Die Walzen VI-VIII der M-Serie schalten zweimal pro Umlauf weiter (was kryptografisch allerdings sogar schädlich ist, weil es die Periode verkürzt anstatt zu verlängern: die Anzahl der Weiterschaltungen sollte immer teilerfremd zur Umlaufperiode sein!). Alle restlichen Walzen besitzen nur eine Übertragskerbe. (<<)
  14. A: Sie zeigen die aktuelle "Kopplung" der Walzen untereinander an, d.h. den Fortschaltungsmechanismus.
    Es gibt 3 Möglichkeiten: Weiterschaltung per Hebel/Sperrklinke, per Getriebe, oder keine (Rotation deaktiviert). Analog gibt es drei verschiedene Symbole, die (hoffentlich) diese Zustände illustrieren: '–' für einen Hebel; '¤' für Getriebe (das Währungssymbol erinnert an ein Zahnrad); sowie '^' für entkoppelt ('hochgeklappt'), also deaktivierte Rotation.
    -- Taucht ein Symbol auch zwischen der linken Rotorwalze und der UKW auf, so gibt es zwischen diesen auch eine Kopplung, d.h. die UKW ist dann rotierend. (<<)
  15. A: Die linke und rechte Spalte ist sicher selbsterklärend. Das mittlere Feld zeigt je nach Benutzeraktion entweder den aktuellen Signalfluß oder die aktuelle innere Verdrahtung an:
    1. Im Fall, daß irgendwelche Einstellungen vorgenommen werden (Walzenauswahl, Startposition, Ringstellung, Stecker oder Uhr), wechselt der Monitor zur Anzeige der inneren Verdrahtung. Man sieht dort dann zeilenweise pro Komponente (also Walzen, Stecker/Uhr), wie eingehende in ausgehende Signale übersetzt werden. Dabei wird alphabetisch nach dem Eingangsbuchstaben geordnet – oder im Fall von Rotorwalzen alphabetisch, beginnend mit der aktuellen Rotorposition ganz links. Für Walzen repräsentiert die jeweils obere Zeile den äußeren Buchstabenring, wie man ihn in den Anzeigefenstern der echten Enigma und auch in der Simulation sieht. Großbuchstaben stehen für die Übertragspositionen zur nächsten Walze. In der zweiten Zeile ist dann für jeden Eingangs- der aktuelle Ausgangsbuchstabe (ebenfalls bezogen auf den äußeren Ring) angezeigt. Im hellblauen Feld links sind alle angezeigten Komponenten bezeichnet.
      -- Beim Ändern einer Walzen-Startposition werden z.B. beide Zeilen synchron um den entsprechenden Betrag verschoben, so daß die Startposition (äußerer Ring) ganz links steht. Wird die Ringstellung geändert, ändert sich nur die untere Zeile, da die Walze selbst nicht rotiert, sondern lediglich ihre innere Verdrahtung gegenüber dem Außenring. Bei den Steckern, der Uhr und der ETW bleibt die obere Zeile immer unverändert, und nur die untere Zeile (Ausgangsseite) wird entsprechend modifiziert.
    2. Erfolgt eine Eingabe zur Chiffrierung, dann schaltet der Monitor in den Signalfluß-Modus um, wo man den Verlauf des Signals von der Eingabe bis zur Ausgabe verfolgen kann. Dies wird durch grüne bzw. rote Pfeile für den Hin- bzw. Rückweg des Signals verdeutlicht. Wie im Fall der inneren Verdrahtung, werden zeilenweise die beteiligten Komponenten (Walzen, Stecker/Uhr) angezeigt, deren Positionen alphabetisch nach Eingangssignal geordnet sind bzw. für rotierende Walzen beginnend mit der aktuellen Walzenposition. Diesmal wird nur die obere Zeile angezeigt, und die Pfeile verdeutlichen dort den Ein- und Ausgang des Signals. Auch hier stehen Großbuchstaben für Übertragspositionen zur nächsten Walze (wie man mittels der Tooltips in der Positionsanzeige der Walzen leicht nachprüfen kann).
    (<<)
  16. A: Das liegt an der Darstellung der Seite im konkreten Browser. Trotz größtmöglicher Anpassung an verschiedene Browser kann es Abweichungen geben. Oft sind Schriftarten standardmäßig zu groß, so daß es Umbrüche gibt. Bei Firefox (Windows) ist die Standardschrift, die auch in den Sims verwendet wird, Times New Roman, Größe 16px. Man kann dies unter Extras>Einstellungen>Inhalt anpassen. In den meisten Browsern läßt sich auch einfach die Schriftgröße der gerade angezeigten Seite ändern, i.d.R. durch gleichzeitiges Drücken von Strg und '+' oder '-'. (<<)
  17. A: Da Simulationen lediglich aus einer normalen HTML-Webseite (und einem Bild für das Logo) bestehen, lassen sie sich nach dem Aufruf ganz normal speichern (Strg+S). Alternativ kann man mit der rechten Maustaste auf die Links zur Simulation klicken und "Ziel speichern unter..." auswählen (je nach Browser-Modell kann es statt "Ziel" auch "Verknüpfung", "verlinkter Inhalt" o.ä. heißen). Damit ist die Simulation "heruntergeladen".
    -- Tip: Um die Logo-Grafik ebenfalls zu speichern, entweder die Option "Webseite komplett" wählen, oder per Rechtsklick auf die Grafik "Hintergrundbild anzeigen" lassen und dieses dann speichern. (<<)
  18. A: Grafik stand nicht so sehr im Vordergrund; Bedienbarkeit und Kompaktheit aber schon. Die Hauptargumente für diese Simulationen waren: 1. Zum Ausführen wird lediglich ein Browser benötigt; die Simulationen laufen also plattformunabhängig, d.h. auf beliebigen Computern und Betriebssystemen. -- 2. Man kann den Quelltext unmittelbar lesen und auch verändern. (Und das ist sogar erlaubt! Unter Beachtung der Lizenzbedingungen, s.a. das 'i'-Knöpfchen in der Simulation.) Javascript in der hier verwendeten Form ist eine recht gut nachvollziehbare Sprache, und das Zusammenspiel von Algorithmen und Anzeige/GUI läuft über (dynamisch verändertes) HTML, das ebenfalls leicht zu durchschauen ist. -- 3. Die Sims sind, obwohl es sich um kommentierte Skripte handelt, äußerst kompakt (HTML-Seite der Größenordnung 64kB; optional noch die Logo-Grafik). -- 4. Die Universal Enigma mit Stecker-Uhr bot bei Erscheinen 2011 eine Vielfalt an Modellen und Optionen, die vergleichbare Projekte nicht aufweisen konnten. -- Für mich war darüber hinaus die Frage interessant, ob eine solche Simulation mit den Mitteln von HTML/Javascript überhaupt sinnvoll machbar ist und man sich dabei auf eine Seite von "normalem" Umfang beschränken kann. Zum Zeitpunkt der ersten Versionen (Oktober 2007) hatte ich jedenfalls im Internet nichts Vergleichbares gefunden. (<<)
  19. A: Auf die Art Frage habe ich ja bisher auch schon vehement mit Nein geantwortet – trotzdem gibt es jetzt die v2.5 mit UKW-D. Ich sollte also vielleicht lieber gar nichts sagen! (<<)
  20. A: Ganz bestimmt nicht. Dafür müßte das gesamte GUI-Konzept und der entsprechende Code neu strukturiert werden. Das ist sehr komplex, macht nur Frust und bringt darüber hinaus keine neuen Einsichten. Die Simulation läuft übrigens grundsätzlich genauso auf mobilen Geräten, die Frage ist lediglich, wie bedienbar sie dort ist. Das ist aber nicht annähernd genug Motivation für mich. :P (<<)
  21. A: Hallo, hier!! Bei mir im Keller ist immer Platz.
  22. A: Ich freue mich über Feedback und Anregungen. Und man kann diese Seite natürlich auch verlinken und weiterempfehlen. (<<)

Links und Danksagungen

  • Die Wikipedia-Einträge zur Enigma (inkl. weiterer zu bestimmten Modellen und zur Enigma-Uhr) waren anfangs meine Hauptquellen für dieses Projekt. Dort auch viel zur Geschichte und zu kryptografischen Fragen. Der englische Eintrag erklärt die Doppelschritt-Anomalie etwas besser.
  • Die reichhaltigen Seiten von CryptoMuseum.com in Holland bieten neben Modellspezifikationen (inkl. einer vollständigen Liste der Walzenverdrahtungen) auch Fotos und viele Originaldokumente(!) zu den verschiedenen Enigma-Modellen. Außerdem gut verständliche Infos zur Stecker-Uhr und einen Enigma-Stammbaum. Die Seiten werden ständig erweitert.
  • Relativ umfassende Zusammenstellungen von Walzenverdrahtungen verschiedener Enigma-Modelle fand ich seinerzeit (das Cryptomuseum war dort noch im Aufbau) auf einer Seite der Universität Toledo: "python cryptanalysis files: Enigma" (dort die Datei "enigma_configs.py") und im Rotor-Kompendium der spanischen Website "Taller de Criptografía".
  • Die außerordentlich schöne Enigma-Simulation (Windows-Executable) von Dirk Rijmenants hat mir nicht nur beim Debuggen geholfen, sondern gibt auch wichtige Informationen zum mechanischen Ablauf (Walzen rotieren zuerst, danach erfolgt die Kodierung). Die Website enthält viel Material zu Verschlüsselungsmaschinen und Kryptografie und wird ständig aktualisiert.
  • Zur Analyse der genauen Funktionsweise der Ringstellung wurde auch der M3 Naval Enigma Simulator von Geoff Sullivan und der Crypto Simulation Group (s.a. CryptoCellar) zu Rate gezogen, der u.a. eine interessante Visualiserung für den Signalfluß durch die Walzen bietet. Auch meine G-312 wurde mittels der entsprechenden "Abwehr"-Simulation von Geoff überprüft, dem ich in diesem Zusammenhang herzlich für seine Hilfe danken möchte. Zur Arbeitsweise der Enigma-Uhr ist seine Uhr-Simulation die einzige validierte Referenz im Netz und daher unverzichtbar für die Klärung der genauen Signalwege (Steckerbuchsen für ein- und ausgehende Signale).
  • Anders Wik machte mich auf die Z30 und die schwedische Enigma aufmerksam und steuerte wertvolles Material und Hintergrundwissen zu beiden Maschinen bei. – Philip Marks war sehr hilfreich bei der Klärung einiger Aspekte der unterschiedlichen Arten von Ringstellung. Seine Arbeit zur Rekonstruktion authentischer Rotorverdrahtung war eine direkte Inspiration für das Update v2.6 der Universal Enigma.
  • Mein Dank geht auch an David Hamer, an Mavis Batey ("the only one left who was present when the Abwehr machine was broken") sowie an John Alexander vom Bletchley Park Museum.
  • Keine noch so eingehende theoretische Beschäftigung mit der Enigma kann das Erlebnis einer realen Begegnung ersetzen. Ich danke Eva Kudraß vom Deutschen Technikmuseum Berlin, die mir das auf ganz besondere Weise ermöglicht hat, sowie Klaus Kopacz für seine Zeit, das Teilen seines reichhaltigen Erfahrungsschatzes und die Demonstration der Prüfwalzen.
  • Der Universal Enigma Simulator in einem Video von poughkeepsieblue (zu sehen ab 3:00 min). Nicht nur ein hübsches Tutorial, sondern auch eine kreative Anwendung ... Danke, poughkeepsieblue!

Kontakt

 
  palloks@physik.hu-berlin.de
 

Copyright, Lizenz, Haftungsausschluß

Copyright © 2007-2024 by Daniel Palloks. -- Das Programm ist Freeware und darf nach Belieben weitergegeben und verändert werden, solange (1) meine Urheberschaft anerkannt bleibt, (2) alle Änderungen entsprechend gekennzeichnet werden, (3) der Freeware- und OpenSource-Status und die Bedingungen für Weitergabe/Modifikation gewahrt bleiben. Dies gilt auch für Teile des Quelltextes, sofern sie an anderer Stelle verwendet werden. Bei der Weitergabe der Software muß auch eine Kopie dieser Bestimmungen weitergegeben werden. -- Der Autor haftet nicht für Schäden, die mittelbar oder unmittelbar durch die Benutzung der Software entstehen.

Für die Inhalte hier verlinkter externer Seiten kann ich natürlich ebenfalls keine Haftung übernehmen.
Quelle des Enigma-Logos: Wikimedia Commons. Die Grafik ist Public Domain.

 


© Daniel Palloks 2009-2024
Letzte Änderung: 02.10.19

HTML 4.01 Strict