Vigenère-Chiffre: Finde die Schlüssellänge und knacke den Text

Ein Schlüssel aus L Buchstaben verwandelt eine Nachricht in L ineinander verschachtelte Caesar-Chiffren. Schreibe den Geheimtext in Zeilen der Länge k und zähle die Koinzidenzen spaltenweise: Beim passenden k liest sich jede Spalte wieder wie normales Englisch. Geh den Angriff Schritt für Schritt durch oder wähle selbst einen Balken.

Interaktive Simulation wird geladen...

Lektion

Die Theorie — Vigenère-Chiffre: Finde die Schlüssellänge und knacke den Text

Die Vigenère-Verschlüsselung addiert einen sich wiederholenden Schlüssel Buchstabe für Buchstabe zur Nachricht. Mit A = 0 bis Z = 25 lautet der Geheimtextbuchstabe i: (Nachrichtenbuchstabe i + Schlüsselbuchstabe i mod L) mod 26. Jeder Schlüsselbuchstabe wirkt somit als Caesar-Verschiebung auf jeden L-ten Buchstaben. Der Koinzidenzindex von N Buchstaben, IC = Σ n(n − 1) / (N(N − 1)), beschreibt die Wahrscheinlichkeit, dass zwei an verschiedenen Stellen gewählte Buchstaben identisch sind: 1/26 = 0,0385 für zufällige Buchstaben, etwa 0,066 für Englisch. Friedmans Test ordnet den Geheimtext in Zeilen der Länge k an und zählt Übereinstimmungen entlang der Spalten: Entspricht k der Schlüssellänge oder einem Vielfachen davon, bildet jede Spalte verschobenes Englisch, und ihr Koinzidenzindex steigt wieder auf das Niveau der Sprache. Der Kasiski-Test aus dem Jahr 1863 zerlegt die Abstände zwischen wiederholten Buchstabengruppen in Faktoren.

Was die einzelnen Symbole bedeuten

L
Anzahl der Buchstaben im Schlüssel
k
getestete Schlüssellänge: Anzahl der Spalten, auf die der Geheimtext verteilt wird
N
Gesamtzahl der Buchstaben in der Nachricht
n
in der IC-Formel: Häufigkeit eines einzelnen Buchstabens
Setzt voraus
Nur Buchstaben: Groß- und Kleinschreibung, Leerzeichen und Satzzeichen werden vor dem Verschlüsseln verworfen, genau wie auf Carrolls Karte. „Englisch“ bezieht sich hier auf Kapitel I von Alice im Wunderland mit 8.606 Buchstaben. Dessen Buchstabenanteile und Koinzidenzindex von 0,0665 dienen als Referenz für sämtliche Tests. Auch die Stichproben zur Erfolgsmessung stammen aus diesem Kapitel, was die Erfolgsquote des Angriffs leicht begünstigt. Als Schlüssellänge gilt das kleinste k, dessen mittlerer Spalten-IC mindestens drei Viertel des Abstands von 1/26 zu Englisch überbrückt. Zufallsschlüssel wählen jeden Buchstaben gleichverteilt, Buchstaben können sich also wiederholen; wiederholt sich ein Schlüssel bereits nach der halben Länge, kann das den Balken bei der halben Länge über die Schwelle heben.

Im Mittel erreicht jeder Balken ggT(k, L)/L des Weges zu Englisch 🖖

