ECB und CBC Mode

mherrmann
Mausschubser
Mausschubser
Beiträge: 49
Registriert: 12. Nov 2005 10:10

ECB und CBC Mode

Beitrag von mherrmann »

Hallo zusammen!

Zu jeder ECB und CBC Verschlüsselung gehört ja eine Verschlüsselungsvorschrift, die sagt das i-te Bit wird an die j-te Stelle geschrieben.

Der Text der verschlüsselt werden soll wird in Blöcke der Länge n zerteilt und dann wird jeder Block einzeln verschlüsselt.

Nehmen wir als Beispiel den Block 1101 und folgende Verschlüsselungsvorschrift:

1. Bit -> 3. Bit
2. Bit -> 1. Bit
3. Bit -> 4. Bit
4. Bit -> 2. Bit

(Diese Angaben stammen vom 3. Übungsblatt Aufgabe 1)

Was ist denn nun mein 1., 2. .... Bit? Aus dem Buch Einführung in die Kryptographie S. 70 schließe ich, dass so gezählt wird:

1. Bit, 2. Bit, 3. Bit, 4. Bit

Wenn das so ist, dann würde das in dem konkreten Fall von oben ergeben:

1101 -> 1110

Das stimmt aber leider nicht mit der Lösung überein. Ich bekomme immer ein gespiegeltes Ergebnis. (In der Lösung steht 1101 -> 0111)

Wo ist mein Fehler?

Danke!

dahmen
Mausschubser
Mausschubser
Beiträge: 70
Registriert: 26. Apr 2006 18:54

Beitrag von dahmen »

Die Permutationschiffre permutiert die stellen in den Klartexten

c_1 = m_\sigma(1)

\sigma(1) = 3

c_1 = m_3 = 0

usw.

ED

marluwie
Mausschubser
Mausschubser
Beiträge: 99
Registriert: 18. Okt 2005 22:33

Beitrag von marluwie »

Ich habe eine Frage zum CBC:

Warum genau entsteht bei diesem Verfahren eine verzögerte Entschlüsselung (Buchmann 2/29)? Man braucht doch für den ersten Block nur IV und wenn der zweite Block kommt hat man den ersten bereits, kann dieses also auch schon entschlüsseln. Bezieht sich die Verzögerung darauf, dass man ganze Blöcke abwarten muss? Denn das muss man bei der ECB doch eigentlich aufgrund der Permutation auch.

Mit einem Buffer kann man sogar die bereits die Permutation durchführen und muss dann nur noch Lücken füllen.

Grüße, Marian!

Benutzeravatar
plane
Computerversteher
Computerversteher
Beiträge: 337
Registriert: 21. Okt 2005 00:18

Beitrag von plane »

Ich glaube das hängt daran, dass du ja die den aktuellen Block mit Hilfe eines vorherigen Blockes entschlüsseln musst. Also alle sind voneinander abhängig und warten immer auf den nächsten. Deswegen verzögert...da ganze ist natürlich auch ein Vorteil, wie Buchmann erklärt, da, wenn man die Reihenfolge ändert, die Entschlüsselung fehlschlägt.

Beim ECB kannst du alle Blöcke undabhängig voneinander entschlüsseln und die Reihenfolge spielt auch keine Rolle, also schneller.

marluwie
Mausschubser
Mausschubser
Beiträge: 99
Registriert: 18. Okt 2005 22:33

Beitrag von marluwie »

Salut!

Also ich hatte das eigentlich so verstanden, dass der Initialisierungsvektor beiden Seiten bekannt ist. Aber auf dem Diagramm sieht das jetzt mit ein bisschen Fantasie doch so aus, als ob der IV erst als c_0 versendet werden muss. Andererseits fände ich das sehr unklug. Weil der IV dann als Klartext verschickt werden würde. Denn es gibt ja kein c_(-1) xor IV. Somit wandert das IV nicht durch den Decrypt-Teil. Jeder, der das IV abfängt kann dann auch den folgenden Datenstrom abhören (und auch wieder vertauschen). Wäre das IV beiden Seiten bekannt (z.B. durch Diffie-Hellmann), könnte man da ohne Verzögerung und "sicher" senden.

Grüße, Marian!

dahmen
Mausschubser
Mausschubser
Beiträge: 70
Registriert: 26. Apr 2006 18:54

Beitrag von dahmen »

marluwie hat geschrieben:Ich habe eine Frage zum CBC:

Warum genau entsteht bei diesem Verfahren eine verzögerte Entschlüsselung (Buchmann 2/29)? Man braucht doch für den ersten Block nur IV und wenn der zweite Block kommt hat man den ersten bereits, kann dieses also auch schon entschlüsseln. Bezieht sich die Verzögerung darauf, dass man ganze Blöcke abwarten muss? Denn das muss man bei der ECB doch eigentlich aufgrund der Permutation auch.
Bei CBC und ECB braucht Du den ersten Schlüsseltextblock, damit Du entschlüsseln kannst. Die Verzögerung ist dann "Zeit für das Verschlüsseln des ersten Blockes" plus "Übertragungszeit."

Bei CFB und OFB brauchst Du nur den IV. Damit wird dann O_j auf beiden Steiten parallel berechnet und mit dem Klartext/Schlüsseltextblock geXORt. Die Verzögerung ist dann nur "Zeit für XOR (von Klartext und O_j)" plus "Übertragungszeit." XOR ist im allg. schneller als die Verschlüsselungsfunktion e_k.

marluwie hat geschrieben: Mit einem Buffer kann man sogar die bereits die Permutation durchführen und muss dann nur noch Lücken füllen.
Mag sein. Allerdings funktionieren die Modi mit einer beliebigen Chiffre. Es muss nicht die Permutationschiffre sein.

Antworten

Zurück zu „Archiv“