# One-Time-Pad

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

Das Verfahren wurde zum ersten Mal durch den amerikanischen Kryptologen Frank Miller (1842–1925) bereits im Jahr 1882 vorgeschlagen, 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.

## Verfahren
### 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 Bits ist eine Exklusiv-Oder-Verknüpfung (XOR) von Klartext- und Schlüsselbits gebräuchlich, weil diese besonders einfach durchzuführen ist. Bei Verwendung von Zahlen kann alternativ auch eine andere Verknüpfung, beispielsweise eine zeichenweise Addition (ohne Übertrag) verwendet werden. Benutzt man Handmethoden und nur Großbuchstaben, empfiehlt sich die 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.

### 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:
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:
    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:
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:
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:
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
mit dem dazu passenden Schlüssel, der der Differenz zwischen Geheimtext G und dem konstruierten Pseudo-Klartext K' entspricht (S' = G - K'):
Dieser Schlüssel S' erfüllt die Bedingung, dass die buchstabenweise Summe von ihm mit dem oben erzeugten (falschen) Klartext K' genau den gleichen Geheimtext ergibt wie die Summe aus dem echten, aber dem Angreifer unbekannten Schlüssel S mit dem echten, aber dem Angreifer ebenso unbekannten Klartext K. So kann der Angreifer eine unübersehbare Fülle von denkbaren Klartext-Schlüsselpaaren konstruieren, die in (buchstabenweiser) Summe alle den gleichen echten Geheimtext ergeben. Er hat jedoch keine Möglichkeit, daraus auf den echten Klartext zurückzuschließen. Auch Brute Force, also das erschöpfende Durchprobieren aller möglichen Schlüssel, führt nicht zum Erfolg. Der Angreifer kann zwar so – sogar ohne überhaupt den Geheimtext zu kennen – alle denkbaren Texte mit 21 Buchstaben erzeugen, unter denen natürlich auch der ursprüngliche sein wird. Es gibt jedoch keinerlei Anhaltspunkte, zu entscheiden, welcher aus der Unmenge der durchaus sinnvollen Texte der tatsächliche Klartext ist. Solange ihm der Schlüssel nicht in die Hände fällt, bleibt der Klartext auf ewig ein Geheimnis.
Um diese Sicherheit nicht zu gefährden, muss der Einmalschlüssel nach bestimmungsgemäßem Gebrauch unwiederbringlich vernichtet werden.

## Angriffsmöglichkeiten

Bei korrekter Anwendung des Einmalschlüsselverfahrens ist OTP, wie der amerikanische Wissenschaftler Claude Shannon in den 1940er-Jahren zeigte, nachweislich sicher und kann nicht gebrochen werden. In der praktischen Anwendung können jedoch Fehler passieren, die einen Einbruch möglich machen. Ursache dafür ist die Verletzung von grundlegenden Sicherheitsmaßnahmen.

### Ausspähen des Schlüssels

Ein möglicher Fehler ist, den Einmalschlüssel nicht geheim zwischen Sender und Empfänger auszutauschen, sodass er durch Dritte ausgespäht werden kann. Auch eine sichere Aufbewahrung des Schlüssels ist essentiell. Im Gegensatz zu Passwörtern oder Kennwörtern lässt sich ein Einmalschlüssel kaum merken. Er muss auf einem geeigneten Medium, beispielsweise Papier, Diskette, Compact Disc (CD) oder USB-Stick, gespeichert werden. Solch ein Medium – und mit ihm der Schlüssel – kann leicht kopiert werden. Ebenso darf nicht vergessen werden, den Einmalschlüssel nach Gebrauch sicher zu vernichten.
Allgemein gilt: Wenn ein Unbefugter eine verschlüsselte Nachricht und den zu ihr passenden Schlüssel findet, kann er diese Nachricht entschlüsseln.

### Kryptologisch unsichere Schlüssel

