Можно ли использовать статическое значение IV в шифровании Rijndael для многих файлов? - PullRequest
3 голосов
/ 04 сентября 2011

У меня вопрос по поводу IV в шифрование Rijndael .

Мой текущий подход к использованию Rijndael состоит в том, чтобы использовать пару static Key и Iv для всех операций шифрования (я имею в виду, что я использую эту пару Key и Iv для всех защищенных файлов в моем компьютер).

Я слышал, что IV должно быть unique для каждого шифрования Rijndael. Это правда? В чем проблема (если есть) моего нынешнего подхода к использованию single static Key and Iv pair?

Ответы [ 2 ]

4 голосов
/ 04 сентября 2011

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

Это означает, что если вы повторно используете тот же IV, который может дать информацию злоумышленнику: если они знают содержимое одного сообщения и снова видят те же зашифрованные данные, они узнают, что это одно и то же сообщение.

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

2 голосов
/ 04 сентября 2011

Вектор инициализации инициализирует механизм AES до определенного состояния.Основная цель использования динамического IV заключается в том, что два последовательных шифрования одного и того же файла не приведут к одному и тому же зашифрованному значению.Чтобы расшифровать файл, вам также нужно инициализировать механизм AES с этим же IV.Как следствие, IV должен храниться вместе с вашим зашифрованным файлом.

Я не думаю, что вектор инициализации обеспечит дополнительную безопасность в вашем случае использования.Приятно иметь это, когда вы шифруете данные, которые могут подвергаться словарным атакам (пароли на проводе, номера карт, PIN-код).Для файлов это вряд ли возможно ..

...