Beispiel: Anwendung der One-Time-Pad-Verschlüsselung auf dem Rechner:
Auf dem Rechner bietet es sich an, nicht jeden Buchstaben für sich zu chiffrieren, sondern die einzelnen Bits der binären Darstellung separat zu verschlüsseln. Da gerade diese binären Operationen von der CPU leicht in hoher Geschwindigkeit bewältigt werden können, sind diese Algorithmen sehr effizient.
Beispielsweise soll das Wort Mord verschlüsselt werden:
Klartext, der verschlüsselt werden soll: | M | o | r | d |
Im 8Bit ASCII - Zeichensatz lautet dieses Wort hexadezimal: | 4D | 6F | 72 | 64 |
Und diese 4 Bytes entsprechen in Binärdarstellung: | 01001101 | 01101111 | 01110010 | 01100100 |
Um dieses 32 bit lange Wort zu verschlüsseln, brauchen wir nach den Forderungen des One-Time-Pads einen ebenfalls 32 bit langen rein zufälligen Schlüssel:
Zufälliger Schlüssel hexadezimal: | A4 | 73 | DF | 1C |
Und diese Bytes entsprechen in Binärdarstellung: | 10100100 | 01110011 | 11011111 | 00011100 |
Um den Klartext mit diesem Schlüssel zu verschlüsseln, führen wir wiederum modulare Addition durch. Der binären Addition ohne Übertrag entspricht auf dem Rechner die XOR-Operation:
Verschlüsselung:
Klartext XOR | 01001101 | 01101111 | 01110010 | 01100100 |
Schlüssel = | 10100100 | 01110011 | 11011111 | 00011100 |
Geheimtext | 11101001 | 00011100 | 10101101 | 01111000 |
Also ergeben ein Klartextbit und ein identisches Schlüsselbit die 0 als Geheimbit, zwei unterschiedliche Bits ergeben die 1.
Diese bitweise Methode hat den Vorteil, dass die Entschlüsselung genau identisch mit der Verschlüsselung ist:
Entschlüsselung:
Geheimtext XOR | 11101001 | 00011100 | 10101101 | 01111000 |
Schlüssel = | 10100100 | 01110011 | 11011111 | 00011100 |
Klartext | 01001101 | 01101111 | 01110010 | 01100100 |