LU05.A07 - Vigenère-Verschlüsselung programmieren
Lernziele
- Ich kann den Vigenère-Algorithmus mittels einer Programmiersprache umsetzten.
Rahmenbedingungen
- Zeitbudget: 40 Minuten
- Sozialform: Einzelarbeit
- Hilfsmittel:
- Lernvideo Studyflix:Vigenère-Verschlüsselung
- Programmierumgebung
- Codeeditor Ihrer Wahl
- Programmiersprachen: JS, Python, BASH, SHELL, …
- Keine AI oder Google-Suchen → Sie haben genug Programmierkenntnisse, um den Algorithmus selbst zu programmieren.
- Erwartetes Ergebnis: Script, das eine Vigenère-Verschlüsselung realisiert. In beide Richtungen: Klartext → Chiffretext, Chiffretext → Klartext.
Ausgangslage
Sie haben im Unterricht im Themenblock Kryptographie die symmetrische Vigenere-Verschlüsselung kennen gelernt. Dieses Verfahren hat im Gegensatz zur Cäsar Verschlüsselung nicht den Nachteil, dass die Häufigkeit der Buchstaben nach der Verschlüsselung erkennbar sind.
Arbeitsauftrag
Schreiben Sie ein Python-Programm, das einen Text mit der Vigenère-Verschlüsselung codiert und decodiert. Die Vigenère-Verschlüsselung verwendet ein Schlüsselwort, um den Text zu verschlüsseln. Jeder Buchstabe im Schlüsselwort gibt an, um wie viele Stellen der entsprechende Buchstabe im Text verschoben wird.
Anforderungen:
- Nur Buchstaben (A–Z, a–z) werden verschlüsselt.
- Nicht-Buchstaben bleiben unverändert.
- Das Schlüsselwort wird bei Bedarf wiederholt, bis es so lang ist wie der Text.
- Implementieren Sie zwei Funktionen:
- vigenere_encrypt(text, key) – verschlüsselt den Text.
- vigenere_decrypt(text, key) – entschlüsselt den Text.
Beispiel:
Eingabetext: Hallo Welt Schlüssel: LEMON Verschlüsselt: Smpxz Apxh Entschlüsselt: Hallo Welt