Инициализационный вектор (IV)

Простыми словами

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

Как применяется

IV применяют в режимах блочного шифрования и других конструкциях с начальными параметрами. Например, CBC требует непредсказуемого IV, а для ряда счётчиковых и AEAD-схем критично неповторение значений с одним ключом. Эти требования не взаимозаменяемы.

Пример применения

Разработчик задаёт одинаковый IV для всех документов «для удобства расшифрования». Команда заменяет решение на документированную схему библиотеки, где параметры формируются по правилам режима и передаются вместе с данными. Проверяет не только успешное расшифрование, но и обработку подменённого сообщения.

Не путать с

  • КлючСекретный параметр; IV обычно не является его заменой или частью пароля.
  • NonceЗначение для отдельной операции. В некоторых схемах совпадает по роли с IV, но требования определяет конструкция.
  • СольИспользуется в иных задачах, например обработке паролей; её нельзя автоматически подставить вместо IV.

Как это работает

  1. Выбрать режимУточняют требуемые свойства и параметры изученной схемы.
  2. Сформировать IVПолучают значение с нужной длиной и свойствами, учитывая перезапуск и параллельную работу.
  3. Сохранить параметрыВместе с шифротекстом передают IV и остальные необходимые данные схемы.
  4. Проверить получениеБиблиотека восстанавливает обработку и выполняет предусмотренную аутентификацию сообщения.

Связанные термины

Частые вопросы

IV нужно скрывать?

Обычно нет. Но это не отменяет требований к его формированию и защите сообщения от подмены.

Случайный IV всегда подходит?

Не любой. Нужны правильная длина, источник и выполнение условий конкретного режима.

Можно брать IV из пароля?

Такой самодельный подход может нарушить требования режима. Используйте документированную схему и её API.

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