Freitag, 29. Dezember 2017

Autoschlüssel

Vor Weihnachten hatte ich nicht richtig Zeit, mich um den Buchstabenteil des Rätsels zu kümmern. Ich hatte schon längst diverse Codes probiert, zunächst natürlich die Cäsar-Verschlüsselungen (Verschiebung der Buchstaben im Alphabet um 1 bis 25 Buchstaben), dann regelmäßig arithmetisch verschobene Cäsarverschlüsselungen (erster Buchstabe um 1 verschoben, zweiter Buchstabe um 2 verschoben, ...) aber auch andere Verfahren. Nichts davon ergab irgendeinen Sinn.
Besonders trieb mich die komische Verteilung der Klein- und Großbuchstaben um. Eine denkbare Erklärung war, dass Kai und Nathalie 52 Buchstaben (groß und klein) verwendet haben und dieses Alphabet so verschoben wurde, dass statistisch mehr Groß- als Kleinbuchstaben herauskamen. Da ich aber keine typischen Häufungen bestimmter Buchstaben (z. B. als Ersatz für "e") finden konnte, mussten es je nach Position unterschiedliche Ersetzungsalphabete sein. Diese könnten durch Schlüsselwörter gesteuert sein ("B" im Schlüsselwort bedeutet Verschiebung um 2, "C" bedeutet Verschiebung um 3 usw.). Diese Idee habe ich getestet, indem ich annahm, dass bestimmte Worte im Text vorkamen - z. B. "Kilimanjaro". Mit der Annahme kann man aus dem Chiffrat den Schlüssel errechnen - aber dort ergab sich kein erkennbares System.

Als ich noch vor Weihnachten bei der Arbeit mittags mit Kai über die komische Verteilung der Klein- und Großbuchstaben sprach und ich meine Versuche erläuterte, verriet er etwas: Man müsse halt wissen, wie die Buchstaben entstanden seien. Und ja, ein Erraten von Wörtern in der Mitteilung könnte helfen. Es wäre kein OneTimePad (= Schlüssel, der genauso lang wie die Message ist - auch theoretisch unknackbar). Da wusste ich, dass ich einen Schlüssel finden musste.

Weitere Recherchen zeigten mir dann, dass die von mir vermutete Verschlüsselung als Vigenére-Verschlüsselung bekannt war. Die funktioniert mit dem Vigenére-Quadrat:


Wenn man einen Text wie "Lieber Jan, hier ist die Loesung" mit dem Schlüssel "HEUTE" verschlüsseln will, geht man wie folgt vor:

HEUTEHEUTEHEUTEHEUTEHEUTEH
LIEBERJANHIERISTDIELOESUNG

Man schreibt den Schlüssel über den Text und wiederholt ihn, bis über jedem Buchstaben der Message auch ein Schlüsselbuchstabe steht. Jetzt sucht man jeweils den Schlüsselbuchstaben in der ersten Spalte und den Originalbuchstaben in der ersten Zeile des Quadrats. Der Schlüsselbuchstabe bestimmt die Zeile und der Originalbuchstabe die Spalte. Dort, wo die beiden sich treffen, steht der Buchstabe für den verschlüsselten Text. Für den ersten Schlüsselbuchstaben "H" und den ersten Originalbuchstaben "L" ergibt sich also der Geheimtextbuchstabe "S".

Dieser Code galt für 300 Jahre als nicht zu entschlüsseln, aber schließlich hat man doch Angriffspunkte gefunden. Diese resultieren daraus, dass sich der Schlüssel wiederholt. Die entsprechenden Analysen führten aber bei mir noch nicht zu greifbaren Ergebnissen.

Gestern habe ich Kai dann erzählt, dass ich eine Vigenére-Verschlüsselung vermute. Er meinte, ich wäre nah dran. Aber die Vigenére-Verschlüsselung stamme doch gar nicht von Blaise de Vigenére, sie sei nur nach ihm benannt. Ich möge einmal recherchieren, was Blaise de Vigenére noch zusätzlich erfunden habe. Das ließ ich mir nicht zweimal sagen: Unter anderem hat Blaise de Vigenére den Autoschlüssel vorgeschlagen. Nach diesem Verfahren würde man wie folgt vorgehen:

HEUTELIEBERJANHIERISTDIELO
LIEBERJANHIERISTDIELOESUNG

Man beginnt mit dem Schlüssel "HEUTE" und nimmt als Verlängerung des Schlüssels den Text des Originals. Das Verfahren mit dem Quadrat bleibt dabei dasselbe.

Heute früh hat mir Kai bestätigt, dass es sich um eine solche  Vigenére-Autokey-Verschlüsselung handelt. Heute Abend habe ich mich dann mit dem "Willen zum Entschlüsseln" daran gemacht. In der englischen Wikipedia habe ich eine gute Anleitung für einen Angriff mit vermutetem Inhalt gefunden. Ich probierte viele Worte durch (Kilimanjaro, ein, die, Jan, diese, ...) - aber ich hatte keinen Erfolg. Im Internet fand ich eine andere Anleitung, die auch ein Skript in der Sprache Python enthielt. Dieses Skript brachte ich zum Laufen - allerdings mit englischen Statistiken über Buchstabenverteilungen. Trotzdem zeigte die Ausgabe in Zeile 11 fast deutschen Text an:
Die Buchstabenfolge "noch nic" sprach mich an, denn so etwas wie "Du bist noch nicht fertig" konnte ich mir bei Kai und Nathalie gut vorstellen. Mit diesen vermuteten Worten aus der Originalmessage fiel mir die Entschlüsselung leicht und binnen 5 Minuten hatte ich folgenden Text:

ES IST ALLERHOECHSTE ZEIT ZU GEHEN UND ICH TUE GUT DARAN MICH NOCH NICHT IN FALSCHER SICHERHEIT ZU WAEHNEN

Na toll, das sieht so aus, als ob ich mit dem Buchstabenrätsel noch nicht durch bin. Den Zwischenerfolg habe ich aber schon mal an Kai gemailt - weil ich mich eben noch nicht in Sicherheit wähnte. Ich rätselte jetzt weiter an der Bedeutung der Verteilung der Klein- und Großbuchstaben herum - bis von Kai eine Antwort kam, dass ich das Buchstabenrätsel doch schon gelöst und den Text gefunden hätte. Und dann war es klar: Auf Seite 91 des Buches stand genau diese Text-Passage. Beschrieben wurde dort der Moment vor dem Abstieg vom Uhuru Peak, dem Gipfel des Kilimanjaro. Jetzt weiß ich, wo ich die Zahlen von der Glückwunschkarte anwenden soll!

Anmerkungen:
Dieser Eintrag wurde nacherfasst am 4.1.2018.
Ich musste eine ältere Python-Umgebung herunterladen und installieren, um das Skript zum Laufen zu bekommen.

Keine Kommentare:

Kommentar veröffentlichen