Нужен ли уникальный iv, если ключи разные?
Я использую AES/CBC. И каждый раз создаю новый ключ. Насколько я знаю iv используется чтобы одинаковые строки зашифрованные при помощи одного ключа не были одинаковыми. Я каждый раз создаю новый ключ. Следует ли мне генерировать уникальные iv?
Ответы (1 шт):
Первичная цель IV (Initialization Vector) состоит в защите от атаки с выбираемым текстом Chosen Plaintext Attack, смысл в том, чтобы одинаковый текст каждый раз генерировал разный шифротекст - для чего и вводится случайный IV, который мутирует блоки сцепляя их друг с другом в разных комбинациях (в зависимости от моды).
Вам нужно конечно же каждый раз генерировать уникальные IV, причем на первый план выходит качество ГСЧ (генератора случайный чисел).
Генерация каждый раз ключа - занятие достаточно затратное (если делать правильно), поэтому обычно ключ генерируется 1 раз - дешевле таки генерировать IV