Thread [Crypt-CTR] AES mit CTR oder doch nicht?
(18 answers)
Opened by thecoder2012 at 2013-02-04 06:57
In der Tat verwandelt man durch den Zählermodus eine Blockchiffre in eine Stromchiffre. Allerdings gibt es keinen zwingenden Grund warum irgendeine Verschlüsselungsfunktion einen Initialisierungsvektor haben muss.
Der Initialisierungsvektor ist lediglich ein sinnvolles Designelement um die semantische Sicherheit einer Verschlüsselung auch dann zu gewährleisten, wenn sie mehrfach mit demselben Schlüssel verwendet wird. Insbesondere bei Blockchiffren ist dieses Feature geradezu notwendig, weil man sehr selten nur einen einzelnen Block verschlüsseln und dann gleich den Schlüssel wechseln möchte. Stromchiffren hingegen müssen ohnehin so gestaltet sein, dass sie auch ohne Initialisierungsvektor einen längeren Datenstrom sicher verschlüsseln können. Die übliche Konstruktion des Zählermodus erfordert ferner eine Blockchiffre mit Initialisierungsvektor, denn genau dort wird der Zähler eingespeist. Und die resultierende Stromchiffre kann einen Initialisierungsvektor für die Initialisierung des Zählers verwenden. When C++ is your hammer, every problem looks like your thumb.
|