В чем преимущество уникального вектора инициализации? - PullRequest
2 голосов
/ 02 ноября 2011

Я использую шифрование AES с классом Rijndael для шифрования паролей, а затем сохраняю его в файле конфигурации.

Я знаю, что такое вектор инициализации. Я прочитал темы о SO (например, Должен ли я использовать вектор инициализации (IV) вместе с моим шифрованием? ) и статью о wikipedia .

Однако есть один момент, который я не понимаю: так как вам нужен тот же IV, используемый при дешифровании, что и тот, который использовался во время шифрования, вы вынуждены хранить IV с зашифрованным текстом. В чем же преимущество использования уникального IV для каждого шифрования? Если злоумышленник получит зашифрованный текст, он также получит IV.

1 Ответ

7 голосов
/ 02 ноября 2011

Предположим, у вас есть одно и то же сообщение в двух местах, оба зашифрованы одним и тем же ключом.

Злоумышленник узнает (каким-то образом), что является открытым текстом для одного из этих сообщений.Если вы использовали один и тот же IV в обоих случаях, злоумышленник также знает открытый текст другого сообщения, потому что зашифрованный текст будет таким же.Если вы использовали другой IV (а у злоумышленника нет ключа), содержимое второго сообщения все еще в безопасности.

...