Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m183:learningunits:lu05:aufgaben:07 [2025/07/10 15:21] – angelegt - Externe Bearbeitung 127.0.0.1modul:m183:learningunits:lu05:aufgaben:07 [2025/08/13 11:08] (aktuell) vdemir
Zeile 1: Zeile 1:
 +====== 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, ...
 +    * <color #ed1c24>Keine AI oder Google-Suchen →  Sie haben genug Programmierkenntnisse, um den Algorithmus selbst zu programmieren.</color>
 +  * **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