Logo

Magic Highstone's World - One-Time Pad

One Time Pad

Einleitung

Auch wenn dieser Algorithmus so ziemlich das simpelste ist, was man sich vorstellen kann, so ist er doch der einzige auf dieser Welt der eine totale Sicherheit im informationstheoretischen Sinne gewährleistet. Das bedeutet, daß die Chiffre unter keinen Umständen zu knacken ist. Vielleicht werden jetzt einige Aufschreien und meckern: Und was ist mit PGP usw. ? Nun diese sind “nur” im komplexitätstheoretischen Sinne sicher, aber keine Angst das reicht vollkommen.

Denn ein Algorithmus ist im komplexitätstheoretischem Ansatz sicher, wenn gilt:

  1. durch die bekannten Angriffe
  2. mit den verfügbaren Ressourcen
  3. mit vertretbarem Aufwand

kann dieser nicht gebrochen werden, z.B RSA in Zusammenarbeit mit perfekten Zufallsgeneratoren.

Nun aber zurück zu unserem One-Time-Pad. Dieser basiert auf der logischen Operation XOR. Jedes Bit der Message wird mit dem entsprechenden Bit im Schlüssel geXor-d. Der Empfänger Xor-d die Chiffre wiederum mit dem Schlüssel und erhält die dechiffrierte Message.
Hierzu ein Beispiel:

Message: 101001001010
Schlüssel: 100100011011
XOR
Chiffre: 001101010001
Schlüssel: 100100011011
XOR
Message: 101001001010

Voila, das bringt doch Spaß.

Folgendes können wir schon einmal festhalten:

  1. Der Schlüssel muß die gleich Länge wie die Message haben.
  2. Sender und Empfänger müssen irgendwie in den Besitz des gleichen Schlüssels kommen.

Warum dieses Verfahren aber nun so sicher ist, ist noch nicht so einsichtig. Hierzu greife ich auf eine Variante des One-Time-Pads zurück, daß zeichenweise mod 26 arbeitet. Auch hier ein schönes Beispiele:

(O + T) mod 26 = I
(A + C) mod 26 = D
(K - B) mod 26 = I
(I - P) mod 26 = S

Message: HIGHSTONE
Schlüssel: ABCDEFGHI
(x + y) mod 26
Chiffre: IKJLXZVVN
Schlüssel: ABCDEFGHI
(x - y) mod 26
Message: HIGHSTONE

Ist ja alles ziemlich einfach, nun stellen wir uns einmal vor, daß wir in den Besitz der Chiffre IKJLWZVVN gelangt sind. Vom Schlüssel haben wir aber keinen blassen Schimmer.

Beispiele zur Lösung:

Chiffre: IKJLXZVVN IKJLXZVVN
Schlüssel (???): PHBTSQTQV XJRXOWKQB
(x - y) mod 26
Message: SCHREIBER KARNICKEL

Wir haben sehr schöne Schlüssel gefunden, aber woher wissen wir jetzt, welcher der richtige ist?

Genau in dieser Frage liegt die Sicherheit des Algorithmus. Denn jede Klartext-Message kann über einen geeigneten Schlüssel gebildet werden. Woher soll ich denn wissen, daß die richtige Message Highstone ist und eben nicht Karnickel?

Diese Sicherheit ist aber nur gewährleistet, wenn zum einen der Schlüssel nur EINMAL verwendet wird und der Schlüssel WIRKLICH ZUFÄLLIG ist und nicht auf irgendwelchen Pseudo-Zufallszahlen beruht.

Weiter oben habe ich erwähnt, daß der Schlüssel die gleiche Länge haben muß wie die Message. Möchte ich also z.B. eine CD-ROM vollständig verschlüsseln, brauche ich einen 680 MB Schlüssel und mein Partner braucht genau den gleichen nocheinmal. Man sieht schon, daß die totale Sicherheit doch ihre Nachteile hat. Besonders das Schlüsselmanagement ist nicht so ganz einfach bzw. nicht handbar.