Privacy Policy Cookie Policy Terms and Conditions Cipher Block Chaining Mode - Wikipedia

Cipher Block Chaining Mode

aus Wikipedia, der freien Enzyklopädie

Cipher Block Chaining Mode (CBC) ist eine Betriebsart, in der Blockchiffrierungsalgorithmen arbeiten.

Vor dem Verschlüsseln eines Klartextblocks wird dieser erst mit dem im letzten Schritt erzeugten Geheimtextblock per XOR (exklusives Oder) verknüpft.

Die Verschlüsselung ist im CBC-Modus rekursiv definiert:

\begin{matrix}   & C_0 & = & IV & \\   \forall\left( i \in \mathbb{N}^+ \right):\left(\right. &  C_i & =  & E_K(P_i \oplus C_{i-1}) & \left.\right)    \end{matrix}

Die zugehörige Entschlüsselung ist im CBC-Modus hingegen nicht rekursiv:

\begin{matrix}   & C_0 & = & IV & &  \\   \forall\left( i \in \mathbb{N}^+ \right):\left(\right. & P_i & = & D_K(C_i) \oplus C_{i-1} &  & \left.\right) \\   \forall\left( i \in \mathbb{N}^+ \right):\left(\right. & C_i & = & E_K(P_i \oplus C_{i-1}) & = E_K(D_K(C_i) \oplus C_{i-1} \oplus C_{i-1}) & \left.\right)   \end{matrix}

Hierbei ist EK die Verschlüsslungsfunktion mit dem Schlüssel K, DK ist die zugehörige Entschlüsselungsfunktion. Pi bezeichnet den i. Klartextblock, Ci den i. Geheimtextblock, IV ist der Initialisierungsvektor. \oplus bezeichnet das logische XOR.

Als Initialisierungsvektor (IV) benutzt man

  • entweder einen Zeitstempel
  • oder eine zufällige Zahlenfolge.
  • Manche Anwendungen benutzen auch eine vorhersagbare, einfach aufsteigende Zahl, aber dies ist nicht sicher, weil fremde Personen unerwünscht einen Wasserzeichenangriff (watermark attack) auf solche Daten ausführen können.
  • Das Modul dm-crypt benutzt zur Generierung des IV das ESS Verfahren.

Wenn man diesen Initialisierungsvektor geheim überträgt, trägt es nicht zur Sicherheit des Algorithmus bei.

Der CBC-Mode hat einige wichtige Vorteile:

  • Klartextmuster werden zerstört.
  • Jeder Geheimtextblock hängt von allen vorherigen Klartextblöcken ab.
  • Identische Klartextblöcke ergeben unterschiedliche Geheimtexte.
  • Verschiedene Angriffe (Time-Memory-Tradeoff und Klartextangriffe) werden erschwert.

Obwohl ein Geheimtextblock von allen vorherigen Blöcken abhängt, verursacht ein beschädigter Geheimtextblock beim Entschlüsseln keinen allzugroßen Schaden, denn es werden nur der betroffene Klartextblock und der darauffolgende Klartextblock unlesbar. Dies ist unmittelbar aus der Definition der Entschlüsselung ersichtlich, da ein beschädigter Geheimtextblock Ci nur die Klartextblöcke Pi und Pi + 1 beeinflusst. Genauso verursacht ein beschädigter Initialisierungsvektor beim Entschlüsseln keinen allzugroßen Schaden, da dadurch nur der Klartextblock P1 beschädigt wird.

Dennoch ist der CBC-Modus viel sicherer als der ECB-Modus, vor allem wenn man keine zufälligen Texte hat. Unsere Sprache und andere Dateien, wie z. B. Video-Dateien, sind keinesfalls zufällig, weswegen der ECB-Mode im Gegensatz zum CBC-Mode Gefahren birgt.

[Bearbeiten] Integritätssicherung mit CBC

CBC kann auch zur Integritätssicherung benutzt werden, indem der letzte mit CBC verschlüsselte Block als MAC (dem sogenannten CBC-MAC oder CBC-Restwert) an die ursprüngliche unverschlüsselte Nachricht angehängt und diese samt diesem MAC versandt wird. Der Empfänger kann mit Hilfe des CBC-Algorithmus den CBC-MAC der empfangenen Nachricht berechnen und nun vergleichen, ob der gerade selbst berechnete Wert mit dem an der Nachricht angehängten übereinstimmt.


Siehe auch: Blockchiffre

[Bearbeiten] Weblinks

[Bearbeiten] Literaturhinweis

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -