Kryptografie: Vigenère-Chiffre mit dem Kasiski-Test knacken

Der Kasiski-Test greift das Verwundbarste in einem Kryptosystem an – den Schlüssel. Wir erklären die Funktionsweise des Tests und programmieren ihn in Python.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
, KI Midjourney, Andrey Kuzmin, stock.adobe.com  Collage c't

(Bild: KI Midjourney, Andrey Kuzmin, stock.adobe.com | Collage c't)

Lesezeit: 15 Min.
Inhaltsverzeichnis

Die Spionin hält den Brief näher an die Kerze. Im spärlichen Licht versucht sie den Text zu entziffern, aber der Inhalt ergibt keinen Sinn. Es sieht so aus, als hätte der Absender die Buchstaben willkürlich aneinandergereiht – lediglich oben am Rand steht klar lesbar das Datum: 16. August 1870. Mit einer Stahlfeder umkringelt sie Buchstabenfolgen, die wiederholt im Text auftreten. Nicht mehr lang und sie weiß, wo die Franzosen die Frontlinie durchbrechen wollen.

In unserem ausgedachten Szenario knackt die Spionin einen Brief der französischen Armee, der mit der Vigenère-Chiffre kodiert wurde. Damals galt die Chiffre als unknackbar, kein Wunder also, dass sich der Absender dazu entschied, sie zu verwenden. Das war aber ein folgenschwerer Fehler, denn ihm war nicht das Buch "Die Geheimschriften und die Dechiffrir-Kunst" des preußischen Offiziers Friedrich Wilhelm Kasiski bekannt. In dem 1863 erschienenen Buch veröffentlichte Kasiski eine Methode, mit der man die Schlüssellänge eines Vigenère-kodierten Textes herausfindet.

Mehr zum Thema Verschlüsselung

Wie die Vigenère-Chiffre funktioniert, haben wir bereits ausführlich erläutert. In aller Kürze: Die Chiffre kodiert einen Text, indem sie jedes Zeichen durch ein anderes ersetzt; durch welches, bestimmt ein Schlüssel, der dem Sender und dem Empfänger bekannt sein muss und der seinerseits aus Buchstaben besteht. Im zweiten Teil dieser Reihe erklären wir im Detail, wie der Kasiski-Test funktioniert und wie Sie mit einer Häufigkeitsanalyse auf den Schlüssel kommen. Damit Sie nicht alles umständlich per Hand erledigen müssen, hilft Ihnen unser Python-Programm, welches Sie im GitHub-Repository finden.

Das war die Leseprobe unseres heise-Plus-Artikels "Kryptografie: Vigenère-Chiffre mit dem Kasiski-Test knacken". Mit einem heise-Plus-Abo können sie den ganzen Artikel lesen und anhören.