Zum Inhalt springen

„Electronic Code Book Mode“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
"Siehe auch" entfernt, weil wegen der Navigationsleiste nicht mehr nötig
Linkvorschlag-Funktion: 1 Link hinzugefügt.
 
(30 dazwischenliegende Versionen von 19 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Electronic Code Book Mode''' ('''ECB Mode''') ist eine unsichere Betriebsart (Modus, ''Mode'') für [[Blockverschlüsselung]]en. Der Betriebsmodus wie ECB ist unabhängig vom verwendeten Blockverschlüsselungsalgorithmus. Eine konkreter Blockverschlüsselungsalgorithmus wäre in diesem Zusammengang beispielsweise der [[Advanced Encryption Standard]] (AES).
'''Electronic Code Book Mode''' ('''ECB Mode''') ist eine [[Betriebsmodus (Kryptographie)|Betriebsart]] (Modus, ''Mode'') für [[Blockverschlüsselung]]en. Der Name des Modus rührt daher, dass in Zeiten vor der elektronischen Verschlüsselung [[Codebuch|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 und zugleich unsicherste Modus, denn dabei werden die [[Klartext (Kryptographie)|Klartext]]blöcke nacheinander und unabhängig voneinander in den Geheimtextblock überführt. Dies birgt große Gefahren, denn dadurch werden Klartextmuster nicht verwischt. Gleiche Klartextblöcke ergeben bei gleichem Schlüssel auch immer den gleichen Geheimtextblock, wodurch man bei hinreichend vielen Geheimtextblöcken und partiellen Annahmen über den Klartext Rückschlüsse auf den geheimen Schlüssel ziehen kann. In nachfolgenden Abbildungen ist die Struktur von ECB bei der Ver- und Entschlüsselung dargestellt:


ECB ist der einfachste Betriebsmodus, denn die [[Klartext (Kryptographie)|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:
{| border="0" cellspacing="0" cellpadding="4" align="center"
|- align="center" |
|[[Datei:Ecb encryption.png|thumb|upright=2|Verschlüsselung im ECB-Modus]]
|[[Datei:Ecb decryption.png|thumb|upright=2|Entschlüsselung im ECB-Modus]]
|-
|}


<div style="float:left;">[[Datei:ECB encryption.svg|mini|600px|Verschlüsselung im ECB-Modus]]</div>
Der Name des Modus rührt daher, dass [[Codebuch|Codebücher]] über die Zuordnung von Chiffretexten und Klartexten erstellt werden können.
<div style="float:left;">[[Datei:ECB decryption.svg|mini|600px|Entschlüsselung im ECB-Modus]]</div>
<div style="clear:left;"></div>


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 [[Cipher Block Chaining|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:
Wenn man eine Grafik damit verschlüsselt, die nur aus einigen schwarzen Linien besteht, und dabei 0 (Bit) für Weiß und 1 (Bit) für Schwarz steht, wird man sehr viele Blöcke finden, die nur aus 0 bestehen. Alle Geheimtextblöcke die dann anders sind, enthalten min. eine 1 (Bit). Dadurch könnte man die Zeichnung bis auf ein paar Millimeter Abweichung rekonstruieren, ohne den Schlüssel zu kennen.


{| style="text-align:center" cellspacing="0" cellpadding="4"
Anschaulich kann man es mit der folgenden Grafik verdeutlichen, die einmal unverschlüsselt, im ECB-Modus verschlüsselt und einmal in einem anderen Verschlüsselungsmodus mit Blockverkettung, wie zum Beispiel [[Cipher_Block_Chaining|CBC]]-Modus, verschlüsselt wurde:
|-

| [[Datei:Tux.svg|202px]]
{| border="0" cellspacing="0" cellpadding="4" align="center"
| [[Datei:Tux ECB.png]]
|- align="center" |
| [[Image:Tux.jpg]]
| [[Datei:Tux secure.png]]
|-
| [[Image:Tux_ecb.jpg]]
| [[Image:Tux_secure.jpg]]
|- align="center" |
| ''Original''
| ''Original''
| ''Verschlüsselt im ECB-Modus''
| ''Verschlüsselt im ECB-Modus''
| ''Verschlüsselt in einem verketteten 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 [[Geheimtext|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.


Durch die fehlende Blockverkettung bleiben einheitliche und großflächige Bereiche, welche sich über mehrere Blöcke erstrecken, im [[Geheimtext|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 ansich als „sicher“ geltende Blockverschlüsselung wie der ''Advanced Encryption Standard'' kann durch Einsatz im Betriebsmodus ECB in einer konkreten Anwendung „unsicher“ werden. Generell sollte ein Blockchiffre immer in einem Modus mit Verkettung betrieben werden und der ECB-Modus die Ausnahme sein.


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.
Einziger Vorteil von ECB besteht dann, wenn auf einzelne verschlüsselte Elemente zugegriffen werden muss, ohne andere verschlüsselte Teile berücksichtigen zu können. Dieser Vorteil kann aber durch entsprechende Wahl von Datenstrukturen, wie entsprechenden Kopfdaten und der Wahl von dem deutlich sichereren [[Cipher Block Chaining Mode|CBC-Modus]] in vielen Anwendungen mit deutlichen Sicherheitsgewinn kompensiert 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.
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.


== Literatur ==
== Literatur ==
* [[Bruce Schneier]]: ''Angewandte Kryptographie. Protokolle, Algorithmen und Sourcecode in C. (Der Klassiker).'' Pearson Studium, München u.&nbsp;a. 2006, ISBN 3-8273-7228-3.
* {{Literatur
|Autor = Bruce Schneier
|Titel = Angewandte Kryptographie
|Verlag = Pearson Studium | Jahr = 2005 | ISBN = 978-382737228-4 }}


{{Vorlage:Navigationsleiste Verschlüsselungs-Betriebsarten}}
{{Navigationsleiste Blockchiffremodi}}


[[Kategorie:Kryptologisches Verfahren]]
[[Kategorie:Symmetrisches Kryptosystem]]


[[en:Block cipher modes of operation#Electronic codebook (ECB)]]
[[en:Block cipher modes of operation#Electronic codebook (ECB)]]
[[es:Modos de operación de una unidad de cifrado por bloques]]
[[fr:Mode d'opération (cryptographie)]]
[[it:Modalità di funzionamento dei cifrari a blocchi]]
[[ja:暗号利用モード]]
[[pl:CBC]]
[[pt:Modo de operação (criptografia)]]
[[ru:Режим шифрования]]
[[sv:CBC]]

Aktuelle Version vom 20. Oktober 2024, 04:20 Uhr

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:

Verschlüsselung im ECB-Modus
Entschlüsselung im ECB-Modus

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.

  • Bruce Schneier: Angewandte Kryptographie. Protokolle, Algorithmen und Sourcecode in C. (Der Klassiker). Pearson Studium, München u. a. 2006, ISBN 3-8273-7228-3.