У меня есть вопрос относительно того, как вектор инициализации работает над криптографией.
Инициализация вектора в криптографии
У меня есть немного знаний о создании IV и мой вопрос будет таким,
Я знаю о SecureRandom классе так, как только я создаю IV через это будет прекрасно шифровать данные, что я не понимаю, как вы можете получить тот же IV для процесса дешифрования? (Пожалуйста, объясните, что мне нужно знать об этом, чтобы создать алгоритм для назначения).
Когда вы говорите, что это не должно быть предсказуемым, это означает, что способ генерации IV не должен быть предсказуемым? И это нормально просто добавить IV (как открытый текст), так как IV не секрет? – sYl3r
Да, добавление IV в порядке, но не как открытый текст, а как зашифрованный текст. Если вы добавите IV в открытый текст перед шифрованием, вы отправите IV зашифрованный (который невозможно расшифровать, не зная, в первую очередь, IV). Высказывание IV не должно быть предсказуемым, примерно такое же, как и высказывание IV должно генерироваться случайным образом. Есть несколько атак, которые работают только в том случае, если злоумышленник знает IV заранее, чтобы иметь возможность выбирать конкретный открытый текст. Примером является атака с выбранным открытым текстом на CBC (которая была основой недавней атаки BEAST на SSL). –