Electronic Code Book Mode
# Electronic Code Book Mode

Electronic Code Book Mode (ECB Mode) ist eine Betriebsart (Modus, Mode) für Blockverschlüsselungen. Der Name des Modus rührt daher, dass in Zeiten vor der elektronischen Verschlüsselung Codebücher verwendet wurden, in denen der jeweilige Tagesschlüssel vereinbart wurde.
Ein Betriebsmodus erlaubt es, mit einem Blockverschlüsselungsalgorithmus wie beispielsweise Data Encryption Standard (Blocklänge 64 Bit) oder der Advanced Encryption Standard (Blocklänge 128 Bit) mehr als einen Block zu verschlüsseln.
ECB ist der einfachste Betriebsmodus, denn die Klartextblöcke werden unabhängig voneinander verschlüsselt. Dadurch ergeben, bei gleichem Schlüssel, gleiche Klartextblöcke immer den gleichen Geheimtextblock. Dies ist auch der große Nachteil dieses Verfahrens, denn dadurch bleiben Klartextmuster erhalten. In nachfolgenden Abbildungen ist die Struktur des ECB bei der Ver- und Entschlüsselung dargestellt:
Wenn man eine Pixelgrafik damit verschlüsselt, wird die Grafik in kleine Blöcke zerlegt. Bei AES ist die Blockgröße 128 Bit, und wenn jeder Pixel 32 Bit Farbinformation hat, enthält jeder Block 4 Pixel. Jeder dieser Blöcke wird unabhängig von den anderen Blöcken verschlüsselt, dadurch enthält das verschlüsselte Bild für jeden Block denselben verschlüsselten Block. Die folgenden Bilder veranschaulichen den Unterschied zwischen Bilddaten, die einmal im ECB-Modus und einmal in einem anderen Verschlüsselungsmodus mit Blockverkettung, wie zum Beispiel CBC-Modus, verschlüsselt wurden. Insbesondere für die einfarbigen Flächen ist das ursprüngliche Bild auch nach dem Verschlüsseln noch grob erkennbar:
| Original | Verschlüsselt im ECB-Modus | Verschlüsselt in einem verketteten Modus |
Durch die fehlende Blockverkettung bleiben einheitliche und großflächige Bereiche, welche sich über mehrere Blöcke erstrecken, im Chiffrat immer noch erkennbar. Damit bietet er eine einfache Angriffsfläche für statistische Analysen. Zu den grundsätzlichen Problemen gehört, dass der ECB-Modus die Häufigkeit von Blöcken im unverschlüsselten Text durch die fehlende Blockverkettung nicht ausreichend verwischt.
Diese negativen Effekte des ECB-Modus sind unabhängig von der konkreten Blockverschlüsselung – auch eine an sich als „sicher“ geltende Blockverschlüsselung kann durch Einsatz im Betriebsmodus ECB in einer konkreten Anwendung „unsicher“ werden. Die Implementierung und Anwendung des unsicheren ECB-Modus erfolgt von Entwicklern meist aus Unkenntnis der Zusammenhänge und eröffnet so Sicherheitsschwachstellen, welche leicht vermeidbar wären. Generell sollte ein Blockchiffre nie im ECB-Modus betrieben werden, wenn mehr als ein Block verschlüsselt werden soll.
Ein Vorteil von ECB besteht darin, dass auf einzelne verschlüsselte Elemente direkt zugegriffen werden kann, ohne andere verschlüsselte Teile berücksichtigen zu müssen. Dementsprechend kann auch das Verschlüsseln mehrerer Blöcke problemlos parallelisiert erfolgen, weil bei der Verschlüsselung eines Blocks nicht auf das Ergebnis des Vorherigen gewartet werden muss.