Der Einmalblock: unknackbar auf Papier

Zwei gleiche Blätter voller Spalten kleiner Zeichen, halb übereinander auf einem Schreibtisch, daneben ein Bleistift und ein Würfel.

Alles auf dieser Seite läuft auf einem Computer, der mit Zahlen rechnet, an die du nicht herankommst. Dieses Kapitel nicht. Hier baust du eine Verschlüsselung, die du mit einem Bleistift ausführst, auf einem Blatt, das du in die Tasche steckst, und von der bewiesen ist, dass niemand sie brechen kann. Kein Supercomputer, kein Quantencomputer, niemand. Und danach siehst du, warum sie fast niemand benutzt.

Wörter, die du gleich brauchst

Einmalblock
Eine Liste zufälliger Buchstaben, zweimal gedruckt: einer für dich, einer für die andere Person. Jeden Buchstaben dieser Liste benutzt du genau einmal. Auf Englisch: one-time pad.
Modulo 26
Mit dem Alphabet rechnen wie mit einer Uhr mit 26 Stunden. Nach Z kommt wieder A. Das kennst du aus Kapitel 6, dort war es eine Uhr mit 23.
Bewiesen sicher
Nicht „noch nie geknackt“, sondern mathematisch gezeigt, dass es nichts zu knacken gibt. Das ist eine starke Aussage, und dies ist etwa die einzige Verschlüsselung, für die sie gilt.
Schlüsselverteilung
Das Problem, wie du einen Schlüssel zur anderen Person bekommst, ohne dass ihn unterwegs jemand mitliest. Unten in diesem Kapitel zeigt sich, dass das ganze Problem genau hier steckt.

Wie es funktioniert

Gib jedem Buchstaben seine Nummer: A ist 0, B ist 1, bis Z ist 25. Nimm den ersten Buchstaben deiner Nachricht, nimm den ersten Buchstaben deines Blocks, zähl die beiden Nummern zusammen. Kommst du über 25, zieh 26 ab. Die Nummer, die übrig bleibt, ist dein Geheimbuchstabe. Dann der zweite Buchstabe, mit dem zweiten Buchstaben des Blocks. Und so weiter.

Geheimbuchstabe = (Nachricht + Block) mod 26

Nachricht = (Geheimbuchstabe − Block) mod 26

Mehr ist es nicht. Addieren zum Schließen, subtrahieren zum Öffnen. Das geht mit einem Bleistift, und im Kalten Krieg wurde es jahrelang genau so gemacht, mit Papierblöckchen von der Größe einer Briefmarke.

Warum das nicht zu knacken ist

Stell dir vor, du fängst den Geheimtext XQFMB ab. Du probierst alle Blöcke durch. Bei einem Block kommt HAUSE heraus. Bei einem anderen SCHUH. Bei wieder einem anderen NACHT. Alle drei sind gültige deutsche Wörter, und es gibt keinen einzigen Grund zu denken, dass eines richtiger wäre als die anderen.

Das ist der Unterschied zu allem, was du bisher gesehen hast. Bei einem Caesar ergibt die richtige Antwort lesbaren Text und die anderen 24 Unsinn, du weißt also sofort, welche es ist. Hier ergibt jede mögliche Nachricht dieser Länge einen gültigen Block. Der Geheimtext verrät dir buchstäblich nichts über die Nachricht außer ihrer Länge.

Drei Regeln, und keine davon ist verhandelbar. Der Block muss genauso lang sein wie die Nachricht. Er muss wirklich zufällig sein, also gewürfelt und nicht ausgedacht, siehe Kapitel 2. Und du darfst ihn nur einmal benutzen. Lässt du eine der drei fallen, bricht der ganze Beweis zusammen, und weiter unten auf dieser Seite siehst du, wie hart.

Bau deinen eigenen Block

Ein Block aus zufälligen Buchstaben

Alles passiert in deinem Browser. Es wird nichts an den Server geschickt und nichts gespeichert.

  1. Wähl, wie viele Buchstaben du willst, und klick auf Block erzeugen.
  2. Klick auf Drucken. Druck zweimal: ein Blatt für dich, eines für die Person, der du schreiben wirst. Gib es ihr, wenn ihr euch seht.
  3. Schließ diesen Tab und komm zurück. Der Block ist weg. Das ist Absicht: was du nicht gedruckt hast, gibt es nicht mehr.

