Шифрование AES, как транспортировать IV

Я понимаю, что уникальный IV важен при шифровании для предотвращения атак, таких как частотный анализ. Вопрос: Какое значение для шифрования AES CBC имеет IV? дает довольно четкий ответ, объясняющий важность IV.

Будут ли дыры в безопасности при отправке IV открытым текстом? Или его нужно будет зашифровать с помощью того же открытого / закрытого ключа, который использовался для отправки симметричного ключа?

Если IV необходимо отправлять в зашифрованном виде, то почему бы не генерировать каждый раз новый симметричный ключ и рассматривать IV как часть ключа? Неужели создание симметричного ключа обходится слишком дорого? Или это необходимо для минимизации объема передаваемых данных?


Главный ответ на Вектор инициализации секрета против несекретного гласит:

Типичный протокол установления ключа приведет к тому, что обе стороны будут задействовать вычисление часть данных, которые знают они, но только они оба. С помощью Диффи-Хеллмана (или любого его варианта с эллиптической кривой) указанный совместно используемый фрагмент данных имеет фиксированную длину, и они не могут контролировать его значение (они оба получают одинаковую, казалось бы, случайную последовательность битов).

Как два объекта получают «одну и ту же, казалось бы, случайную последовательность битов», не имея совместно используемой информации? Предполагается, что общая информация была отправлена ​​в зашифрованном виде? А если совместно используемая информация отправляется в зашифрованном виде, почему бы просто не отправить IV в зашифрованном виде?


Поскольку приложение должно безопасно транспортировать симметричный ключ, может показаться, что отделение IV от самого ключа по сути является оптимизацией. Или я что-то упустил?

28
задан Community 23 May 2017 в 11:47
поделиться