Skip to content

Verfahren der Kryptographie, Teil 5: Betriebsarten für Blockchiffren

DES verschlüsselt 64 Bit lange Klartextblöcke. Da die zu verschlüsselnden Daten i.d.R. deutlich länger sind und nicht zwingend Blockweise vorliegen, wurden verschiedene Betriebsarten für Blockchiffren wie DES entwickelt und teilweise genormt.

Elektronisches Codebuch (ECB)

Die einfachste Betriebsart einer Blockchiffre besteht darin, die zu verschlüsselnde Nachricht in Blöcke passender Größe aufzuspalten und diese unabhängig voneinander zu ver- und entschlüsseln, siehe Abbildung 1. Dieses Verfahren wird als Elektronisches Codebuch (electronic codebook, ECB) bezeichnet.

Elektronisches Codebuch (ECB)
Abb. 1: Elektronisches Codebuch (ECB) (Klick für großes Bild)

Ein Fehler bzw. eine Manipulation eines Schlüsseltextblocks betrifft immer nur den zugehörigen Klartextblock.

Der Nachteil dieser Betriebsart ist, dass bei deterministischen Blockchiffren gleiche Klartextblöcke zu gleichen Schlüsseltextblöcken führen, was die Kryptanalyse erleichtert.

Blockchiffre mit Blockverkettung (CBC)

Bei einer Blockchiffre mit Blockverkettung (cipher-block chaining, CBC) wird vor dem Verschlüsseln jedes außer des ersten Blocks der Schlüsseltext des vorhergehenden Blocks zum Klartext modular addiert und beim Entschlüsseln entsprechend subtrahiert, siehe Abbildung 2.

Blockchiffre mit Blockverkettung (CBC)
Abb. 2: Blockchiffre mit Blockverkettung (cipher-block chaining, CBC) (Klick für großes Bild)

Ein Fehler bzw. eine Manipulation eines Schlüsseltextblocks betrifft nur den zugehörigen Klartextblock und seinen Nachfolger (aufgrund der Speicherung und erneuten Verwendung des betroffenen Schlüsseltextblocks). Danach hat sich die Entschlüsselung durch ihre geringe Speichertiefe wieder mit der Verschlüsselung synchronisiert und die folgenden Blöcke werden korrekt entschlüsselt.

Ein Angreifer kann erkennen, ob zwei Klartexte mit den gleichen Blöcken beginnen, da dann auch die Schlüsseltexte gleich beginnen. Um dies zu verhindern, kann der Zwischenspeicher mit einem zufälligen Wert initialisiert werden. Dieser muss dann ebenso wie der Schlüssel beim Entschlüsseln bekannt sein.

Schlüsseltextrückführung (CFB)

Bei der Schlüsseltextrückführung (cipher feedback, CFB) wird statt des Klartexts der Inhalt eines Schieberegisters mit der Blockchiffre verschlüsselt und ein Teil des Ergebnisses beim Verschlüsseln modular zum Klartext addiert bzw. beim Entschlüsseln subtrahiert, siehe Abbildung 3. Das Verfahren wird Schlüsseltextrückführung genannt, da der Schlüsseltext in die Schieberegister geschoben, also rückgeführt wird.

Der Initialisierungswert des Schieberegisters muss ebenso wie der Schlüssel bei der Entschlüsselung bekannt sein.

Schlüsseltextrückführung (CFB)
Abb. 3: Schlüsseltextrückführung (cipher feedback, CFB) (Klick für großes Bild)

Das Bild zeigt den allgemeinen Fall, bei dem der Schlüsseltext nicht direkt in das Schieberegister übernommen, sondern zuvor durch eine Auswahleinheit angepasst wird.

Ein Fehler bzw. eine Manipulation des Schlüsseltextstroms wirkt sich so lange auf den entschlüsselten Klartext aus, bis alle falschen Schlüsseltextzeichen das Schieberegister passiert haben.

Ergebnisrückführung (OFB)

Bei der Ergebnisrückführung (output feedback, OFB) wird im Gegensatz zur Schlüsseltextrückführung nicht der Schlüsseltext, sondern das Ergebnis (output) der Blockverschlüsselung in das Schieberegister rückgeführt, siehe Abbildung 4.

Ergebnisrückführung (OFB)
Abb. 4: Ergebnisrückführung (output feedback, OFB) (Klick für großes Bild)

