Normalerweise bildet eine Blockchiffre bit Klartext auf die gleiche Anzahl verschlüsselter Bits ab (Electronic Codebook, ECB-Modus). Betriebsarten, wie im Folgenden beschrieben, verknüpfen die Eingangs- und Ausgangsvektoren durch Rückkopplungen mittels modularer Arithmetik. Auf diese Weise werden ganz spezielle Eigenschaften erzeugt und kryptoanalytische Nachteile der einen oder anderen Betriebsart umgangen. Eine genaue Auflistung der jeweiligen Eigenschaften geben z. B. [ISO06b], [Dwo01] sowie [MvV92, 7.2.2], historische Spezifikationen der Betriebsarten sind in [ANS98, NBS80] zu finden.
In der Betriebsart CBC wird jeder Plaintext-Block vor der Verschlüsselung mit dem letzten Ciphertext-Block kombiniert (vgl. auch Abbildung 1.4).
Dadurch ergibt sich eine Abhängigkeit über den gesamten zu verschlüsselnden Klartext, welche z. B. beim CBC-MAC ausgenutzt wird.
An Hand von Abbildung 1.5 (oder aus Formel 1.3) kann man das Entschlüsselungsverfahren leicht erklären. Jeder Block wird zuerst entschlüsselt, danach die Exklusiv-Oder (XOR) Operation mit Hilfe des “Vorgängers” rückgängig gemacht6 . Für den ersten Block wird als Startwert ein Initialisierungsvektor (IV) verwendet, der auch nicht unbedingt geheim sein muß.
Die Eigenschaften des CBC-Modus bezüglich der Fehlerfortpflanzung lassen sich entweder aus Abbildung 1.5 oder aber Formel 1.3 ableiten:
Im Gegensatz zum CBC-Modus (siehe Abschnitt 1.2.1) geht der Klartext bei dieser Betriebsart weder direkt noch indirekt über den Verschlüsselungsalgorithmus .
Aus diesem Grund wird die inverse Operation zwar nicht benötigt, die Eigenschaften der CFB-Betriebsart sind aber trotzdem vergleichbar zum CBC:
Die ersten beiden Punkte lassen sich aus den Blockbildern 1.6 und 1.7 erkennen oder über Formel 1.4 verifizieren.
Wegen der Rückführung des Ciphertextes wirkt sich ein Empfangsfehler im Block nur auf den aktuellen Klartext und den darauffolgenden Block aus. In ist kein Einfluß von gegeben, weshalb (wie im CBC-Modus) ein Fehlerburst von Bits durch diese Art der Rückführung zu fehlerhaften Bits verbreitert wird.
Blockbreitenreduktion (Fall ) Die Betriebsart CFB ist auch für Nachrichtenblöcke geeignet, deren Anzahl von Bits kleiner als die Blockbreite des Algorithmus ist. Man benutzt in diesem Fall einfach nur die ersten Output-Bits des Algorithmus, muß jedoch im Eingangsvektor die restlichen Bits auf einen konstanten Wert setzen (in [ISO06b] auf “1”, vgl. Abbildung 1.8).
Pipelining (Fall ) Bei Einsatz eines Feedback (FB) Registers im Rückkopplungszweig wird es möglich den Kryptoalgorithmus zu parallelisieren10 . Man geht dazu wie in Abbildung 1.9 skizziert vor.
Die damit einhergehende Verzögerung verschleppt allerdings auch die Auswirkung von Bitfehlern, was oftmals unerwünscht ist. Denn, sollte ein empfangener Cipherblock fehlerhaft sein, so wirkt sich dies auf den aktuellen und den -ten darauffolgenden Block aus (wenn mit die Tiefe des FB bezeichnet wird).
Auch in der Betriebsart OFB ist man prinzipiell in der Lage Blockbreiten zu verarbeiten, verliert aber die Eigenschaft der Selbstsynchronisation. Das Prinzip dieser Betriebsart besteht darin, daß sowohl auf Sende- als auch Empfangsseite der gleiche (Pseudozufalls-) Strom erzeugt und dann direkt zum Ver- bzw. Entschlüsseln verwendet wird (siehe XOR-Operation in Abbildung 1.10).
Vorteilhaft ist, daß Bitfehler in einem Cipherblock ohne jegliche Streuwirkung transparent auf den Klartext abgebildet werden – die Fehlerfortpflanzung demzufolge sehr begrenzt ausfällt11 . Gehen jedoch ganze Blöcke verloren, so ist die Synchronisation bleibend gestört und der gesamte Klartext ab diesem Zeitpunkt dauerhaft fehlerhaft12 . Zur Resynchronisation ist es deshalb unbedingt notwendig, daß von Zeit zu Zeit (je nach Anforderung) ein neuer Initialisierungsvektor in Richtung Empfänger übertragen wird.
Die CTR-Betriebsart13 arbeitet ähnlich wie der OFB-Modus, nur daß der “Pseudozufall” aus einer einem Zähler mit sehr großer (praktisch nicht erreichbarer) Periode stammt [LRW00]. Das Beispiel in Abbildung 1.11, welches für ATM gilt (vgl. [AF99, Annex 6.4.4]), soll das Prinzip verdeutlichen.
Entscheidend ist, daß der Counter für jeden zu ver- oder entschlüsselnden Block einen anderen Wert (Zustandsvektor) liefert. Er besteht in diesem Fall aus:
Bezüglich der Synchronisation und Fehlerfortpflanzung gelten dieselben Aussagen wie für die Betriebsart OFB. Vorteilhaft ist der CTR-Modus insbesondere für Hochgeschwindigkeitsanwendungen, denn:
Will man (in Verbindung mit hohen Datenraten) die Eigenschaft der Selbstsynchronisation mit einer geringen Fehlerfortpflanzung kombinieren, so bietet sich eine Mischung von OFB und CFB als Betriebsarten an. Dazu muß man nur die Rückkopplungen beider Betriebsarten (umschaltbar) miteinander vereinen, was in Abbildung 1.12 durch einen Multiplexer (MUX) realisiert wird.
Algorithmus beschreibt den Entschlüsselungsvorgang, wobei statistische Selbstsynchronisation (siehe z. B. [Rul97] für Details) eine Möglichkeit darstellt um den Zeitpunkt der Umschaltung von einer Betriebsart in die andere zu bestimmen.