www.wikidata.de-de.nina.az
Cipher Block Chaining Mode CBC Mode ist eine Betriebsart in der Blockchiffren betrieben werden konnen Vor dem Verschlusseln eines Klartextblocks wird dieser zunachst mit dem im vorhergehenden Schritt erzeugten Geheimtextblock per XOR exklusives Oder verknupft Der Modus wurde 1976 von William F Ehrsam Carl H W Meyer John L Smith und Walter L Tuchman veroffentlicht 1 Inhaltsverzeichnis 1 Allgemeines 2 Beispiel 2 1 Verschlusselung 2 2 Entschlusselung 3 Integritatssicherung mit CBC CBC MAC 4 Literatur 5 EinzelnachweiseAllgemeines BearbeitenDie Struktur der Verschlusselung im CBC Modus ist in nachfolgender Abbildung dargestellt nbsp Man kann dieses Diagramm auch mathematisch in Formeln ausdrucken bezeichne dazu E K displaystyle E K nbsp die Verschlusselungsfunktion mit dem Schlussel K displaystyle K nbsp sei D K displaystyle D K nbsp die zugehorige Entschlusselungsfunktion Bezeichne P i displaystyle P i nbsp den i ten Klartextblock C i displaystyle C i nbsp den i ten Geheimtextblock und sei I V displaystyle IV nbsp der Initialisierungsvektor in der Regel wird C 0 I V displaystyle C 0 IV nbsp definiert Ausserdem bezeichne displaystyle oplus nbsp das logische XOR Dann ist die Verschlusselung im CBC Modus wie folgt rekursiv definiert i N C i E K P i C i 1 displaystyle forall i in mathbb N C i E K P i oplus C i 1 nbsp Die Struktur der Entschlusselung im CBC Modus ist in nachfolgender Abbildung dargestellt nbsp Die zugehorige Entschlusselung ist im CBC Modus hingegen nicht rekursiv und lautet mit den gleichen Bezeichnungen wie oben i N P i D K C i C i 1 displaystyle forall i in mathbb N P i D K C i oplus C i 1 nbsp Als Initialisierungsvektor IV benutzt man entweder einen Zeitstempel oder eine zufallige Zahlenfolge Manche Anwendungen benutzen auch eine vorhersagbare einfach aufsteigende Zahl aber dies ist nicht sicher weil fremde Personen unerwunscht einen Wasserzeichenangriff watermark attack auf solche Daten ausfuhren konnen Das Modul dm crypt benutzt zur Generierung des IV das ESS Verfahren Fur die Sicherheit des Algorithmus ist es nicht notwendig den Initialisierungsvektor geheim zu ubertragen Der CBC Mode hat einige wichtige Vorteile Klartextmuster werden zerstort Identische Klartextblocke ergeben unterschiedliche Geheimtexte Verschiedene Angriffe Time Memory Tradeoff und Klartextangriffe werden erschwert Eine Umsortierung von Chiffratblocken fuhrt zu fehlerhaften Klartextblocken Jedoch hat der CBC Mode auch einige Nachteile Die Verschlusselung ist nicht parallelisierbar da C i 1 displaystyle C i 1 nbsp bekannt sein muss aber sehr wohl die Entschlusselung Bitfehler im Chiffrat multiplizieren sich beim Entschlusseln im Klartext Das Chiffrat ist veranderbar und annahernd XOR homorph 2 Da ein Geheimtextblock nur von dem vorherigen Block abhangt verursacht ein beschadigter Geheimtextblock wie beispielsweise ein Bitfehler bei der Datenubertragung beim Entschlusseln keinen allzu grossen Schaden Der Klartextblock P i displaystyle P i nbsp wird zerstort und im Klartextblock P i 1 displaystyle P i 1 nbsp wird das respektive Bit negiert Dies ist unmittelbar aus der Definition der Entschlusselung und obiger Abbildung ersichtlich da ein beschadigter Geheimtextblock C i displaystyle C i nbsp nur die Klartextblocke P i displaystyle P i nbsp und P i 1 displaystyle P i 1 nbsp beeinflusst und sich nicht unbeschrankt weiter verbreitet Trotzdem kann diese beschrankte Vervielfachung nur eines einzigen Bitfehlers im Chiffrat bei CBC eine Vorwartsfehlerkorrektur des Klartextes erschweren bzw unmoglich machen Genauso verursacht ein beschadigter Initialisierungsvektor beim Entschlusseln keinen allzu grossen Schaden da dadurch nur der Klartextblock P 1 displaystyle P 1 nbsp beschadigt wird Der CBC Modus ist wesentlich sicherer als der ECB Modus vor allem wenn man keine zufalligen Texte hat Unsere Sprache und andere Dateien wie z B Video Dateien sind keinesfalls zufallig weswegen der ECB Mode gefahrlich ist Beispiel BearbeitenKlartext 01 10 Aufgeteilt in Blocke 01 B 1 displaystyle B 1 nbsp 10 B 2 displaystyle B 2 nbsp Schlussel 11 k Init Vektor IV 01Zur Vereinfachung wird als Verschlusselungsfunktion E displaystyle E nbsp die binare Addition und als Entschlusselungsfunktion D displaystyle D nbsp die binare Subtraktion verwendet Verschlusselung Bearbeiten Block 1 B 1 I V 01 01 00 C 1 displaystyle B 1 oplus IV 01 oplus 01 00 C 1 nbsp E k C 1 C 1 k 00 11 11 C 1 displaystyle E k C 1 C 1 k 00 11 11 C 1 nbsp Block 2 B 2 C 1 10 11 01 C 2 displaystyle B 2 oplus C 1 10 oplus 11 01 C 2 nbsp E k C 2 C 2 k 01 11 00 C 2 displaystyle E k C 2 C 2 k 01 11 00 C 2 nbsp Verschlusselter Text C 1 C 2 1100 displaystyle C 1 C 2 1100 nbsp Betrachtet man die Verschlusselung von B 2 displaystyle B 2 nbsp sieht man dass dazu C 1 displaystyle C 1 nbsp benotigt wird Generell bedeutet das dass fur eine Verschlusselung von B i displaystyle B i nbsp der Chiffratblock C i 1 displaystyle C i 1 nbsp benotigt wird Eine Parallelisierung des Verschlusselungsvorgangs fallt damit aus Entschlusselung Bearbeiten Block 1 D k C 1 C 1 k 11 11 00 C 1 displaystyle D k C 1 C 1 k 11 11 00 C 1 nbsp C 1 I V 00 01 01 B 1 displaystyle C 1 oplus IV 00 oplus 01 01 B 1 nbsp Block 2 D k C 2 C 2 k 00 11 01 C 2 displaystyle D k C 2 C 2 k 00 11 01 C 2 nbsp C 2 C 1 01 11 10 B 2 displaystyle C 2 oplus C1 01 oplus 11 10 B 2 nbsp Klartext B 1 B 2 0110 displaystyle B 1 B 2 0110 nbsp Betrachtet man die Entschlusselung von C 2 displaystyle C 2 nbsp sieht man dass B 1 displaystyle B 1 nbsp dafur nicht benotigt wird sondern lediglich C 1 displaystyle C 1 nbsp Generell bedeutet das dass fur eine Entschlusselung von C i displaystyle C i nbsp nur C i 1 displaystyle C i 1 nbsp benotigt wird Damit ist eine Parallelisierung des Entschlusselungsvorgangs moglich Integritatssicherung mit CBC CBC MAC Bearbeiten nbsp Struktur zur CBC MAC BerechnungCBC kann auch zur Integritatssicherung benutzt werden indem der Initialisierungsvektor auf null gesetzt und der letzte mit CBC verschlusselte Block als MAC dem sogenannten CBC MAC oder CBC Restwert an die ursprungliche unverschlusselte Nachricht angehangt und diese samt diesem MAC versandt wird 3 Der Empfanger kann mithilfe des CBC Algorithmus den CBC MAC der empfangenen Nachricht berechnen und nun vergleichen ob der gerade selbst berechnete Wert mit dem an der Nachricht angehangten ubereinstimmt Falls eine mit CBC verschlusselte Nachricht mit einem CBC MAC gesichert werden soll darf fur die Generierung des CBC MAC nicht derselbe Schlussel verwendet werden wie fur die Verschlusselung Wurde derselbe Schlussel verwendet so ware der MAC Block gleich dem letzten Chiffratblock und ein Angreifer konnte unentdeckt die gesamte Nachricht mit Ausnahme des letzten Blocks verandern CBC MAC ist nur fur Nachrichten fester Lange sicher Variiert die Nachrichtenlange kann das Verfahren durch Length Extension angegriffen werden Ein Angreifer kann aus zwei gultigen Nachricht MAC Paaren einen gultigen MAC fur eine neue Nachricht die Konkatenation der beiden Nachrichten erzeugen Zwei Modifikationen konnen diesen Angriff verhindern Jeder Nachricht kann die Nachrichtenlange vorangestellt werden oder der MAC Block wird zusatzlich mit einem zweiten Schlussel verschlusselt Literatur BearbeitenReinhard Wobst Abenteuer Kryptologie Methoden Risiken und Nutzen der Datenverschlusselung 2 uberarbeitete Auflage Addison Wesley Longman Bonn u a 1998 ISBN 3 8273 1413 5 Einzelnachweise Bearbeiten William F Ehrsam Carl H W Meyer John L Smith Walter L Tuchman Message verification and transmission error detection by block chaining US Patent 4074066 1976 Practical malleability attack against CBC Encrypted LUKS partitions Jakob Lell s Blog Abgerufen am 17 Februar 2022 amerikanisches Englisch Mihir Bellare Joe Kiliany Phillip Rogaway The Security of the Cipher Block Chaining Message Authentication Code In Journal of Computer and System Science Band 61 Nr 3 2000 S 362 399 cs ucdavis edu Memento vom 5 Februar 2012 im Internet Archive PDF 466 kB Betriebsmodi von Blockchiffren Ohne Authentifizierung ECB CBC CFB OFB CTR XTSMit Authentifizierung CCM GCM EAX Abgerufen von https de wikipedia org w index php title Cipher Block Chaining Mode amp oldid 232410158