Die Nachricht des Abi-Ausschusses
AFB I–IIDer Abi-Ausschuss verschickt seine Nachrichten mit dem Vigenère-Verfahren und dem Schlüsselwort EULE. Wie im Abitur wird das Vigenère-Quadrat verwendet: Die Zeile gehört zum Schlüsselbuchstaben, die Spalte zum Klartextbuchstaben. Die Buchstaben sind mit A = 1, B = 2, …, Z = 26 nummeriert. Die Abbildung zeigt die drei benötigten Zeilen des Quadrats. Leerzeichen werden übersprungen und verbrauchen keinen Schlüsselbuchstaben.
| Schlüssel ↓ / Klartext → | A 1 | B 2 | C 3 | D 4 | E 5 | F 6 | G 7 | H 8 | I 9 | J 10 | K 11 | L 12 | M 13 | N 14 | O 15 | P 16 | Q 17 | R 18 | S 19 | T 20 | U 21 | V 22 | W 23 | X 24 | Y 25 | Z 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| E (5) | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D |
| L (12) | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K |
| U (21) | 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 |
- Beschreiben Sie, wie man mit dem Vigenère-Quadrat einen Klartextbuchstaben verschlüsselt und einen Geheimtextbuchstaben wieder entschlüsselt.
- Stellen Sie die Verschlüsselung der Nachricht TREFFEN UM ACHT in einer Tabelle mit den Zeilen Klartext, Schlüssel und Geheimtext dar.
- Bestimmen Sie den Klartext zum Geheimtext ILDXI JLYWY.
Hinweise
Hinweis zu Aufgabe a)
Hinweis zu Aufgabe b)
Hinweis zu Aufgabe c)
Erwartungshorizont
Erwartungshorizont zu Aufgabe a)
Das Schlüsselwort wird periodisch so oft wiederholt und unter den Klartext geschrieben, bis jeder Klartextbuchstabe einen Schlüsselbuchstaben hat.
Verschlüsseln: In der Zeile des Schlüsselbuchstabens und der Spalte des Klartextbuchstabens steht der Geheimtextbuchstabe. Rechnerisch wird der Klartextbuchstabe um (Nummer des Schlüsselbuchstabens − 1) Stellen zyklisch verschoben, z. B. mit E (5) um 4 Stellen.
Entschlüsseln: In der Zeile des Schlüsselbuchstabens den Geheimtextbuchstaben suchen; der Kopf dieser Spalte ist der Klartextbuchstabe (Verschiebung rückwärts).
Erwartungshorizont zu Aufgabe b)
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Klartext | T | R | E | F | F | E | N | U | M | A | C | H | T |
| Schlüssel | E | U | L | E | E | U | L | E | E | U | L | E | E |
| Geheimtext | X | L | P | J | J | Y | Y | Y | Q | U | N | L | X |
Geheimtext: XLPJJYY YQ UNLX. Auffällig: Das doppelte FF wird zu JJ, weil beide F unter E stehen; umgekehrt entsteht YYY aus drei verschiedenen Klartextbuchstaben E, N, U.
Erwartungshorizont zu Aufgabe c)
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
|---|---|---|---|---|---|---|---|---|---|---|
| Geheimtext | I | L | D | X | I | J | L | Y | W | Y |
| Schlüssel | E | U | L | E | E | U | L | E | E | U |
| Klartext | E | R | S | T | E | P | A | U | S | E |
Klartext: ERSTE PAUSE. Beispiel: Zeile U, gesuchter Buchstabe L → Spalte R; Zeile L, gesuchter Buchstabe L → Spalte A.
Vigenère in Python
AFB II–IIIIm Informatikkurs wurde die folgende Python-Funktion geschrieben. Sie erwartet einen Text aus Großbuchstaben ohne Leerzeichen und ein Schlüsselwort aus Großbuchstaben.
def vigenere(text, schluessel):
geheim = ""
for i in range(len(text)):
p = ord(text[i]) - 65
k = ord(schluessel[i % len(schluessel)]) - 65
geheim = geheim + chr((p + k) % 26 + 65)
return geheim
Um die Wirkung zu untersuchen, wurde derselbe deutsche Text (258 Buchstaben) einmal mit Caesar (\(k = 9\)) und einmal mit Vigenère (Schlüsselwort KLAUSUR) verschlüsselt und ausgezählt.
| 1. | 2. | 3. | 4. | 5. | verschiedene Buchstaben | |
|---|---|---|---|---|---|---|
| Caesar (k = 9) | N: 47 | C: 29 | R: 25 | B: 19 | A: 17 | 23 |
| Vigenère (KLAUSUR) | N: 18 | Y: 18 | L: 17 | V: 15 | W: 13 | 26 |
- Vergleichen Sie die beiden Auszählungen im Hinblick auf einen Angriff mit der Häufigkeitsanalyse.
- Erweitern Sie die Funktion um einen Parameter
modus: Bei"ent"soll entschlüsselt werden. Außerdem sollen Leerzeichen unverändert übernommen werden und keinen Schlüsselbuchstaben verbrauchen. - Erörtern Sie die Aussage eines Mitschülers: „Mit einem Schlüsselwort aus 20 Buchstaben ist das Vigenère-Verfahren praktisch nicht zu knacken.“
Hinweise
Hinweis zu Aufgabe a)
Hinweis zu Aufgabe b)
i zählt alle Zeichen. Du brauchst einen zweiten Zähler, der nur bei Buchstaben weiterläuft. Entschlüsseln heißt: um \(-k\) verschieben.Hinweis zu Aufgabe c)
Erwartungshorizont
Erwartungshorizont zu Aufgabe a)
Caesar: eine deutliche Spitze (N mit 47 von 258 ≈ 18 %), das Profil ist das um 9 verschobene deutsche Profil; drei Buchstaben (H, S, Z) kommen gar nicht vor. Die Häufigkeitsanalyse liefert sofort \(k = 9\).
Vigenère: Die Spitze ist nur 18 von 258 ≈ 7 %, die Werte liegen dicht beieinander, alle 26 Buchstaben kommen vor — die Verteilung ist deutlich flacher. Grund: E wird je nach Schlüsselbuchstabe zu O, P, E, Y, W, Y oder V (K, L, A, U, S, U, R); deshalb stehen Y, V und W weit oben. Eine einfache Häufigkeitsanalyse über den ganzen Text (häufigster Buchstabe = E) führt in die Irre.
Erwartungshorizont zu Aufgabe b)
def vigenere(text, schluessel, modus):
ergebnis = ""
j = 0 # Position im Schlüssel
for zeichen in text:
if "A" <= zeichen <= "Z":
p = ord(zeichen) - 65
k = ord(schluessel[j % len(schluessel)]) - 65
if modus == "ent":
k = -k # rückwärts
ergebnis = ergebnis + chr((p + k) % 26 + 65)
j = j + 1 # nur bei Buchstaben
else:
# Leerzeichen unverändert übernehmen
ergebnis = ergebnis + zeichen
return ergebnisTest: vigenere("TREFFEN UM ACHT", "EULE", "ver") liefert "XLPJJYY YQ UNLX", mit "ent" kommt der Klartext zurück. Negative Werte fängt % in Python ab. Gleichwertige Lösungen (z. B. zeichen == " " als Bedingung, eigene Hilfsfunktion) sind zulässig.
Erwartungshorizont zu Aufgabe c)
Für die Aussage: Es gibt \(26^{20} \approx 2 \cdot 10^{28}\) Schlüsselwörter — Brute Force ist aussichtslos. Bei kurzen Nachrichten (z. B. 200 Buchstaben) enthält jeder der 20 Teiltexte nur etwa 10 Buchstaben; eine Häufigkeitsanalyse ist dann kaum möglich, und echte Wiederholungen für den Kasiski-Test sind selten.
Gegen die Aussage: Bei langen Texten oder wenn derselbe Schlüssel für viele Nachrichten benutzt wird, wachsen die Teiltexte; Kasiski-Test und spaltenweise Häufigkeitsanalyse funktionieren dann wieder. Ist das Schlüsselwort ein Wort oder Satz, helfen zusätzlich Wörterbuchangriffe; ein periodischer Schlüssel bleibt ein strukturelles Leck.
Abwägung: Die Aussage gilt nur eingeschränkt — für wenige, kurze Nachrichten mit zufälligem Schlüssel. Wirklich sicher wird das Verfahren erst, wenn der Schlüssel zufällig, so lang wie der Text und nur einmal verwendet wird (One-Time-Pad). Vollständig ist eine Antwort mit mindestens je zwei Argumenten und einem begründeten Fazit.