Ein Kardinalfehler ist, als Einmalschlüssel keine zufällige Buchstabenfolge, sondern eine Textpassage zu benutzen. Selbst wenn der verwendete Text einmalig ist und niemandem (außer den beiden Kommunikationspartnern) bekannt ist, weisen Buchstabenfolgen, die aus einem sinnvollen Text stammen, im Gegensatz zu zufälligen Buchstabenfolgen (Zufallstexten), statistisch auswertbare Abhängigkeiten auf, die eine Entzifferung möglich machen können.
Damit aus dem verschlüsselten Text ohne Schlüssel nicht wieder das Original rekonstruiert werden kann, muss der Schlüssel kryptologisch sicher sein, das heißt, er darf von einer echt zufälligen Zahlen- beziehungsweise Buchstabenfolge nicht zu unterscheiden sein. Ist er dies nicht, so kann ein Angreifer unter Umständen durch Kryptanalyse, auch ohne Kenntnis des Schlüssels, den Text entziffern.
Grundsätzlich kann ein Generator für Pseudozufallszahlen verwendet werden. Dann darf der Schlüssel jedoch nicht so lang sein, dass man aus ihm auf den internen Zustand des Generators schließen könnte, denn sonst könnten alle darauffolgenden Werte vorhergesagt werden. Das ist bei einfachen Generatoren (wie zum Beispiel Kongruenzgeneratoren) bereits nach wenigen Werten der Fall. Bei kryptographisch sicheren Generatoren können dies erheblich längere Folgen sein, sie sind aber ebenfalls deterministisch und können theoretisch dennoch geknackt werden.
Um einen kryptologisch sicheren Schlüssel zu erzeugen, wird im Idealfall ein physikalischer Zufallszahlengenerator verwendet, beispielsweise ein kommerzieller Key generator („Schlüsselerzeuger“), da nur ein solcher echt zufällige, das heißt nicht-deterministische, Werte liefert, die nicht vorhersagbar sind. Allerdings zeigt sich auch hier, dass selbst diese nicht in der Lage sind, perfekten Zufall zu generieren. Der amerikanische Mathematiker und Informatiker George Marsaglia (1924–2011), der sich Jahrzehnte lang intensiv mit dieser Thematik befasste, und der eine spezielle Testbatterie, genannt „Diehard“, zur Prüfung der Zufälligkeit entwickelte, empfahl explizit zur Erzeugung von „guten“ Zufallsschlüsseln am besten mehrere – möglichst unterschiedliche – Generatoren zu benutzen und deren Ergebnisse anschließend mithilfe von kryptologischen Mischern miteinander zu kombinieren. Dabei ging er von dem Grundsatz aus, dass das Ergebnis der Kombination von zwei oder mehreren Zufallsfolgen niemals weniger zufällig ist als jede einzelne, was er empirisch belegen konnte.

### Mehrfachverwendung des Einmalschlüssels

Ein in der praktischen Anwendung (Beispiele: Lorenz-Schlüsselmaschine und Venona) schon häufig gemachter Fehler ist, mehr als nur die beiden, allein für Sender und Empfänger bestimmten Kopien des Einmalschlüssels herzustellen und zu verteilen oder den Schlüssel mehr als einmal zur Verschlüsselung zu verwenden. Schon eine zweimalige Verwendung eines Einmalschlüssels genügt, um die Kommunikation erfolgversprechend angreifen zu können.
Der Angreifer geht dabei von folgender Überlegung aus: Angenommen, der Absender hat für beide verschlüsselten Nachrichten (versehentlich) denselben Schlüssel verwendet, dann kann der Angreifer die Differenz der beiden verschlüsselten Texte analysieren. Klartexte und folglich auch Differenzen von Klartexten zeigen nämlich im Gegensatz zu Zufallstexten eine Reihe von Auffälligkeiten, die statistisch ausgewertet und zur Entzifferung ausgenutzt werden können. So zeigt die Buchstabenhäufigkeit von Differenztexten ebenso charakteristische Auffälligkeiten wie bspw. die von Klartexten oder von monoalphabetisch verschlüsselten Texten.
Die folgende Tabelle zeigt als Ergebnis einer Auszählung der Differenz von zwei deutschen Texten aus jeweils einer Million Buchstaben die relativen Häufigkeiten der Buchstaben in ‰ (Promille). Bei einer Gleichverteilung würde man jeden der 26 Buchstaben mit einer Häufigkeit von 1/26, also mit 38,5 ‰ erwarten.
| 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 |
| 43 | 31 | 33 | 48 | 34 | 30 | 33 | 31 | 42 | 39 | 37 | 37 | 50 | 38 | 38 | 39 | 44 | 30 | 33 | 32 | 33 | 44 | 32 | 32 | 41 | 77 |
Bei Differenztexten – falls sie von zwei Klartexten oder von zwei nach dem Einmalschlüssel-Verfahren mit identischem Schlüssel verschlüsselten Geheimtexten stammen – dominiert der Buchstabe Z mit etwa 77 ‰, der durch Koinzidenzen von identischen Buchstaben in beiden Klartexten und damit auch (bei zweifacher Verwendung desselben Einmalschlüssels) in beiden Geheimtexten auftritt. Ein Nebenmaximum tritt beim Buchstaben M mit 50 ‰ auf. Ursache dafür sind Koinzidenzen der in deutschsprachigen Texten häufigen Buchstaben E und R beziehungsweise R und E, die beide die gleiche Differenz, nämlich 13, aufweisen. Falls der Angreifer diese Auffälligkeiten am Differenztext entdeckt, bestätigt dies seinen Verdacht der Mehrfachverwendung eines Einmalschlüssels (siehe auch: Koinzidenzindex). Basierend auf weiteren statistischen Abhängigkeiten und mithilfe von speziellen Differenztextbasen sowie passender Trigramm-, Tetragramm- und Pentagramm-Tabellen (siehe N-Gramm) und rechnergestützter Untersuchung der verschiedenen Fälle können die Geheimtexte nun erfolgversprechend angegriffen werden.
Auf diese Weise kann das theoretisch unknackbare Einmalschlüssel-Verfahren plötzlich dennoch gebrochen werden, falls bei der praktischen Anwendung Fehler passieren.