Klicke auf RABBIT, 600 Buchstaben und betrachte die Balken. Aufgeteilt in k Spalten mischt jede Spalte die Alphabete von L/ggT(k, L) Schlüsselbuchstaben. Über alle Schlüssel gemittelt bleibt genau ggT(k, L)/L des Abstands zwischen zufälligen Buchstaben und der englischen Sprache erhalten. Für die sechs Buchstaben von RABBIT platziert das 6, 12 und 18 ganz oben, 3, 9 und 15 auf halber Höhe, die übrigen geraden k bei einem Drittel und den Rest bei einem Sechstel. Unsere Balken landen hier bei 98 bis 106 %, 42 bis 52 %, 26 bis 37 % sowie 9 bis 23 %. Balken 1 umfasst den gesamten Geheimtext. Ein Schlüssel aus zehn Buchstaben belässt im Mittel ein Zehntel der typisch englischen Häufigkeitsunterschiede in der Zählung, während jeder zehnte Buchstabe für sich reines Englisch bleibt. Gemittelt über 100 zufällige Schlüssel jeder Länge von 1 bis 12 weicht jeder einzelne der zwanzig Balken um weniger als 3 % des Gesamtabstands von der durch ggT(k, L)/L vorhergesagten Position ab. Der Nachdruck von Friedmans Arbeit über den Koinzidenzindex aus dem Jahr 1935 nennt die beiden Grenzwerte: 0,066 für eine korrekte Periode, 0,038 für eine falsche. Dieses Kapitel erreicht 0,0665, während 1/26 genau 0,0385 ergibt. Die Linie liegt bei drei Vierteln der Höhe, weil der Balken bei L/2 im Schnitt etwa auf halber Höhe landet – bei kurzen Spalten sogar knapp darunter.

Jeder Schlüsselbuchstabe ist eine eigene Caesar-Chiffre 🖖

Klicke auf Zwölfstelliger Schlüssel. Die Länge stimmt. Jede der zwölf Spalten ist nun eine Caesar-Chiffre aus 18 Buchstaben, die sich durch Testen aller 26 Verschiebungen gegen die Buchstabenanteile des Kapitels knacken lässt. Elf davon stimmen auf Anhieb. Spalte 5 enthält nur zwei E und drei R; die Verschiebung, die jedes R in ein E überführt, passt hier ein Stück besser zur englischen Sprache als die echte. Eine einzelne Spalte aus 30 Buchstaben wird in 98 % der Fälle richtig gelöst. Doch für den Schlüssel muss jede Spalte stimmen: Bei über 2.000 Textabschnitten dieses Kapitels mit 30 Buchstaben je Spalte waren nur in 81 % der Fälle alle zwölf korrekt. Jede Spalte ist ein erneuter Caesar-Angriff. Ein langer Schlüssel vervielfacht also die Fehlversuche: In Fünfer-Schritten gezählt gelingt ein zwölfstelliger Schlüssel erst ab 55 Buchstaben je Spalte – insgesamt 660 – in 99 % der Fälle vollständig. Und das gilt erst, wenn die Länge überhaupt feststeht. Der Balkentest selbst verlangt bei kurzen Schlüsseln nach mehr Text, da er über weniger Spalten mittelt: Bei 60 Buchstaben pro Spalte entschlüsselt der gesamte Angriff einen einstelligen Schlüssel in etwa 87 % der Fälle, einen zwölfstelligen dagegen zu mehr als 99 %.

Ein Schlüssel in Textlänge hinterlässt nur noch E 🖖

Klicke auf Schlüssel in Textlänge und geh bis zum Ende. Zwanzig Buchstaben unter zwanzig Schlüsselbuchstaben bedeuten einen einzigen Buchstaben pro Spalte. Es gibt keine Buchstabenpaare zu zählen, daher fehlt Balken 20 völlig. Und das Chi-Quadrat eines einzelnen Buchstabens bevorzugt unweigerlich jene Verschiebung, die ihn in ein E verwandelt – den häufigsten Buchstaben des Kapitels. Jede Spalte liefert ein E, und das Ergebnis stimmt exakt zweimal: an den beiden E von „Alice was beginning to g“. Im gesamten Kapitel macht E genau 1.078 von 8.606 Buchstaben aus, also 12,5 %. Bei einem Buchstaben je Spalte erzielt der Angriff auf Textabschnitten 12,6 % Treffer: exakt das Vorwissen über die englische Sprache und kein einziges Bit an Information aus dem Geheimtext. Werden die zwanzig Schlüsselbuchstaben rein zufällig gezogen und nie wiederverwendet, passt jede beliebige Nachricht aus zwanzig Buchstaben gleich gut zu diesem Geheimtext. Das ist das One-Time-Pad.

