Frage zur HÜ: CFB

Benutzeravatar
Buchinho
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 209
Registriert: 21. Okt 2006 15:23

Frage zur HÜ: CFB

Beitrag von Buchinho »

In der Blockcipher Aufgabe ist beschrieben, dass es sich bei CBC um 7er Plaintext-Blöcke handelt, gilt das auch für die anderen Verfahren?
Falls es sich um 7er Blöcke handelt, welche 5 Bits des Plaintextes sollen verxort mit dem Ci-1 verxort werden?

Danke
Si hoc legere scis nimium eruditionis habes

ChRiZz88
Mausschubser
Mausschubser
Beiträge: 87
Registriert: 7. Nov 2007 18:09
Kontaktdaten:

Re: Frage zur HÜ: CFB

Beitrag von ChRiZz88 »

Ja, die gleiche Frage stelle ich mir grade auch. Aus der Aufgabe geht hervor, dass man die Nachricht erst in Dezimalzahlen, dann in 5-Bit Binärzahlen umwandelt (macht bei CBC-Mode bei 7 Buchstaben -> 35 0en und 1en), dann das ganze in 7er Blöcke teilt und die verschlüsselt.
Beim CFB-Mode aber hat die Nachricht 11 Buchstaben, das macht 55 0en und 1en und 55 ist nicht durch 7 teilbar :/ Wie soll das jetz mit den Blöcken laufen? oder setz ich einfach eine 0 vor den letzten Block (der aktuell 6 Zeichen hat)?

Sebastian Hartte
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 236
Registriert: 15. Apr 2004 17:57

Re: Frage zur HÜ: CFB

Beitrag von Sebastian Hartte »

ChRiZz88 hat geschrieben:Beim CFB-Mode aber hat die Nachricht 11 Buchstaben, das macht 55 0en und 1en und 55 ist nicht durch 7 teilbar :/ Wie soll das jetz mit den Blöcken laufen? oder setz ich einfach eine 0 vor den letzten Block (der aktuell 6 Zeichen hat)?
Die Idee bei CFB ist folgende: Die Verschlüsselungsfunktion wird benutzt um 7-Bit "XOR"-Material (Im O-Register) zu bekommen. Du benutzt nur die ersten r Bits dieses Materials für das Verschlüsseln einer Nachricht. Sollte noch etwas vom O-Register nach einem solchen Schritt übrig bleiben wird das einfach weggeworfen.
Dies funktioniert wunderbar mit den 5-bit Plaintextblöcken, da in der Aufgabenstellung stand man solle r=5 wählen. Die Feedbackschleife besteht dann daraus, dass der 5-Bit Ciphertext von rechts in das Zustandsregister I geschoben wird und durch Verschlüsseln von I dann ein neuer Inhalt für Register O erzeugt wird.

Wikipedia ist zu dem Thema im übrigen etwas verwirrend weil sie davon ausgehen dass r=n gilt, was nicht zwingend der Fall sein muss. (n=Blockgröße des Ciphers)

Ich empfehle das Schaubild aus "Einführung in die Kryptographie" zu dem Thema. Das findest du auch auf den TS Folien zu Symmetrische Kryptographie auf Folie 35. Achte hierbei vor allen Dingen auf die Beschriftung der Kanten, da man daran erkennt wie viele Bits jetzt wohin fließen.

Ich hoffe dass dir das weiterhilft.

Gruß,
Sebastian

Benutzeravatar
Tigger
Kernelcompilierer
Kernelcompilierer
Beiträge: 404
Registriert: 26. Okt 2007 17:35
Wohnort: Hofheim
Kontaktdaten:

Re: Frage zur HÜ: CFB

Beitrag von Tigger »

Sebastian Hartte hat geschrieben: Die Feedbackschleife besteht dann daraus, dass der 5-Bit Ciphertext von rechts in das Zustandsregister I geschoben wird und durch Verschlüsseln von I dann ein neuer Inhalt für Register O erzeugt wird.
Bedeutet dass, das die 2 letzten Bits in dem Register beim schiften dann nach vorne verschoben werden? Das ging aus den Folien leider nicht ganz hervor. Im Buch von Frau Eckert wird hier auch nur von "ersetzen" gesprochen. Übrigends ist auf den Folien glaub ich ein kleiner Fehler In Foliensatz 3, Seite 35 wird gesagt, dass die Verschlüsselung des CFB vorberechnet werden kann. Das gilt doch aber eigentlich für OFB, oder täusche ich mich da?

Gruß Tigger

Steven
Kernelcompilierer
Kernelcompilierer
Beiträge: 425
Registriert: 2. Sep 2008 10:00
Wohnort: Frankfurt am Main

Re: Frage zur HÜ: CFB

Beitrag von Steven »

Bzgl. der Vorberechnung stimme ich Tigger zu, darüber habe ich mich auch schon gewundert.

@Sebastian Harrte: Das habe ich anders gemacht. Ich habe mit der Verschlüsselungsfunktion 7-Bit Blöcke erzeugt und diese komplett auf den Klartext geXORt. Meines Erachtens bezieht sich der Parameter r=5 nur auf die Anzahl Shifts des I-Vektors, also wird dieser pro Schritt um 5 Bits nach links geshiftet und es kommen entsprechend 5 Bits aus dem letzten Chiffrat nach. Die fehlenden Bits beim Verschlüsseln des letzten Blocks werden mit Nullen aufgefüllt. Ansonsten hättest du auch das Problem, dass dein r nur bestimmte Werte annehmen darf (ganzzahlige Teiler der Blockgröße).
Wäre aber gut, wenn es hierzu noch eine offizielle Aussage gäbe.

Sebastian Hartte
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 236
Registriert: 15. Apr 2004 17:57

Re: Frage zur HÜ: CFB

Beitrag von Sebastian Hartte »

hättest du auch das Problem, dass dein r nur bestimmte Werte annehmen darf (ganzzahlige Teiler der Blockgröße).
r darf alle Werte kleiner gleich n und größer als 0 annehmen.

Ich verweise mal auf ein Dokument vom NIST: http://csrc.nist.gov/publications/nistp ... 00-38a.pdf
Da werden die Modi nochmal genauer beschrieben. Auf Seite 11 findest du unten eine genaue Definition des CFB. (Achtung: Dort heißt es s statt r und b statt n)

Dort steht:
\(C_j= P_j \oplus MSB_s(O_j)\)

Da dort wie gesagt s = r gilt, sind die Cipher und Plaintextblöcke jeweils von der Länge r.

gruß,
Sebastian

Antworten

Zurück zu „Archiv“