Wir haben die Enigma verändert — jetzt versucht, sie zu brechen
Alberich Modern V3 bleibt eine Rotorchiffre. Was sich ändert, sind konkrete Schwächen der historischen Enigma — und ein öffentliches Repo, das zum Angreifen einlädt.
German Rotor Machine. Kept your secrets for more than 100 years. Most of the time.
Die Pointe funktioniert nur, wenn man den letzten Satz ernst nimmt.
Die historische Enigma war eine technische Meisterleistung. Aber sie besaß zugleich Eigenschaften, die ihrer Kryptanalyse unnötig viel Struktur lieferten. Genau dort setzt Alberich Modern V3 an.
Nicht mit dem Anspruch, AES, Signal oder moderne Ratchet-Protokolle nachzubauen. Sondern mit einer anderen Frage: Was passiert, wenn man den Charakter einer Rotorchiffre bewahrt — bekannte strukturelle Schwächen der Enigma aber gezielt entfernt und moderne Schutzmechanismen ergänzt?
Der Traditional-Modus bleibt der treue Historiker. Der Modern-Modus V3 ist der pragmatische Ingenieur.
Zuerst erschienen als Artikel auf X. Der Code liegt seit heute öffentlich: github.com/MyEngineeringTools/alberich.
Endwalze statt Umkehrwalze — die Involution fällt weg
Die klassische Enigma besitzt eine ungewöhnliche Eigenschaft: Bei identischem Maschinenzustand ist ihre Abbildung selbstinvers (eine Involution).
Der Grund liegt in der Umkehrwalze. Das Signal läuft durch die Walzen, wird reflektiert und nimmt denselben Weg zurück. Für den Bediener war das genial. Kryptographisch war es eine starke strukturelle Einschränkung.
Modern V3 entfernt genau diese Eigenschaft.
Der Signalweg lautet nun:
Stecker → rechte Walze → mittlere Walze → linke Walze → Griechenwalze → Endwalze
Kein Reflektor. Kein Rückweg.
Die Endwalze ist eine freie Permutation der 26 Buchstaben. Beim Entschlüsseln verwendet Alberich automatisch ihre inverse Abbildung. Involutorische Endwalzen werden ausdrücklich abgelehnt.
Für den Nutzer bleibt die Bedienung bequem. Für die Kryptanalyse verschwindet eine zentrale Symmetrie der klassischen Maschine.
Mehr dazu: Endwalze statt Umkehrwalze.
Lückenfüller-Kerben — das Stepping wird Teil des Schlüssels
Bei der historischen Enigma gehörten die Übertragskerben fest zu den Walzentypen. Kennt man die Walze, kennt man einen wesentlichen Teil ihres Fortschaltverhaltens.
Modern V3 trennt beides. Die Lückenfüller-Kerben sind eigenes Tages-Schlüsselmaterial. Anzahl und Position werden für linke, mittlere und rechte Walze separat erzeugt und auf der Schlüsseltafel gespeichert.
Mögliche Kerbenanzahlen: 5, 7 oder 9 (jeweils teilerfremd zu 26). Die Positionen werden per kryptographisch sicherem Zufall aus A–Z gewählt.
Das Stepping selbst ist der vierstufige Double-Step — live, nicht die spätere Kaskade-Option:
- Rechte Walze läuft immer
- Kerbe rechts → mittlere Walze
- Kerbe mitte → mittlere und linke Walze
- Kerbe links → linke Walze und Griechenwalze
Damit hängt der konkrete Bewegungsablauf vom Tagesschlüssel ab — nicht mehr nur vom bekannten Walzentyp. Die Griechenwalze steht nicht still.
Wichtige Grenze: Aus der Teilerfremdheit folgt nicht automatisch eine lange Gesamtperiode. Die tatsächliche Periode muß gemessen werden. Dafür gehört eine Periodenanalyse ins Angriffslabor.
Nicht: „Die Mathematik sagt, daß es sicher ist.“ Sondern: „Hier ist der Automat. Meßt ihn.“
Base-26 V2 — beliebiger UTF-8-Text hinein, A–Z heraus
Eine historische Enigma kennt nur Buchstaben. Alltagssprache besteht aus mehr: Leerzeichen, Zahlen, Satzzeichen, Umlaute, Emojis.
Modern V3 löst das vor der Rotorstufe. Der vollständige Klartext wird als UTF-8-Bytes gelesen, zu einer einzigen großen Ganzzahl zusammengezogen und erst dann in Basis 26 dargestellt (A = 0 … Z = 25).
Die Rotoren sehen weiterhin ausschließlich A–Z — obwohl der ursprüngliche Klartext praktisch beliebige UTF-8-Zeichen enthalten kann.
Das ältere Base-26-Verfahren hatte bei längeren Texten noch eine auffällige Struktur. V3 vermeidet dieses Muster.
Aber: Base-26 ist Encoding. Keine zusätzliche Verschlüsselungsstufe. Es ist kein Hash und erzeugt keinen garantierten kryptographischen Lawineneffekt.
Der Zweck ist pragmatisch: beliebigen Alltagstext sauber in die A–Z-Welt der Rotorchiffre zu übersetzen.
Mehr dazu: Base-26 und Lückenfüller.
Automatischer Spruchschlüssel und authentisiertes Telegramm
Historische Systeme scheiterten oft an Bedienfehlern und wiederverwendeten Schlüsseln. Deshalb nimmt V3 dem Nutzer eine zentrale Aufgabe ab.
Für jede Nachricht erzeugt Alberich automatisch einen vierbuchstabigen Spruchschlüssel — nicht über Math.random(), sondern über die Web Crypto API (CSPRNG) inklusive Rejection Sampling gegen Bias.
Zusätzlich erhält jede Nachricht eine zufällige 8-buchstabige Message-ID.
Das fertige V3-Telegramm:
ALBV | HDR4 | MID8 | BODY | PRUEF20
ALBV— sichtbarer ProtokollstempelHDR4— verschlüsselter SpruchschlüsselMID8— Message-IDBODY— Rotor-GeheimtextPRUEF20— 20-buchstabige Prüfgruppe
Die Rotorchiffre schützt den Inhalt. Der HMAC schützt das Telegramm.
Modern V3 leitet über HKDF-SHA-256 einen eigenen Authentisierungsschlüssel ab. Anschließend wird ein HMAC-SHA-256 über den Nachrichtenkontext berechnet.
In die Authentisierung fließen Message-ID, Kopfgruppe, Geheimtextkörper, Epoche und Netzkontext ein. Aus dem HMAC entsteht die 20-buchstabige Prüfgruppe (ca. 94 Bit Tagraum).
Die Prüfgruppe läuft nicht durch die Rotoren. Sie bildet eine separate Authentisierungsschicht.
Die zentrale Regel lautet: Erst prüfen. Dann entschlüsseln.
Stimmt die Prüfgruppe nicht, wird abgebrochen. Kein Rotor-Decrypt. Kein Klartext.
Damit besitzt Modern V3 etwas, das eine reine historische Rotorchiffre nie hatte: einen kryptographischen Integritäts- und Authentisierungsschutz.
Mehr dazu: Tagesschlüssel und Spruchschlüssel.
Was bleibt bewußt Enigma?
Sehr viel.
Alberich Modern V3 bleibt eine Rotorchiffre.
Kein AES. Kein Double Ratchet. Keine klassische Forward Secrecy. Keine AEAD-Sicherheitsreduktion. Kein NIST-Zertifikat.
Und vor allem: kein mathematischer Beweis, daß es keinen besseren Angriff gibt.
Die eigene Spezifikation bezeichnet V3 deshalb bewußt als experimentelles Rotor-Kryptosystem.
Was V3 nachweisbar verändert, sind konkrete strukturelle Eigenschaften:
- die involutorische Umkehrwalze verschwindet
- die Endwalze wird eine freie, nicht-involutorische Permutation
- das Stepping wird durch eigenes Tages-Schlüsselmaterial beeinflußt
- die Griechenwalze wird Teil der Fortschaltung
- UTF-8 wird sauber nach Base-26 überführt
- der Spruchschlüssel wird automatisch per CSPRNG erzeugt
- jede Nachricht erhält eine eigene Message-ID
- Manipulationen werden vor der Entschlüsselung über HMAC geprüft
Das macht daraus keine „unbrechbare Enigma“. Es macht daraus ein deutlich anderes Angriffsziel.
Und genau das ist der interessante Teil.
Eine Chiffre wird nicht dadurch gut, daß ihr Entwickler sie für gut hält
Sie wird interessant, wenn andere versuchen, sie kaputtzumachen.
Known Plaintext. Cribs. Ciphertext-only. Stepping-Analyse. Periodensuche. Equivalent Keys. Statistische Angriffe. Diffusionsanalyse. Brute Force. Oder ein Angriff, an den wir bisher überhaupt nicht gedacht haben.
Das GitHub-Repo enthält Spezifikation, Selbsttests, Golden Vectors, eine unabhängige Python-Referenz und ein Research-Labor für Angriffe und Messungen.
Der nächste Schritt gehört nicht dem Entwickler. Sondern dem Angreifer.
Bitte angreifen.
Wer Alberich nur ausprobieren möchte: alberich.pro (Modern-Modus).
Wer verstehen möchte, wie V3 funktioniert — oder herausfinden will, wo es scheitert: MyEngineeringTools/alberich.
Issues, Gegenbeispiele, reproduzierbare Angriffe und Pull Requests sind ausdrücklich willkommen.
German Rotor Machine. Kept your secrets for more than 100 years. Most of the time.
Wir arbeiten am letzten Satz.