Verschlüssele von Hand

Alles passiert in deinem Browser. Es wird nichts an den Server geschickt.

  1. Tipp deine Nachricht ein. Erzeug oben zuerst einen Block, falls du das noch nicht getan hast.
  2. Rechne die ersten fünf Buchstaben selbst aus, auf Papier. Trag deine Antwort bei Mein Ergebnis ein und klick auf Prüf mich.
  3. Klick danach auf Zeig die Addition, um zu sehen, wie die Demo es gemacht hat, Buchstabe für Buchstabe.

Was passiert, wenn du den Block zweimal benutzt

Du hast noch Block übrig und willst noch etwas schicken. Verlockend, und fatal. Nenn die beiden Nachrichten n1 und n2 und den Block k. Dann ist der eine Geheimtext n1 + k und der andere n2 + k. Zieh sie voneinander ab:

(n1 + k) − (n2 + k) = n1 − n2

Das k fällt weg. Der Lauscher behält die Differenz deiner beiden Nachrichten, und darin steckt kein Körnchen Geheimnis mehr. Von da an genügt eine Vermutung: errätst du ein Stück der einen Nachricht, rollt die andere von selbst heraus.

Zwei Nachrichten, ein Block

Alles passiert in deinem Browser. Es wird nichts an den Server geschickt.

  1. Klick auf Schick beide. Du siehst die beiden Geheimtexte und ihre Differenz.
  2. Tu jetzt so, als wärst du der Lauscher. Du vermutest, dass die erste Nachricht mit ANGRIFF anfängt. Tipp das bei Meine Vermutung ein und klick auf Was steht dann in der anderen?
  3. Probier eine Vermutung, die nicht darin steht, und schau, was dann herauskommt.

Warum das fast niemand benutzt

Du hast gerade die beste Verschlüsselung der Welt gebaut, und sie hat dich ein Blatt Papier gekostet. Warum steckt das dann nicht in deinem Handy?

Weil du den Block erst übergeben musstest. Ihr musstet euch sehen. Und wenn du dich ohnehin sehen kannst, ohne dass jemand mithört, hättest du die Nachricht auch gleich flüstern können. Willst du heute Abend hundert Buchstaben schicken, musst du heute hundert Buchstaben übergeben. Für eine Stunde Gespräch in einer Messenger-App brauchst du Millionen.

Das ist der Grund, warum es den Rest dieser Seite gibt. Kapitel 6 löst genau das: ein Geheimnis vereinbaren, ohne sich je gesehen zu haben. Du bezahlst dafür mit einer Verschlüsselung, die nicht mehr beweisbar unknackbar ist, sondern nur noch unknackbar, solange niemand einen schlauen Trick findet. Das ist der Tausch, und so gut wie die ganze Welt hat ihn gemacht.

Eine Gruppe nicht. Für Verbindungen, bei denen es wirklich darauf ankommt, gibt es noch immer Einmalblöcke auf Papier, mit dem Würfel erzeugt und von Hand übergeben. Nicht weil es praktisch wäre, sondern weil es das Einzige ist, von dem du nicht hoffen musst, dass es stimmt.

Das ist Mathematik: perfekte Geheimhaltung

Claude Shannon, derselbe wie bei der Entropie in Kapitel 2, schrieb 1949 auf, was „unknackbar“ genau heißt: eine Verschlüsselung ist perfekt geheim, wenn die Wahrscheinlichkeit einer bestimmten Nachricht nach dem Sehen des Geheimtextes genauso groß ist wie davor. Du hast nichts gelernt. Er bewies, dass der Einmalblock das schafft, und gleich dahinter etwas viel Unangenehmeres: dass es nur geht, wenn dein Schlüssel mindestens so viel Entropie hat wie deine Nachricht. Das ist kein Mangel dieses einen Systems, sondern eine Untergrenze für alle. Jedes Mal, wenn du einen Schlüssel von 256 Bit für einen Film von zwei Gigabyte benutzt, kaufst du also keine perfekte Geheimhaltung, sondern etwas Schwächeres: ein System, das zu brechen ist, nur nicht in der Zeit, die jemand hat. Dieser Unterschied zwischen „geht nicht“ und „dauert zu lange“ zieht sich durch die ganze moderne Kryptografie, und hier siehst du ihn zum ersten Mal scharf.