Dies ist eine alte Version des Dokuments!


LU05.A06 - Vigénere-Verschlüsselung programmieren

  • Ich kann den Vigénere-Algorithmus mittels einer Programmiersprache umsetzten.
  • Zeitbudget: 40 Minuten
  • Sozialform: Einzelarbeit
  • Hilfsmittel:
    • 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 Vigénere-Verschlüsselung realisiert. In beide Richtungen: Klartext → Chiffretext, Chiffretext → Klartext.

Die Vigenère-Verschlüsselung ist ein historisches, symmetrisches Verschlüsselungsverfahren aus dem 16. Jahrhundert. Im Gegensatz zur einfachen Caesar-Verschlüsselung, bei der jeder Buchstabe um den exakt gleichen Wert verschoben wird, nutzt Vigenère ein Schlüsselwort. Dadurch ändert sich der Verschiebewert von Buchstabe zu Buchstabe, was das Verfahren als polyalphabetisch klassifiziert [Quelle: Wikipedia.com]

Schreiben Sie ein Script bzw. Programm, das eine Nachricht mit Hilfe der Vigenère-Verschlüsselung verschlüsselt und entschlüsselt.

Anforderungen:

  1. Das Programm soll
    • vom Benutzer eine Nachricht (Text) einlesen.
    • vom Benutzer einen das Keywort einlesen
    • Das Keywortn auf die Länge des Plaintextes anpassen.
    • Gross- und Kleinbuchstaben getrennt verarbeiten (A–Z, a–z), alle anderen Zeichen unverändert lassen.
  2. Implementieren Sie zwei Funktionen:
    • verschluesseln(text, shift) → gibt den verschlüsselten Text zurück
    • entschluesseln(text, shift) → gibt den entschlüsselten Text zurück
  3. Das Programm soll den verschlüsselten Text ausgeben, dann den entschlüsselten Text, um zu zeigen, dass die ursprüngliche Nachricht wiederhergestellt wird

** Beispiel:**

Eingabe:  Hallo Welt
Keyword:  Ist
Verschlüsselt:  Psetg Pmdm
Entschlüsselt:  Hallo Welt

Hinweis

  • Das Keywort muss Wiederholt werden, wenn es zu kurz ist.
  • Das Keywort muss gekkürzt werde, wenn es zu lang ist.

Lösung


Volkan Demir

  • modul/m183/learningunits/lu05/aufgaben/07.1788333450.txt.gz
  • Zuletzt geändert: 2026/09/02 09:17
  • von vdemir