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
© Copyright 2024 ExpyDoc