CyberGlossary

Криптография

Вектор инициализации (IV)

Также известно как: IV, Начальный вектор шифра

Определение

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

Вектор инициализации (Initialization Vector, IV) — это публичное входное значение однократного использования, объединяемое с ключом в режиме блочного шифрования, чтобы повторное шифрование одного и того же открытого текста давало разные шифртексты. Требования к IV зависят от режима: AES-CBC требует непредсказуемый (криптографически случайный) IV для CPA-стойкости; AES-CTR и AES-GCM требуют уникального (не повторяющегося) IV, который не обязан быть секретным — в AES-GCM его также называют нонсом. Обычная длина IV равна размеру блока (128 бит для AES) в CBC, 96 бит — в GCM и 64–128 бит — в потоковых/CTR-режимах; IV передаётся вместе с шифртекстом. Ошибки в работе с IV — предсказуемые значения в CBC (BEAST) или повторяющиеся нонсы в GCM — приводят к тяжёлым нарушениям конфиденциальности и аутентичности.

Примеры

  • Реализация AES-CBC добавляет к каждому шифртексту 16-байтовый случайный IV.
  • AES-GCM использует 96-битный IV, который должен быть уникальным для каждой пары (ключ, сообщение).

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