В чем преимущество уникального вектора инициализации?
Я использую шифрование AES с классом Rijndael для шифрования паролей и затем сохраняю его в файле конфигурации.
Я знаю, что такое вектор инициализации. Я прочитал темы о SO (например, Должен ли я использовать вектор инициализации (IV) вместе с моим шифрованием?) И статью в Википедии.
Однако есть один момент, который я не понимаю: так как вам нужен тот же IV, используемый при дешифровании, что и тот, который использовался во время шифрования, вы вынуждены хранить IV с зашифрованным текстом. В чем же преимущество использования уникального IV для каждого шифрования? Если злоумышленник получит зашифрованный текст, он также получит IV.
1 ответ
Предположим, у вас есть одно и то же сообщение в двух местах, оба зашифрованы одним и тем же ключом.
Злоумышленник узнает (каким-то образом), что является открытым текстом для одного из этих сообщений. Если вы использовали один и тот же IV в обоих случаях, злоумышленник также знает открытый текст другого сообщения, потому что зашифрованный текст будет таким же. Если вы использовали другой IV (а у злоумышленника нет ключа), содержимое второго сообщения все еще в безопасности.