33.9
One-Time-Pad (Implementierung) |
|
Was ist One- Time-Pad? | Im
Prinzip ist eine Verschlüsselung mit One-Time-Pad nichts anderes als eine
Verschlüsselung nach Vigenère mit dem entscheidenden Einschränkung, der
Schlüssel hat die gleiche Länge wie der Originaltext und sollte zufällig
gewählte Zeichen enthalten. In der Praxis ist die
Addition von zwei Zeichen mod 26 recht unpraktisch. Stattdessen benutzt
man auf der "Bitebene" (wenn also alle Zeichen als Folge von 0en und 1en
aufgelöst sind) mit dem Schlüsselwort, ebenfalls eine Folge von
0en und 1en eine
XOR-Verknüpfung statt. Dabei gilt die Vorschrift
XOR ist die entweder oder Operation,
d.h. a XOR b ist genau dann wahr, wenn a wahr und b falsch oder wenn a
falsch und b wahr sind. |
Beispiel | Wir
schreiben ein Java-Programm, das eine One-Time-Pad Verschlüsselung mittels
XOR realisiert. Dabei sollen zwei maximal 100 Zeichen umfassende Strings, die nur aus 0en und 1en bestehen, eingelesen werden (Klartext und Schlüssel, beide gleich groß)). Als Ergebnis soll der verschlüsselte String ausgegeben werden. |
XOR läßt sich mit dem ^-Operator in Java realisieren. Wir schreiben im Moment keine Verschlüsselungsmethode für die Klasse Krypt.java, da wir die Struktur der bisherigen Methoden noch nicht einhalten können. Wir verweisen hier auf das nachfolgende Projekt. | |
Download: XOROneTime Pad. java |
Eingabe Klartext : 1001111101 |
Sind AND oder OR Alternativen | Man
könnte auf die Idee kommen ob man nicht auch mit AND- oder einer
OR-Verknüpfung auch verschlüsseln könne. Die Antwort muss nein heißen. Die
Verschlüsselung ist nicht bijektiv und demnach lässt sich ein z.B. mit AND
verschlüsselter Text nicht mehr entschlüsseln. So wird der
Klartextbuchstabe 0 mit dem Schlüsselbuchstabe 0 ebenso zu 0
verschlüsselt, wie der Klartextbuchstabe 1. Es sind also nicht mehr alle
Forderungen Shannons an einen Verschlüsselungsalgorithmus einhalten.
|
Interessante Links | Applets
zu diversen Verschlüsselungsverfahren: http://members.magnet.at/wilhelm.m.plotz/Bin/CipherClerk.html Enigma - Applet: Bletchlex-Park
|
zu | 33.10 Übungen |
zur Startseite | www.pohlig.de (C) MPohlig 2004 |