Home > Kryptographie > Klassische Kryptographie > Das One-Time-Pad

Kryptographie

3.5 Das One-Time-Pad (OTP)

Sie werden es kaum glauben, aber es gibt tatsächlich ein Verfahren, das nicht nur praktisch, sondern auch theoretisch unknackbar ist. Leider ist dieses One-Time-Pad, das 1917 von Major Joseph Mauborgne und Gilbert Vernam von AT&T erfunden wurde, in der Praxis schwierig umzusetzen. Folgende Bedingungen müssen nämlich erfüllt sein: Der Schlüssel

Verschlüsselt wird mit dem One-Time-Pad genauso wie mit der Vigenère-Chiffre. Oder so, indem wir die Buchstaben als Zahlen darstellen (a = 1 ... y = 25, z = 0):

(o + T) mod 26 = (15 + 20) mod 26 = 9 = I
(n + B) mod 26 = (19 + 2) mod 26 = 21 = P
usw.

Entschlüsselung:

(26 + I − T) mod 26 = (26 + 9 − 20) mod 26 = 15 = o
(26 + P − B) mod 26 = (26 + 21 − 2) mod 26 = 19 = n

Nun stellen Sie sich vor, Sie verschlüsseln einen sehr langen Brief. Bedenken Sie dabei, dass jetzt der Schlüssel genauso lang sein muss wie dieser Brief. Die Entschlüsselung dieses Briefes setzt voraus, dass der Schlüssel dem Empfänger bereits übermittelt wurde. Aber wie wollen Sie einen ellenlangen Schlüssel sicher übermitteln? Über einen Boten? Falls der überhaupt heil ankommt ... Über das Internet? Dann könnten Sie ihn auch gleich per Postkarte verschicken. Sie sehen, diese Bedingung ist schon schwierig zu erfüllen.

Aber es kommt noch besser. Der Schlüssel muss einem echten Zufallsprozess entstammen. Ein echter Zufallsprozess ist z. B. würfeln oder eine Münze werfen. Computer-Zufallsgeneratoren erzeugen keine echten Zufallszahlen – sie berechnen nur die Zahlen mit Hilfe eines bestimmten Startwertes. Um also einen "guten" Schlüssel zu erhalten, müssen Sie vielleicht sehr, sehr oft würfeln ... (Es gibt schon bessere Methoden, aber dazu später mehr.) Als Schlüssel darf natürlich kein "richtiger" Text benutzt werden, da dieser wieder bestimmte statistische Eigenschaften hat.

Die letzte Bedingung scheint auf den ersten Blick kein Problem darzustellen. Aber weit gefehlt! Selbst wenn der Schlüsselblock mehrere Gigabytes umfasst, kann ein Kryptoanalytiker den Klartext rekonstruieren, sofern er über mehrere Chiffretexte verfügt, deren Schlüssel sich überschneiden. Dazu verschiebt er die Chiffretexte paarweise gegeneinander und zählt die Anzahl der Übereinstimmungen. Wenn alles gut läuft, kann der Klartext möglicherweise mit den Methoden zum Knacken der Vigenère-Chiffrierung erhalten werden.

Eine Frage ist noch unbeantwortet: Warum ist dieses für heutige Verhältnisse einfache Verfahren so sicher?

Nun, ein bestimmter Chiffretext kann mit derselben Wahrscheinlichkeit zu jedem der möglichen Klartexte gleicher Länge gehören. Da jede Schlüsselsequenz gleich wahrscheinlich ist (der Schlüssel muss absolut zufällig sein!), besitzt ein Analytiker keinerlei Informationen, mit denen der den Chiffretext einer Kryptoanalyse unterziehen könnte. Beispiel:

Klartext:   o n e t i m e p a d
Schlüssel:  T B F R G F A R F M
Geheimtext: I P K L P S F H G Q

Der Schlüssel könnte ebensogut POYYAEAAZX lauten, was entschlüsselt salmoneggs ergibt oder BXFGMTMXM, was dechiffriert greenfluid bedeutet.

Im zweiten Weltkrieg wurde das One-Time-Pad von der englischen Entschlüsselungstruppe von Bletchley Park benutzt, um dem Premierminister die Nachrichten zu übermitteln, die von den Deutschen mit der Enigma verschlüsselt worden waren und die Engländer geknackt hatten. Bis vor wenigen Jahren sollen die Gespräche über den "heißen Draht" zwischen dem Weißen Haus und dem Kreml mit Hilfe eines One-Time-Pads verschlüsselt worden sein.

Das One-Time-Pad ist zwar bewiesen unknackbar, leider aber sehr unpraktikabel und wird selten eingesetzt.

Ferner sind auch einige aktive Angriffe möglich: Alice schickt Bob eine Nachricht. Der Angreifer kann in diesem Fall z. B. die verschlüsselte Nachricht abfangen und den Klartext raten, um sich so des Schlüssels zu bemächtigen. Verschlüsselt wird ja, wie oben erläutert, mit der Vigenère-Chiffre oder einfacher Addition der Klartext- und Schlüsselbuchstaben. Zum Verschlüsseln rechnet er demzufolge:

P + K = C

wobei P (wie plaintext) der Klartext, K (wie key) der Schlüssel und C (wie ciphertext) der Chiffretext oder Geheimtext ist (auf Buchstabenbasis geschieht das natürlich alles modulo 26). Der Angreifer rät nun den Klartext C und erhält den Schlüssel:

K = CP

Wenn er richtig geraten hat, ist er jetzt im Besitz von K und kann den Geheimtext durch einen selbst erstellten ersetzen. Er greift also in das System ein, ohne dass Alice und Bob davon etwas merken. Der Angreifer muss allerdings jedesmal erneut raten, da bei jeder Verschlüsselung ein neuer Schlüssel verwendet wird (zwingende Voraussetzung fürs One-Time-Pad!).

Man kann solchen Angriffen entgegenwirken, indem man sicherere Verfahren einsetzt; moderne Algorithmen sind gegen diese Art von Angriffen gefeit.