Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m183:learningunits:lu05:aufgaben:08 [2026/09/02 09:08] – angelegt vdemirmodul:m183:learningunits:lu05:aufgaben:08 [2026/09/02 10:01] (aktuell) – vdemir
Zeile 8: Zeile 8:
   * **Sozialform:** Einzelarbeit   * **Sozialform:** Einzelarbeit
   * **Hilfsmittel:**   * **Hilfsmittel:**
-    * Lernvideo [[https://studyflix.de/informatik/caesar-verschlusselung-1606|Studyflix: Cäsar-Verschlüsselung]] 
     * Programmierumgebung     * Programmierumgebung
     * Codeeditor Ihrer Wahl     * Codeeditor Ihrer Wahl
Zeile 16: Zeile 15:
  
 ==== Ausgangslage ==== ==== Ausgangslage ====
-...+Die Skytale-Verschlüssellung gehört zu den ältesten Systemen der Welt. Im Kern wird ein Papierband um ein Stab gewickelt und die Nachricht der Länge nach auf das Band geschrieben.  
 + 
 +Der Key dabei ist der Durchmesser des Stabes.
  
 ==== Arbeitsauftrag ==== ==== Arbeitsauftrag ====
 Schreiben Sie ein Script bzw. Programm, das eine Nachricht mit Hilfe der Skytale-Verschlüsselung verschlüsselt und entschlüsselt. Schreiben Sie ein Script bzw. Programm, das eine Nachricht mit Hilfe der Skytale-Verschlüsselung verschlüsselt und entschlüsselt.
 +
 +
 +**Idee**
 +
 +Die Skytale ist eine Transpositionschiffre: Die Buchstaben bleiben gleich, nur ihre Reihenfolge ändert sich.
 +
 +Physikalisch wickelt man einen Lederstreifen um einen Stab und schreibt längs der Stabachse. Abgewickelt steht der Text in verwürfelter Reihenfolge auf dem Streifen. Der Stabdurchmesser ist der Schlüssel.
 +
 +**Modell im Code**
 +
 +Der Stab entspricht einer Matrix mit k Spalten, wobei k = Anzahl Buchstaben, die um den Umfang passen.
 +
 +Verschlüsseln: Klartext zeilenweise einfüllen, spaltenweise auslesen
 +Entschlüsseln: genau umgekehrt
 +
 +Beispiel mit HALLOWELT und k = 3:
 +<code>
 +H A L      Zeilenweise füllen
 +L O W
 +E L T
 +</code>
 +
 +Spaltenweise gelesen: <color #ed1c24>HLE AOL LWT</color> → <color #ed1c24>HLEAOLLWT</color>
  
 **Anforderungen:** **Anforderungen:**
   - Das Programm soll   - Das Programm soll
     * vom Benutzer eine Nachricht (Text) einlesen.     * vom Benutzer eine Nachricht (Text) einlesen.
-    * vom Benutzer einen ganzzahligen Schlüssel (Shift) zwischen 1 und 25 einlesen. +    * vom Benutzer einen ganzzahligen Wert k (Anzahl Zeilen der Speichermatrix) einlesen. 
-    * Gross- und Kleinbuchstaben getrennt verarbeiten (A–Z, a–z), alle anderen Zeichen unverändert lassen. +    * verschluesseln(text, k) → gibt den verschlüsselten Text zurück 
-  - Implementieren Sie zwei Funktionen: +    * entschluesseln(text, k) → gibt den entschlüsselten Text zurück
-    * verschluesseln(text, shift) → gibt den verschlüsselten Text zurück +
-    * entschluesseln(text, shift) → gibt den entschlüsselten Text zurück+
   - Das Programm soll den verschlüsselten Text ausgeben, dann den entschlüsselten Text, um zu zeigen, dass die ursprüngliche Nachricht wiederhergestellt wird   - Das Programm soll den verschlüsselten Text ausgeben, dann den entschlüsselten Text, um zu zeigen, dass die ursprüngliche Nachricht wiederhergestellt wird
    
 ** Beispiel:** ** Beispiel:**
-  Eingabe:  Hallo Welt +  Eingabe:  HALLO WELT 
-  Shift:    3 +  k:    3 
-  Verschlüsselt:  Kdoor Zhow +  Verschlüsselt:  HLEAOLLWT 
-  Entschlüsselt:  Hallo Welt+  Entschlüsselt:  HALLOWELT
      
-**Hinweis** 
-  * Den Shift bekommen Sie hin, wenn Sie mit den Ordinalzahlen (Codewerte der Zeichen arbeiten). 
-  * Codiert wird einfach, indem der Ordinalzahl ein Shift addiert wird. 
-  * Bei Dekodieren wird einfach der Ordinalzahl der Shift abgezogen. 
  
  
 ===== Solution ===== ===== Solution =====
-[[modul:m183:learningunits:lu05:loesungen:06|Lösung]]+[[modul:m183:learningunits:lu05:loesungen:08|Lösung]]
  
  
  • modul/m183/learningunits/lu05/aufgaben/08.1788332926.txt.gz
  • Zuletzt geändert: 2026/09/02 09:08
  • von vdemir