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
Frage zur HÜ: CFB
Frage zur HÜ: CFB
Si hoc legere scis nimium eruditionis habes
Re: Frage zur HÜ: CFB
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)?
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)?
-
- Sonntagsinformatiker
- Beiträge: 236
- Registriert: 15. Apr 2004 17:57
Re: Frage zur HÜ: CFB
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.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)?
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
- Tigger
- Kernelcompilierer
- Beiträge: 404
- Registriert: 26. Okt 2007 17:35
- Wohnort: Hofheim
- Kontaktdaten:
Re: Frage zur HÜ: CFB
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?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.
Gruß Tigger
Re: Frage zur HÜ: CFB
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 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.
-
- Sonntagsinformatiker
- Beiträge: 236
- Registriert: 15. Apr 2004 17:57
Re: Frage zur HÜ: CFB
r darf alle Werte kleiner gleich n und größer als 0 annehmen.hättest du auch das Problem, dass dein r nur bestimmte Werte annehmen darf (ganzzahlige Teiler der Blockgröße).
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