Die Vigenère-Chiffre

Die Vigenère-Chiffre soll bereits im 16. Jahrhundert von Blaise de Vigenère erfunden worden sein. Anders als bei der Caesar-Chiffre soll nicht eine konstante Verschiebung die Verschlüsselung bringen, sondern der Verschiebungsbetrag soll sich fortlaufend ändern.

Der Schlüssel soll eine Zahlenfolge oder eine Sequenz von Buchstaben sein. Der Schlüssel "Tapir" soll Verschiebung um 20, 1, 16, 9, 18 bedeuten (siehe unten Beispiel). Die Sicherheit des Verfahrens hängt nun davon ab, wie lang der Schlüssel ist und wie zufällig er ausgewählt wurde. Der Schlüssel "Olaf" mag im Fachbereich 6 der Universität Osnabrück nicht gerade geschickt gewählt sein.

Eine Verbesserung des Verfahrens kann man erreichen, indem man den Geheimtext mittels einer Umsortierungstabelle nochmals permutieren läßt.

Beispiel

Umsortierung durch Schlüssel 1:"vertraulich".

abcdefghijklmnopqrstuvwxyz
vertaulichbdfgjkmnopqswxyz

Verschlüsselung mittels Schlüssel 2: "tapir"

Betrachte das Ergebnis der Verschlüsselung von AAAAA:

AAAAA
UBQJS (+Tapir)
QEMHO (umsortieren)

Da bleibt von der klaren Struktur nichts über.

Zu bemerken ist jetzt das folgende: zunächst ist die Vigenère-Chiffre eine polyalphabetische Substitution. Polyalphabetische Methoden sind positionsabhängige einfache Substitutionen. Sie ist keine Caesar-Chiffre. Die Anzahl der verwendeten Substitutionen heißt die Periode des Verfahrens.

Wie knackt man diese Chiffrierung? Annahme, man kennt die Schlüssellänge. Annahme, die Länge wäre drei. Dann greift man sich die Geheimtextzeichen an den Positionen 1, 4, 7, ... heraus und untersucht diese nach Häufigkeit der Zeichen. Dann nimmt man sich 2, 5, ... heraus und soweiter.

Die Schlüssellänge kann man durch Herumexperimentieren und durch die Häufigkeitsverteilungen in den genannten Teilmengen eventuell herausbekommen.

Vernam-Chiffrierung

Hier geht man von einem Alphabet bestehend aus null und eins aus. Gerechnet wird mit der bitweisen XOR-Verknüpfung bzw mit der Addition mod 2. Hier ist der Vigenèreschlüssel eine Zeichenfolge, die als Bitfolge gelesen wird. Eine besonders schöne Eigenschaft ist, daß die XOR Operation involutorisch ist, also selbstinvers ist: a XOR b XOR b = a.

Ist die Schlüssellänge bekannt, so ist dieses Verfahren natürlich wieder recht flott zu knacken. Sowohl WordPerfect mit einer Variante dieses Verfahrens als auch Wincrypt arbeiten mit diesem bitweisen Vigenère-Verfahren. Wincrypt benutzt dazu einen 512 Byte-Vigenère-Schlüssel.


Fragen, Anmerkungen, Kritik