mini|Beispiel eines One-Time-Pads (mit den 26 Großbuchstaben des lateinischen Alphabets) Das One-Time-Pad (Abkürzung: OTP, deutsch: Einmalverschlüsselung oder Einmalschlüssel-Verfahren, wörtlich Einmal-Block, nicht zu verwechseln mit dem Einmalkennwort) ist ein symmetrisches Verschlüsselungsverfahren zur geheimen Kommunikation.
Kennzeichnend ist, dass ein Schlüssel verwendet wird, der mindestens so lang wie die Nachricht ist. Das OTP ist informationstheoretisch sicher und kann nachweislich nicht gebrochen werden, wenn es bestimmungsgemäß genutzt wird.
Geschichte mini|Joseph Mauborgne
Das Verfahren wurde zum ersten Mal durch den amerikanischen Kryptologen Frank Miller (1842–1925) bereits im Jahr 1882 vorgeschlagen,Steven M. Bellovin: Frank Miller: Inventor of the One-Time Pad. In: Cryptologia. Bd. 35, Ausg. 3, Rose-Hulman Institute of Technology. Taylor & Francis, Philadelphia (Pennsylvania) 3. Januar 2011, , S. 203–22, online auf Columbia.edu, abgerufen am 31. Januar 2017 (PDF; 2,4 MB). bevor es – 35 Jahre später – durch seinen Landsmann Gilbert Vernam (1890–1960) zum Patent angemeldet wurde. Der Amerikaner Joseph O. Mauborgne (1881–1971) setzte diese Idee um und nannte das Verfahren One-Time Pad (deutsch: Einmal-Block). Kurz darauf arbeiteten auch die Deutschen Werner Kunze, Rudolf Schauffler und Erich Langlotz an dieser Methode. Sie schlugen im Jahr 1921 vor, Blöcke, die mit zufällig erstellten Ziffern bedruckt waren, zur Überschlüsselung der damaligen diplomatischen Codes zu verwenden, und bezeichneten diese als i-Wurm (individueller Wurm). Diese Methode wurde vom diplomatischen Dienst der Weimarer Republik auch tatsächlich eingesetzt.
Seit dieser Zeit bis zum heutigen Tag, speziell auch während der Zeit des Kalten Krieges, wurde und wird dieses Verfahren verwendet. Beispielsweise war der Heiße Draht (auch als das Rote Telefon bekannt), also die hochsichere direkte Fernschreibverbindung zwischen dem amerikanischen Präsidenten und dem sowjetischen Generalsekretär, durch ein Einmalschlüssel-Verfahren geschützt.Simon Singh: Geheime Botschaften. Hanser, München / Wien 2000, ISBN 978-3-446-19873-9, S. 178, online auf DNB.de.
Verfahren mini|Eine Seite des OTP eines Agenten (hier mit Ziffernkolonnen)
Beschreibung Das One-Time-Pad gehört zu den polyalphabetischen Substitutionsverfahren, bei denen die einzelnen Buchstaben (oder Zeichen) in jeweils andere Buchstaben (oder Zeichen) umgewandelt (verschlüsselt) werden. Kennzeichnendes Merkmal der Einmalverschlüsselung ist die einmalige Verwendung eines zufälligen Schlüssels, der (mindestens) die gleiche Länge wie die zu verschlüsselnde Nachricht aufweist.
Sowohl der Klartext als auch der Schlüssel und das Chiffrat sind beim One-Time-Pad Zeichenfolgen derselben Länge. Während moderne Implementierungen des OTP auf Bits und Bytes basieren, lässt sich das OTP auch klassisch beispielsweise mithilfe der üblichen 26 Großbuchstaben des lateinischen Alphabets benutzen. Dies kann bei Bedarf leicht durch Kleinbuchstaben, Zahlzeichen oder Sonderzeichen erweitert werden. Zur Verschlüsselung wird der Schlüssel zeichenweise mit dem Klartext kombiniert. Die Art der Kombination ist beliebig und muss nicht geheim gehalten werden. Bei Verwendung von Zahlen kann als Verknüpfung beispielsweise eine ziffernweise Addition ohne Übertrag verwendet werden. Benutzt man Handmethoden und nur Großbuchstaben, empfiehlt sich eine buschstabenweise Addition. Hierzu werden die Buchstaben zumeist entsprechend ihrer Position im Alphabet durchnummeriert, wobei häufig eine Nummerierung von 0 bis 25 (A=0, B=1, … Z=25) oder von 1 bis 26 (A=1, B=2, … Z=26) erfolgt. Man kann sich auch für eine beliebige andere umkehrbare Zuordnung entscheiden. Dies hat keinen prinzipiellen Einfluss auf die Methode oder deren Sicherheit. Bei Verwendung von Bits ist eine Exklusiv-Oder-Verknüpfung (XOR) von Klartext- und Schlüsselbits gebräuchlich, weil diese besonders einfach durchzuführen ist. Dieses Verfahren wurde auch im Fernschreibverkehr verwendet, zum Beispiel bei der deutschen Bundeswehr bis in die 1980er Jahre.
Sicherheit Grundlegende Voraussetzungen für die Sicherheit des Einmalschlüssel-Verfahrens sind: Der Einmalschlüssel muss mindestens so lang sein wie die Nachricht, gleichverteilt zufällig gewählt werden, geheim bleiben und darf nicht wiederverwendet werden, auch nicht teilweise. Damit erfüllt das Einmalschlüsselverfahren Kerckhoffs’ Prinzip, nach dem die Sicherheit eines Kryptosystems nicht von der Geheimhaltung des Algorithmus abhängen darf, sondern nur von der Geheimhaltung des Schlüssels, in idealer Weise. Die vier Bedingungen der Schlüsselwahl stellen zusammen mit der Beschreibung des Verfahrens sicher, dass die folgenden Voraussetzungen erfüllt sind: Es gibt genauso viele Schlüssel wie mögliche Chiffrate, Zu jedem Klartext-Chiffrat-Paar gibt es genau einen Schlüssel, der auf den Klartext angewendet das Chiffrat ergibt. Unter diesen Bedingungen ist das Verfahren informationstheoretisch sicher (auch perfekte Sicherheit genannt) und kann auch mit beliebig hohem Rechenaufwand nicht gebrochen werden. Allein mit Kenntnis des Schlüssels kann der Geheimtext entschlüsselt werden. Diesen zu erraten oder anderweitig zu erschließen ist unmöglich, da jeder mögliche Schlüssel mit der gleichen Wahrscheinlichkeit auftreten kann. Zudem gibt es keine Möglichkeit, herauszufinden, ob ein Schlüssel richtig erraten wurde oder nicht. Würde man den Schlüssel nicht, wie oben vorausgesetzt, zufällig wählen, sondern beispielsweise Textpassagen verwenden, dann wäre diese Eigenschaft nicht gegeben.
Verwandt mit dem One-Time-Pad ist die Stromverschlüsselung, bei welcher der Schlüssel pseudozufällig aus einem kürzeren Schlüssel, einer PIN oder einem Pass- oder Kennwort erzeugt wird. Andere historische und auch aktuelle kryptographische Verfahren verwenden Schlüssel, die in der Regel deutlich kürzer sind als die Länge des zu verschlüsselnden Klartextes. Diese Verfahren weisen – im Gegensatz zum OTP – sämtlich keine perfekte Sicherheit auf.
Das Einmalschlüsselverfahren ist gut geeignet für eine maschinelle Realisierung. Im Gegensatz zu vielen modernen kryptographischen Methoden (wie DES, PGP oder AES), die wegen ihrer Komplexität auf Computer angewiesen sind, eignet sich das One-Time-Pad jedoch ebenso gut zur manuellen Durchführung der Ver- und Entschlüsselung.
Beispiel Eine einfache Handmethode zur Verschlüsselung ist beispielsweise die buchstabenweise Addition von Klartext und Schlüssel. Hierzu ersetzt man zunächst mithilfe einer beliebigen Substitutionstabelle die Buchstaben des Klartextalphabets durch Zahlen. Im einfachsten Fall ordnet man den 26 Großbuchstaben des lateinischen Alphabets Zahlen zu, die ihrer Position im Alphabet entsprechen. Mit anderen Worten, man nummeriert das Alphabet wie folgt durch: BuchstabeABCDEFGHIJKLMNOPQRSTUVWXYZNummer1234567891011121314151617181920212223242526 Jetzt ist eine buchstabenweise Addition leicht möglich. Beispielsweise ergibt die Addition von A und F den Buchstaben G, entsprechend ihren Platznummern 1 + 6 = 7. Falls die Summe den Wert 26 überschreiten sollte, so zieht man einfach 26 ab (Modulo-Operation) und erhält so wieder einen der 26 Alphabetbuchstaben. Beispielsweise X plus U ist numerisch 24 + 21 = 45, nach Abziehen von 26 ergibt sich 19 und damit der Buchstabe S, also X + U = S.
Die Zusammenhänge bei der Addition von Buchstaben lassen sich an der folgenden Tabelle, die Ähnlichkeit mit einer klassischen Tabula recta hat, übersichtlich darstellen: {| class="wikitable" | A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z |} In der kursiv gedruckten oberen Zeile und in der ersten Spalte am linken Rand sind die beiden zu addierenden Summanden angegeben. Im Kreuzungspunkt innerhalb der Tabelle lässt sich die Summe ablesen, also das Ergebnis der Summation von Klartextbuchstaben und Schlüsselbuchstaben. Dies ist der entsprechende Buchstabe des Geheimtextes.
Zur Verschlüsselung wird man einen zufälligen Schlüssel benutzen, der in diesem Beispielfall passenderweise ebenfalls aus den 26 Großbuchstaben zusammengesetzt ist und dessen Länge (mindestens) der Länge des zu verschlüsselnden Klartextes entspricht. Entscheidend für die Sicherheit der Verschlüsselung ist, dass die einzelnen Buchstaben des Schlüssels wirklich zufällig verteilt sind, unvorhersagbar sind und in keinerlei Zusammenhang untereinander stehen. Als Beispiel für einen zufälligen Schlüssel dient die folgende Buchstabenfolge:
S = WZSLXWMFQUDMPJLYQOXXB
Der Schlüssel S ist in diesem Beispiel recht kurz, er umfasst nur 21 Buchstaben und ist bei bestimmungsgemäßer Verwendung sehr schnell verbraucht, nämlich bereits nach Verschlüsselung eines Textes aus 21 Buchstaben.
Beispielsweise soll der folgende Klartext K verschlüsselt werden:
K = ANGRIFFIMMORGENGRAUEN
Zur Verschlüsselung werden Klartext K und Schlüssel S, wie oben erläutert, buchstabenweise addiert. Als Summe (K + S = G) erhält man nach der so durchgeführten Einmalverschlüsselung den Geheimtext G:
G = XNZDGCSODHSEWOZFIPSCP
Der im Ergebnis erhaltene Geheimtext G ist von einem Zufallstext nicht zu unterscheiden und kann prinzipiell mit keiner noch so gearteten kryptanalytischen Angriffsmethode (weder jetzt noch in Zukunft) entziffert werden. Allein die Kenntnis des Schlüssels S erlaubt es, aus dem Geheimtext G durch Subtraktion des Schlüssels wieder den Klartext K zu gewinnen. Ohne den Schlüssel kann man prinzipiell alle denkbaren und mehr oder weniger sinnvollen Buchstabenkombinationen aus 21 Buchstaben konstruieren. Theoretisch könnte ein Angreifer dies probieren. Er würde so eine Unmenge an Sätzen erhalten, die in beliebigen Sprachen beliebige Informationen verkünden würden, beispielsweise
K' = WIKIPEDIAFINDENWIRGUT
mit dem dazu passenden Schlüssel, der der Differenz zwischen Geheimtext G und dem konstruierten Pseudo-Klartext K' entspricht (S' = G - K'):
S' = AEOUQXOFCBJQSJLIZXLHV