3 Stimmen

Muss IV geändert werden, während mehrere Pakete im CFB-Modus verschlüsselt werden?

In der Erlang crypto Bibliothek gibt es keine aes_cfb_ivec Funktion. Bedeutet das, dass derselbe IVec für mehrere Runden verwendet werden sollte? Oder sollte die verschlüsselte Daten aus dem letzten Schritt, wie im Beispiel von "DES im CBC-Modus" am Ende der verlinkten Seite, verwendet werden?

2voto

Thomas Pornin Punkte 70790

Der IV DARF NICHT wiederverwendet werden. Andernfalls würden zwei Pakete, die mit denselben n Bytes beginnen, auch in verschlüsselte Streams mit denselben n Bytes enden. Dies ist ein schwerwiegendes Sicherheitsproblem.

Idealerweise sollte der IV zufällig und gleichmäßig (mit einem kryptographisch starken Generator) ausgewählt werden. Mit CFB können Sie jedoch den letzten verschlüsselten Block des vorherigen Pakets als IV verwenden. Wenn Sie sich das Diagramm im Wikipedia-Artikel ansehen, werden Sie feststellen, dass die Verwendung des letzten Paketblocks als IV für das nächste Äquivalent dazu ist, beide Pakete als zwei Hälften einer großen Nachricht zu betrachten, die in einem Durchlauf verschlüsselt werden (in dieser Hinsicht ist dies äquivalent zur CBC-Verschlüsselung).

(Um es klar zu sagen, ich spreche von CFB-m, wo m die Blockgröße des Algorithmus ist. Bei CFB-x rufen Sie den Blockcipher einmal für jede x Bits des Eingangs auf; CFB-128 für einen 128-Bit-Blockcipher wie AES ist am effizientesten und daher am häufigsten verwendet.)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X