Das Bild zeigt wieder den allgemeinen Fall, bei dem das Ergebnis der Blockverschlüsselung nicht direkt in das Schieberegister übernommen, sondern zuvor durch eine Auswahleinheit angepasst wird.

Ein Fehler bzw. eine Manipulation des Schlüsseltextstroms betrifft immer nur die jeweils zugehörigen Klartextzeichen. Es ergibt sich also keine Fehlererweiterung.

Counter-Mode (CTR)

Der Counter-Mode (CTR) weist im Vergleich zu den anderen Betriebsarten eine Besonderheit auf: Der Initialisierungsvektor wird aus einer für jede Verschlüsselung neu zu wählenden Zufallszahl (Nonce), die mit einem mit jedem weiteren Block hochgezählten Zähler verknüpft wird, gebildet. Die Verknüpfung kann zum Beispiel durch einfaches Anhängen des Zählers (Konkatenation), Addition oder XOR-Verknüpfung erfolgen.

Bei der Verschlüsselung wird zunächst der aus Nonce und Zähler gebildete Initialisierungsvektor ctri mit dem Schlüssel S verschlüsselt: Verschlüsselung(S, ctri). Danach wird dieser "Zwischenschlüssel" über XOR mit dem Klartext verknüpft, um den Schlüsseltext zu erhalten:

Schlüsseltextblocki = Klartextblocki ⊕ Verschlüsselung(S, ctri)

Die Entschlüsselung erfolgt analog: Zuerst wird der gleiche Initialisierungsvektor wie bei der Verschlüsselung ctri mit dem Schlüssel S verschlüsselt: Verschlüsselung(S, ctri). Danach wird dieser "Zwischenschlüssel" über XOR mit dem Schlüsseltext verknüpft, um den Klartext zu erhalten:

Klartextblocki = Schlüsseltextblocki ⊕ fVerschlüsselung(S, ctri)

Für den Ablauf der Ver- und Entschlüsselung siehe Abbildung 5.

Counter-Mode (CTR)
Abb. 5: Counter-Mode (CTR) (Klick für großes Bild)

Ein Fehler bzw. eine Manipulation des Schlüsseltextstroms wirkt sich nur auf die entsprechenden Bits des Klartextstroms aus. Die Vorteile des CTR-Mode ist der wahlfreie Zugriff auf jeden verschlüsselten Block und die Möglichkeit, sämtliche Ver- und Entschlüsselungsoperationen parallel durchzuführen.

Der Einsatz der Betriebsarten

Aus jeder symmetrischen oder asymmetrischen deterministischen Blockchiffre kann mit ECB, CBC und CFB eine selbstsynchronisierende und mit OFB oder CTR eine synchrone Stromchiffre konstruiert werden.

Die Betriebsarten ECB, CBC, CFB und OFB wurden u.a. in FIPS PUB 81 und ISO/IEC 10116 genormt. In der NIST Special Publication 800-38A, "Recommendations for Block Cipher Modes of Operation, Methods and Techniques" (PDF) werden sie für alle von FIPS zugelassenen Blockchiffren erneut spezifiziert und um den Counter-Mode (CTR) erweitert.

Eine Erweiterung des Counter-Mode ist der Galois/Counter Mode, bei dem zur Verschlüsselung die Authentifikation der Daten hinzu kommt.

Ab der nächsten Folge wird der Nachfolger des DES-Verfahrens, der Advanced Encryption Standard AES, vorgestellt.

Carsten Eilers

Trackbacks

Dipl.-Inform. Carsten Eilers am : Kryptographie - Ein Überblick

Vorschau anzeigen
Die Kryptographie ist ein ein sehr umfangreiches Themengebiet, und obwohl ich mich jetzt seit 30 Artikeln damit befasst habe sind längst nicht alle Themen vorgestellt worden. Aber zumindest die wichtigsten habe ich beschrieben, und damit soll e

Dipl.-Inform. Carsten Eilers am : Drucksache: Windows Developer 1.18 - Sicherheit von Kryptoverfahren

Vorschau anzeigen
Im Windows Developer 1.18 ist ein Überblick über den aktuellen Stand der Sicherheit in der Kryptographie erschienen: Welche Kryptoverfahren und Schlüssellängen sollte man verwenden, welche sollte man meiden? Im Windows De

entwickler.de am : PingBack

Die Anzeige des Inhaltes dieses Trackbacks ist leider nicht möglich.