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.
Zweck
Beseitigt die identischen Blockmuster von ECB und bietet Vertraulichkeit, benötigt aber ein zusätzliches MAC für Integrität.
Mechanismus
Verschlüsselung: C_i = E_K(P_i ⊕ C_{i-1}), mit C_0 = IV. Entschlüsselung: P_i = D_K(C_i) ⊕ C_{i-1}. Der IV muss unvorhersehbar (zufällig) sein. Fehlerfortpflanzung betrifft nur den aktuellen und den nächsten Block. Unauthentifiziert, muss mit einem HMAC kombiniert werden (Encrypt-then-MAC).
Anwendungsfälle
- Dateiverschlüsselung (z. B. OpenSSL-Standards)
- Verschlüsselung von Datenbankfeldern
- IPsec ESP (historisch)
- Festplattenverschlüsselung (teilweise)
Beispiele
- Eingabe
IV + P1 P2 P3OutputC1 C2 C3Each block depends on the previous one
Häufige Fehler
- A predictable IV enables chosen-plaintext attacks
- Use a random IV and transmit it with the ciphertext
- Lack of authentication invites padding attacks (e.g., POODLE)
- Use an AEAD mode or Encrypt-then-MAC
Verwandte Begriffe
ECB (Electronic Codebook)
Der ECB-Modus verschlüsselt jeden Block unabhängig, sodass identische Klartextblöcke identische Geheimtextblöcke erzeugen; er ist unsicher und nur für Einzelblock- oder Zufallsdaten geeignet. 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
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
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