Caesar Chiffre
Name
1
AnPr
Klasse
Datum
Caesar Chiffre
Die einfachste Art Texte zu chiffrieren ist das sog. Caesar Chiffre (ja, das kommt tatsächlich vom Julius…).
Hierbei werden die Buchstaben um einen festen Abstand im Alphabet verschoben. Gehen wir davon aus,
dass folgender Text:
hello world
um 4 Positionen verschoben wird:
Das Ergebnis ist folgender Text:
dahhk sknhz
Um nun den Text wieder klartextlich darstellen zu können, muss der Algorithmus einfach umgedreht werden
– also die Verschiebung muss nun in die gegengesetzte Richtung vorgenommen werden.
Spätestens jetzt sollte klar sein, dass diese Verschlüsselungsmethode sehr einfach zu knacken ist. Trotzdem
zeigt sie ein Grundprinzip der Kryptographie.
Schreiben Sie nun ein Programm, welches ein File einliest und mit Hilfe einer Eingabe bestimmt, um wie
viele Positionen die Buchstaben verschoben werden sollen. Danach wird verschlüsselt und das Ergebnis
wieder abgelegt.
Hinweis: Auf dem Klassenlaufwerk finden Sie eine Beispielklasse (ReadWriteFile.java), welche eine Methode zum Schreiben und eine zum Lesen von Files beinhaltet. Nutzen Sie diesen Code für das Filehandling.
Verschlüsseln Sie Ihren Text nun und versuchen Sie einen von Ihrem Nachbarn verschlüsselten Text wieder
zu dechiffrieren. Nutzen Sie hierfür die Statistikauswertung aus den vorausgegangenen Stunden, damit Sie
eine Idee haben, um wie viele Positionen Ihr Nachbar verschoben hat (e ist im Regelfall der häufigste Buchstabe…). Damit das Ganze über eine statistische Auswertung auch funktioniert, sollten Sie aus dem Internet
(www.spiegel.de oder ähnliche Seiten) einen Text verwenden. Kopieren Sie diesen in ein Textfile und verschlüsseln sie ihn.
ANPR_CaesarChiffre_v01.docx
Seite 1
Caesar Chiffre
2
AnPr
Ergänzung Chiffreprogramme
Schreiben Sie nun ein neues Programm, welches eine beliebige Zuordnung zwischen dem Originalbuchstaben und dem Chiffrebuchstaben durchführt.
Das Programm sollte ein char - Array beinhalten, welches für jeden Quellbuchstaben den dazugehörigen
Zielbuchstaben beinhaltet:
{'o', 'b', 'p', 'w'....};
Dieses Array kann einfach aus einem String per “toCharArray” erzeugt werden. Mithilfe dieses Arrays sollen
die Buchstabenersetzungen vorgenommen werden. Versuchen Sie nun wieder, ein chiffriertes Textdokument
Ihres Nachbarn mit Hilfe der Buchstabenstatistikaufgabe zu dechiffrieren. Sie werden sehen, dass der Aufwand nun sehr viel größer ist. Trotzdem wird es möglich sein, mit genügend Aufwand und Iterationsschritten, den Text zu entschlüsseln.
3
Ergänzung
Sollten Sie vorab fertig werden, ergänzen Sie Ihr Programm dergestalt, dass Sie die Schlüssel in einem Textfile hinterlegen. Pro Zeile schreiben Sie den Quell- und den Zielbuchstaben hinein. Das Programm liest das
File und erzeugt auf dieser Basis das caKey Array.
Seite 2
AnPr
4
Caesar Chiffre
Lizenz
Diese(s) Werk bzw. Inhalt von Maik Aicher (www.codeconcert.de) steht unter einer
Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.
Seite 3