One-Time-Pad
Die Einmalverschlüsselung, auch Vernam-Verschlüsselung oder englisch One-Time-Pad (OTP) ist ein kryptografisches Verfahren zur Verschlüsselung von Informationen. Ihr liegt eine Polyalphabetische Substitution zugrunde, wobei der Schlüsseln genauso lang ist wie die Nachricht selbst.
Bei korrekter Anwendung ist die Einmalverschlüsselung ohne Kenntnis des Schlüssels nicht zu entziffern. Lediglich die Größe des Schlüssels schränkt den Einsatz in der Praxis ein. 1918 beschrieben Gilbert Vernam und Joseph O. Mauborgne das Verfahren zum ersten Mal.
Geschichte
Der Name One-Time-Pad kommt aus dem Englischen und heißt wörtlich übersetzt Einmalblock. Zu der Zeit, als Verschlüsselung noch mit der Hand durchgeführt wurde, besaßen Sender und Empfänger ein Buch der gleichen Ausgabe oder einen Papierblock, bedruckt mit identischen zufällig erzeugten Buchstaben. Für jede neue Nachricht einigten sie sich auf eine Seite, deren Buchstabenanordnung als Schlüssel diente.
Verfahren
Beim One-Time-Pad wird jedes Symbol einer Nachricht mit einem eigenen Schlüssel chiffriert. Besteht die Nachricht nur aus einem Buchstaben, genügt ein Substitutionsalphabet, wie es beispielsweise das Caesar-Chiffre nutzt. Bei längeren Texten wählt man für jeden Buchstaben ein eigenes Alphabet. Als Erweiterung des Caesar-Chiffres handelt es sich dabei um das Vigenère-Verfahren. Dann ist das Schlüsselwort genauso lang wie der Text selbst.
In der Praxis ist das Caesar-Alphabet mit seinen 26 Zeichen ungeeignet. Statt dessen wählt man eine 8-Bit Präsentation der Buchstaben und addiert zu ihr den zugehörigen Schlüsselbuchstaben mit einer XOR-Operation.
Schlüsselerzeugung
Wenn der Schlüssel aus statistisch unabhängigen Werten (z. B. weißes Rauschen) besteht und nur einmal verwendet wird, ist das One-Time-Pad Verfahren mathematisch nachweisbar sicher. Basieren Schlüsselzeichen auf Pseudozufallszahlen, statistisch ungleichmäßig verteilten Zeichen aus einem Buch oder auf bereits benutzten Schlüsseln, ergeben sich Angriffspunkte. Textkorrelationen lassen Wiederholungen erkennen, die ähnlich wie beim Vigenère-Verfahren zum Brechen des Codes führen.
Vorteile
Das One-Time-Pad ist das einzige Verschlüsselungsverfahren, das mathematisch beweisbar sicher ist. Auch die Brute-Force-Methode, bei der alle möglichen Schlüssel durchprobiert werden, kann ihm nichts anhaben: zu jedem verschlüsselten Text lässt sich ein Schlüssel finden, der eine beliebige Nachricht erzeugt, und es ist nicht möglich zu entscheiden, welche dieser Nachrichten die richtige ist.
Nachteile
Der Schlüssel des One-Time-Pad ist genauso lang wie die Nachricht. Um eine Festplatte zu verschlüsseln, brauchte man eine zweite für die Speicherung des Schlüssels.
Das One-Time-Pad Verfahren erfordert einen zweiten sicheren Kommunikationskanal zum Austausch der Schlüssel. Fehlt er, beispielsweise weil die Teilnehmer nur über Telefon miteinander in Kontakt treten können, läßt sich das One-Time-Pad nicht anwenden. Wegen der großen Schlüssellänge bieten auch Verfahren wie Diffie-Hellman keine Lösung.
Das One-Time-Pad Verfahren erfordert viele Schlüssel, wenn mehrere Personen miteinander Daten austauschen. Die Anzahl der Schlüssel steigt quadratisch mit der Anzahl der Teilnehmer, wenn jeder mit jedem kommunizieren soll.
One-Time-Pad-Verschlüsselungen werden in der Praxis nur für außerordentlich vertrauliche Nachrichten, die nicht allzu lang sind, in Organisationen mit straff organisierten Schlüsselverteilungsmechanismen genutzt (siehe auch Heißer Draht).
Beispiele
Die Beispiele vergleichen die Verfahren polyalphabetischer Substitution mit verschiedenen Schlüssellängen. Kurze Schlüssel werden so oft wiederholt, wie es der Klartext erfordert. Die dadurch auftretende Periodizität ist ein Ansatzpunkt für das Brechen des Codes.
Caesar-Verschlüsselung
Schlüssel: B
Schlüssel: BBBBBBBBBB Klartext: MITTEILUNG Chiffre: NJUUFJMVOH
Vigenère-Verschlüsselung
Schlüssel: BEZ
Schlüssel: BEZBEZBEZB Klartext: MITTEILUNG Chiffre: NMSUIHMYMH
One-Time-Pad-Verschlüsselung
Schlüssel: BEZPJMSFQR
Schlüssel: BEZPJMSFQR Klartext: MITTEILUNG Chiffre: NMSINUDZDX
One-Time-Pad ähnliche Verschlüsselung
Die Mehrfachanwendung eines One-Time-Pad Schlüssels ist eine Vigenère-Verschlüsselung und damit nicht mehr sicher.
Klartext1: MITTEILUNG Klartext2: EINWEISUNG Schlüssel: BEZPJMSFQR BEZPJMSFQR Kartext1 + 2: MITTEILUNG EINWEISUNG Chiffre: NMSINUDZDX FMMLNUKZDX
Brute-Force Entschlüsselung
Zur Chiffre lassen sich beliebige Klartexte finden. Es ist nicht möglich zu entscheiden, welches der richtige Klartext ist.
Chiffre: NMSINUDZDX Schlüssel1: BEZPJMSFQR Klartext: MITTEILUNG Chiffre: NMSINUDZDX Schlüssel2: JEFMJMLFQR Klartext: EINWESIUNG