====== 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 [[https://studyflix.de/informatik/vigenere-verschlusselung-1607|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 ===== Solution ===== [[modul:m183:learningunits:lu05:loesungen:07|Lösung]] ---- [[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Volkan Demir