Я понимаю, что уникальный IV важен для шифрования, чтобы предотвратить атаки, такие как частотный анализ. Вопрос: Для шифрования AES CBC, в чем важность IV? имеет довольно четкий ответ, объясняющий важность IV.
Будут ли какие-либо дыры в безопасности при отправке IV в ясный текст? Или он должен быть зашифрован с помощью того же открытого/закрытого ключа, который использовался для отправки симметричного ключа?
Если IV необходимо отправить зашифрованным, то почему бы не генерировать новый симметричный ключ каждый раз и рассматривать IV как часть ключа? Это значит, что генерация симметричного ключа слишком дорогостоящая? Или это позволяет свести к минимуму количество транспортируемых данных?
Верхний ответ Секретный и несекретный вектор инициализации гласит:
Типичный протокол установления ключа приведет к тому, что обе стороны соберут часть данных, которую они, но только они, оба знают. С Diffie-Hellman (или любым вариантом этой эллиптической кривой) упомянутая общая часть данных имеет фиксированную длину и не имеет никакого контроля над ее значением (они просто получают одну и ту же, казалось бы, случайную последовательность бит).
Как два объекта получают "такую же, казалось бы, случайную последовательность бит", не имея общей информации? Предполагается ли, что общая информация была отправлена зашифрованной? И, если общая информация отправляется зашифрованной, почему бы просто не отправить зашифрованный IV?
Поскольку приложение должно безопасно переносить симметричный ключ, казалось бы, разделение IV с самим ключом по существу является оптимизацией. Или я что-то упускаю?