i

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.

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.

Black-Box-Diagramm

Es ist günstig, dabei eine Funktion verschiebung zu verwenden.

Black-Box-Diagramm

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.

Suche

v
2.7.1.3.4.3
inf-schule.de/programmierung/python/projekte/modularisierung/verschluesselung/vigenereverfahren
inf-schule.de/2.7.1.3.4.3

Rückmeldung geben