Zum Inhalt springen
uencoder

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 P3
    Output
    C1 C2 C3

    Each 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

Verwandte Tools

References