Nonce
Ein Nonce (number used once) ist ein beim Verschlüsseln nur einmal verwendeter Wert; ähnlich einem IV, aber mit Betonung der Eindeutigkeit statt des Zufalls, üblich bei Stromchiffren und AEAD.
Zweck
Stellt sicher, dass jede Verschlüsselung unter demselben Schlüssel einen anderen Schlüsselstrom erzeugt, und verhindert Two-Time-Pad-Angriffe.
Mechanismus
Ein Nonce muss innerhalb der Lebensdauer des Schlüssels eindeutig (nie wiederholt) sein. Er kann ein Zähler (deterministisch) oder ein Zufallswert sein. CTR/GCM/ChaCha20 erzeugen aus Nonces Schlüsselströme; der 96-Bit-Nonce ist in GCM am verbreitetsten. Nonce-Wiederverwendung verursacht katastrophale Sicherheitsfehler.
Anwendungsfälle
- AES-GCM-Nachrichtenverschlüsselung
- Verschlüsselung mit ChaCha20-Poly1305
- TLS-Datensatz-Sequenznummern
- WireGuard-Nonce-Zähler
Beispiele
- Eingabe
nonce=0,1,2... (counter)Outputa unique nonce per messageDeterministic and unique
Häufige Fehler
- Nonce reuse replays the keystream and breaks authentication
- Use a monotonic counter or a long enough random nonce
Verwandte Begriffe
IV (Initialization Vector)
Ein Initialisierungsvektor (IV) ist eine Eingabe, die Zufälligkeit in Blockchiffre-Modi einspeist, sodass derselbe Klartext bei jeder Verschlüsselung unterschiedliche Chiffre erzeugt. GLOSSAR
GCM (Galois/Counter Mode)
GCM ist ein AEAD-Modus, der CTR-Verschlüsselung mit GHASH-Authentisierung kombiniert und zugleich Vertraulichkeit und Integrität bietet; es ist der bevorzugte Modus von TLS 1.2/1.3. GLOSSAR
CTR (Counter Mode)
Der CTR-Modus macht eine Blockchiffre zur Stromchiffre: Er verschlüsselt einen hochzählenden Counter, um einen Keystream zu erzeugen, der mit dem Klartext XOR-verknüpft wird; er erlaubt Parallelität und Direktzugriff, bietet aber keine Integrität. GLOSSAR
ChaCha20
ChaCha20 ist eine von Daniel Bernstein entworfene Stromchiffre auf Basis von ARX-Operationen (Addieren-Rotieren-XOR) und wird meist mit Poly1305 als AEAD kombiniert — eine leistungsstarke Alternative zu AES-GCM. GLOSSAR