Universität Ulm - Abteilung Angewandte Informationsverarbeitung
Jeder von Euch hat sicher schon von geheimen Codes gehört, mit denen sich Texte verschlüsseln lassen. Ein Beispiel ist die Caesar-Shiffre, die einfach einen Buchstaben um n Buchstaben nach rechts shifted.
n = 3 : Hallo => Kdoor n = 12: Hallo => Tmxxa
Implementieren Sie ein Programm, mit dem die Caesar Shiffrierung durchgeführt werden kann. Dabei soll die Anzahl n ( ) der Buchstaben, um die geshifted wird, als Kommandozeilenparameter übergeben werden könnnen. Die Operation soll nur bei Groß- und Kleinbuchstaben durchgeführt werden, andere Zeichen bleiben unverändert. Z und z sind Sonderfälle. Ein Shift um 1 erzeugt dabei ein A bzw. a, ein Shift um 2 ein B bzw. b usw.
Ein weitere Verschlüsselungsmethode ist die Bit-Shift-Shiffre. Hier werden die Bits eines jeden Bytes zyklisch um n Positionen nach rechts geshifted.
n = 3: H = 72 (ASCII) = 01001000 => 00001001 = 9 (ASCII) = Horizontal Tab a = 97 (ASCII) = 01100001 => 00101100 = 44 (ASCII) = Komma
Implementieren Sie auch hierzu ein Programm, welches die Anzahl n ()der Bits, um die geshifted werden soll, als Kommondozeilenparameter erhält und eine entsprechende Bit-Shiftung ausführt.
Lesen Sie wieder von der Kommandozeile einen Schlüssel n ( ) ein. Jedes Zeichen von der Eingabe soll so verschlüsselt werden, dass die Bits im ASCII-Code des jeweils gelesenen Zeichens komplementiert werden, welche bei n gesetzt sind.
Schlüssel: 01101111 Zeichen A: 01000001 (ASCII-Code von A) Ausgabe: 00101110
Überlegen Sie sich für jede Teilaufgabe, mit welchem Schlüssel der codierte Text decodiert werden kann.
Viel Erfolg!