Aufgabe vollständig gelöst

  1. Hatte Carroll mit seiner Chiffrierkarte recht? 4 Schritte

    Lewis Carroll ließ eine Karte drucken, die dieses Chiffrierverfahren erklärte. Sie trägt kein Datum; seine Briefe über das Versenden eines Schlüsselworts stammen aus dem April 1868, fünf Jahre nach Kasiskis Buch. Auf der Karte wird „meet me on Tuesday evening at seven“ mit dem Schlüsselwort vigilance verschlüsselt, verbunden mit dem Versprechen, es sei „für jeden ohne Kenntnis des Schlüsselworts unmöglich, die Nachricht zu entschlüsseln, selbst mit Hilfe der Tabelle“. Klicke auf Carrolls Karte: Kann dieses Werkzeug seine Nachricht lesen? Verschlüssele anschließend den Beginn von Kapitel I mit demselben Schlüsselwort. Wie viele Buchstaben braucht die Seite, um VIGILANCE wiederzuerkennen?

    Öffne diese Aufgabe im Tool

    1. Rechne einen Buchstaben von Hand nach: m ist 12 und v ist 21; 12 + 21 = 33, und 33 − 26 = 7, was h entspricht. Der Geheimtext hier, HMKBXEBPXPMYLLYRXIIQTOLTFGZZV, stimmt Buchstabe für Buchstabe mit Carrolls Karte überein.

    2. 29 Buchstaben in 9 Spalten ergeben zwei Spalten mit 4 und sieben mit 3 Buchstaben. Keine Dreiergruppe wiederholt sich, Kasiski findet also keine Abstände. Kein Balken erreicht die Linie bei 0,0595; der höchste ist k = 9 bei 0,0556, die Länge wird also richtig bestimmt. Das Chi-Quadrat über drei oder vier Buchstaben gleicht jedoch reinem Raten: Als Schlüssel wird HIGXXLNPM ermittelt, wovon 3 der 9 Buchstaben stimmen – und 10 der 29 Nachrichtenbuchstaben.

    3. Klicke auf VIGILANCE, 189 Buchstaben: der Kapitelanfang unter Carrolls Schlüsselwort, 21 Buchstaben je Spalte. Balken 9 überschreitet bei 0,0794 als erster die Linie, und 4 der 5 Abstände zwischen wiederholten Gruppen sind Vielfache von 9 (54, 36, 27 und 72; der fünfte ist 29). Alle neun Spalten werden fehlerfrei gelöst und damit sämtliche 189 Buchstaben.

    4. Stelle die Länge auf 188 Buchstaben ein. Die Schlüssellänge bleibt bei 9, aber Spalte 9 zählt nun nur noch 20 Buchstaben und passt besser zu T als zu E: 168 von 188 Buchstaben werden entschlüsselt. Erst der 189. Buchstabe fällt in Spalte 9 und gibt den Ausschlag zugunsten von E.

    Antwort

    Im Programm hält Carrolls eigene Nachricht stand, 189 Buchstaben aus Alice dagegen nicht. Drei oder vier Buchstaben je Spalte sind schlicht zu wenig für eine Zählung; der Schlüssel kommt als HIGXXLNPM heraus. 21 Buchstaben pro Spalte reichen hingegen völlig aus, um VIGILANCE wiederherzustellen. Was seine Nachricht schützte, war einzig ihre Kürze. Ob jemand, der ein einzelnes Wort wie „Tuesday“ erraten hätte, den Rest hätte lesen können, prüft dieses Werkzeug nicht: Es zählt rein die Häufigkeiten.

Lernpfad

Wie Chiffren gebrochen werden

Quellen (3)