[Veranschaulichung des Public-Key-Verfahrens]

KRYPTOLOGIE

Programmierlabor

[Veranschaulichung des Public-Key-Verfahrens]

Umdrehen

Neben den Ersetzungsverfahren, bei denen das Caesar-Verfahren das einfachste Verfahren ist, gibt es noch die Transpositionsverfahren, bei denen die Positionen in der Zeichenkette verändert werden, die Zeichen aber ansonsten nicht durch andere ersetzt werden (müssen).
Das Umdrehen ist das einfachste Verfahren, bei der die Positionen der Zeichen verändert werden.

  1. Erstelle in allen drei Sprachen Python, Ruby und Coffeescript eine Operation Umdrehen, die den Satz von hinten nach vorne zurückgibt.
  2. Die Operation Umdrehen soll variiert werden. Der Satz soll nicht insgesamt umgedreht werden, sondern wiederholt jeweils 10 Zeichen des Satzes.
  3. Erstelle eine weitere Variation des Umdrehens:
    Die ersten n Zeichen des Satzes sollen umgedreht werden. Das n soll in der Schnittstelle übergeben werden. Dann werden die nächsten n+1 Zeichen umgedreht, .....

Abwandlung des Caesar-Verfahrens

Auch das Caaesarverfahren können wir etwas verkomplizieren, sodass der Versatz nicht so einfach erkannt werden kann.
Erstelle zu folgenden Verfahren Funktionen in den Sprachen Coffeescript, Python und Ruby.

  1. Der erste Buchstabe wird wie bisher mit der Codezahl verschlüsselt, der zweite Buchstabe mit Codezahl + 1, der dritte mit der Codezahl + 2 usw.
  2. Auch dieses Verfahren lässt sich noch relativ leicht optimieren. Neben der bisher existenten Codezahl gibt es eine weitere Codezahl1. Der erste Buchstabe wird mit der Codezahl verschlüsselt, der zweite Buchstabe mit der Codezahl + 1*Codezahl1, der dritte mit der Codezahl + 2*Codezahl1 usw.

  • Anmerkungen:
  • Diese Verfahren klappen nur für relativ kleine Codezahlen und kurze Sätze.  
    Warum?
  • Natürlich kann man diese Einschränkung programmtechnisch 'reparieren'!
    Kann?
    Nein, man muss: Sonst sind die Verfahren praktisch wertlos.