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.
Zweck
Er verhindert das Leaken von Mustern identischer Klartexte und bietet semantische Sicherheit.
Mechanismus
Die IV-Länge entspricht meist der Blockgröße (z. B. 128 Bit bei AES). CBC verlangt einen unvorhersagbaren (zufälligen) IV; CTR/GCM verlangen Eindeutigkeit (ein Zähler genügt). Der IV muss nicht geheim sein und wird mit dem Chiffrat übertragen. In GCM heißt der IV oft Nonce.
Anwendungsfälle
- Zufällige IVs für AES-CBC
- Eindeutige Nonces für AES-GCM
- IV-Speicherung bei Festplattenverschlüsselung
- Chiffrat-Identifikation und Deduplizierung
Beispiele
- Eingabe
AES-CBC IV=random 128 bitsOutputdifferent result on every encryptionThe IV is transmitted with the ciphertext
Häufige Fehler
- A fixed or predictable IV enables chosen-plaintext attacks
- Use a random IV for CBC and a unique nonce for CTR/GCM
Verwandte Begriffe
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. GLOSSAR
CBC (Cipher Block Chaining)
Der CBC-Modus verknüpft den vorherigen Geheimtextblock per XOR mit dem aktuellen Klartext, bevor verschlüsselt wird, sodass identische Klartextblöcke unterschiedliche Geheimtexte ergeben; er erfordert einen zufälligen IV, bietet aber keine Integritätsauthentifizierung. 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
Mode of Operation
Ein Betriebsmodus ist ein Schema, das einem Blockchiffre die Verarbeitung beliebig langer Daten ermöglicht, indem es definiert, wie mehrere Klartextblöcke während der Verschlüsselung verkettet werden; gängige Modi sind ECB, CBC, CTR und GCM. GLOSSAR