/ Kryptographie & Hashing

XOR Verschlüsselung

Bitweises XOR zwischen Daten und Schlüssel: Ergebnis = Daten XOR Schluessel. Die Operation ist selbst-invers — zweimaliges XOR mit demselben Schlüssel stellt den Klartext wieder her.

XOR Verschlüsselung
01 · Eingabe

XOR Verschlüsselung berechnen

Bitweises XOR zwischen Daten und Schlüssel: Ergebnis = Daten XOR Schluessel. Die Operation ist selbst-invers — zweimaliges XOR mit demselben Schlüssel stellt den Klartext wieder her.

Lösen für
Ergebnis = Daten XOR Schluessel

Worum geht es?

Die XOR-Operation verknüpft zwei Bits genau dann zu 1, wenn sie verschieden sind. Sie ist selbst-invers: zweimaliges XOR mit demselben Schlüssel stellt den Klartext wieder her.

XOR ist das Herzstück fast jeder symmetrischen Verschlüsselung: vom One-Time-Pad über Stromchiffren (ChaCha20, RC4) bis zur CTR-Verschleierung in Blockchiffren.

Die Formel

Formel XOR
Ergebnis = Daten XOR Schluessel

Umstellungen:
    Daten      = Ergebnis XOR Schluessel
    Schluessel = Ergebnis XOR Daten

Die Variablen

SymbolBedeutungEinheitErklärung
DatenDatenwertKlartext als Integer.
SchluesselSchlüsselwertSchlüssel als Integer.
ErgebnisErgebnisChiffretext bzw. XOR-Resultat.

Minimal-Beispiel

Daten = 0xA5 = 1010 0101, Schlüssel = 0x3C = 0011 1100:

Rechnung Byte
1010 0101
⊕ 0011 1100
= 1001 1001 = 0x99

Praxis-Beispiele

Beispiel 1 — Wiederherstellung

Rechnung Rückwärts
0x99 XOR 0x3C = 0xA5
→ Klartext wiederhergestellt.

Beispiel 2 — Schlüssel aus bekanntem Klartextpaar

Rechnung Known-Plaintext
Daten      = 0xA5
Ergebnis   = 0x99
Schluessel = 0xA5 XOR 0x99 = 0x3C

Beispiel 3 — Wiederverwendeter Schlüssel ist tödlich

Verschlüsselt man zwei Klartexte M₁, M₂ mit demselben Strom K, gilt:

Rechnung Two-Time-Pad
C₁ XOR C₂ = (M₁ XOR K) XOR (M₂ XOR K)
          = M₁ XOR M₂

Der Schlüsselstrom fällt heraus — Klartext-Strukturen werden direkt sichtbar.