Das Vigenère-Verfahren
Vom Verschiebeverfahren zum Vigenère-Verfahren
Das Verschiebeverfahren hat den Nachteil, dass Geheimtexte sehr leicht geknackt werden können. Man kann ja schnell alle möglichen Alphabetverschiebungen durchtesten. Wir betrachten jetzt ein verbessertes Verfahren, das von Blaise de Vigenère (* 1523 ; † 1596) entwickelt wurde. Das nach ihm benannte Vigenère-Verfahren galt lange Zeit als unknackbar.
Die Idee besteht darin, die Verschlüsselung mit ständig wechselnden verschobenen Alphabeten durchzuführen. Statt eines einzelnen Schlüsselbuchstabens werden nach und nach die Buchstaben eines Schlüsselworts benutzt. Wenn als Schlüsselwort beispielsweise das Wort 'HUND' gewählt wird, dann wird für die Verschlüsselung des ersten Buchstabens das auf 'H' verschobene Alphabet benutzt.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | | | | | | | | | | | | | | | | | | | | | | | | | | H I J K L M N O P Q R S T U V W X Y Z A B C D E F G
Für die Verschlüsselung des zweiten Buchstabens wird dann das auf 'U' verschobene Alphabet benutzt.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z | | | | | | | | | | | | | | | | | | | | | | | | | | U V W X Y Z A B C D E F G H I J K L M N O P Q R S T
Und so weiter ... Wenn alle Buchstaben des Schlüsselwortes benutzt sind, beginnt man wieder ganz vorne beim ersten Buchstaben des Schlüsselworts.
Hier ein Beispiel, bei dem der Klartext 'GEHEIMNIS' mit dem Schlüsselwort 'HUND' nach dem beschriebenen Verfahren verschlüsselt wird.
Schlüssel: H U N D H U N D H Klartext: G E H E I M N I S | | | | | | | | | Geheimtext: N Y U H P G A L Z
Hilfreich beim Verschlüsseln mit dem Vigenère-Verfahren ist ein Vigenère-Quadrat, das aus 26 Zeile um Zeile jeweils
um einen Buchstaben verschobenen Versionen des Alphabets besteht.
Tipp: Klicke auf die Buchstaben im Vigenère-Quadrat.
Aufgabe 1
(a) Erkläre, wie das folgende Beispiel (mit einem Vigenère-Quadrat) zustande kommt.
Schlüssel: K A T Z E K A T Z Klartext: G E H E I M N I S | | | | | | | | | Geheimtext: Q E A D M W N B R
(b) Verschlüssele entsprechend den Klartext 'HALLOWIEGEHTS' mit dem Schlüssel 'ESEL'.
(c) Entschlüssele den Geheimtext 'LMSXEGXTXUS'. Der Schlüssel lautet 'ZEBRA'.
(d) Wähle selbst einen Schlüssel. Verschlüssele einen Text mit dem Schlüssel. Gib den Geheimtext und den Schlüssel an deine Nachbarin / deinen Nachbarn zum Entschlüsseln weiter.
Black-Box-Modellierung
Ziel ist es, eine Funktion verschluesselungVigenere
zur Automatisierung des Vigenère-Verfahrens zu entwickeln.
Es ist günstig, dabei eine Funktion verschiebung
zu verwenden.
Algorithmus
Das Vigenère-Verfahren lässt sich mit Hilfe der Funktion verschiebung
durchführen.
Man muss nur immer den passenden Schlüssel wählen. Das folgende Demo-Programm zeigt, wie das ablaufen kann.
Hieraus ergibt sich ein Algorithmus, der das Vigenère-Verfahren beschreibt.
ALGORITHMUS verschluesselungVigenere: Übergabe: text, schluessel geheimtext = leere Zeichenkette laengeSchluessel = Länge von schluessel setze zaehler auf 0 für jedes zeichen in klartext: ermittle schluesselZeichen durch einen Zugriff auf schluessel zum Index zaehler ermittle neuesZeichen mit verschiebung(zeichen, schluesselZeichen) füge neuesZeichen an geheimtext an erhöhe zaehler um 1 WENN zaehler == laengeSchluessel: setze zaehler auf 0 Rückgabe: geheimtext
Aufgabe 2
Entwickle eine Funktionsdefinition für die Funktion verschluesselungVigenere
. Teste ausführlich.