### Seitenkanalangriffe

Variiert die Länge der verschlüsselten Nachrichten oder die Rate des Nachrichtenaustauschs, so lassen sich dadurch, unabhängig vom Verschlüsselungsverfahren, Rückschlüsse auf den Inhalt ziehen. Ein probates Gegenmittel hierzu sind Füllsprüche, die dem Gegner Funkaktivität vortäuschen, auch dort, wo keine Nachrichten ausgetauscht werden.

## Zusammenfassung
### Nachteile

Das One-Time-Pad benötigt einen Schlüssel, der genauso lang ist wie die Nachricht selbst. Um beispielsweise die gesamten Daten eines Festplattenlaufwerks zu verschlüsseln, ist ein zweites Festplattenlaufwerk (mit mindestens gleicher Größe) zur Speicherung des Schlüssels nötig.
Zur Wahl des Schlüssels ist ein physikalischer Zufallszahlengenerator nötig, der in der Regel in spezieller Hardware realisiert wird. Die Sicherheit des One-Time-Pads hängt von der Güte des Zufallszahlengenerators ab. Eine weniger aufwendige Alternative zum One-Time-Pad ist eine Stromchiffre, die mit einem Pseudozufallsgenerator auskommt, aber dafür keine informationstheoretische Sicherheit besitzt.
Will man Nachrichten mit dem OTP-Verfahren verschlüsselt übertragen, muss der Schlüssel über einen anderen (sicheren) Kanal übertragen werden als die Nachricht. Beispielsweise kann eine CD mit Schlüsseln durch einen Boten überbracht werden, während die damit verschlüsselten Nachrichten über das Internet übertragen werden. Aufgrund des hohen logistischen Aufwands konnte sich das One-Time-Pad für die Verschlüsselung in größeren Kommunikationsnetzen nicht durchsetzen.

### Vorteil

Das One-Time-Pad ist informationstheoretisch gegen Kryptanalyse sicher und kann nicht entziffert werden, wenn der Schlüssel genauso lang ist wie die Nachricht und aus Zeichen besteht, die zufällig und unabhängig sind, und wenn er nur einmal zur Verschlüsselung verwendet wird. Unter diesen Voraussetzungen kann der Geheimtext nur mit Kenntnis des Schlüssels entschlüsselt werden. Um die nur einmalige Verwendung des Schlüssels sicherzustellen, empfiehlt es sich, den Schlüssel unmittelbar nach Benutzung unwiderruflich zu löschen.
Andere Verschlüsselungsverfahren (wie AES) erreichen ihre Sicherheit durch den immensen Berechnungsaufwand der theoretisch denkbaren Entzifferung, der auf absehbare Zeit praktisch nicht realisierbar ist. Mit anderen Worten, einem potenziellen Angreifer fehlt es an notwendigen Ressourcen (zum Beispiel Rechenleistung oder Zeit), um seinen Entzifferungsversuch erfolgreich durchführen zu können. Die Sicherheit des One-Time-Pad dagegen beruht auf der einmaligen Verwendung des Schlüssels sowie der zufälligen Wahl des verwendeten Schlüssels. Richtig angewendet, bietet es für die zweiseitige geheime Kommunikation unübertreffliche Sicherheit und kann auch mit beliebig hoher Rechenleistung nicht gebrochen werden.