Ініціалізаційний вектор
Ініціалізаційний вектор, ІВ (англ. initialization vector, IV) — це вхідні дані для криптографічного примітиву, які зазвичай мають бути випадковими або псевдовипадковим. Увипадковлення критичне у схемах шифрування для досягнення значеннєвої безпеки, властивість завдяки якій повторне використання схеми із тим самим ключем не дає нападнику можливості вивести взаємозв'язки між сегментами зашифрованого повідомлення. Для блочних шифрів, використання ІВ описане так званими режимами шифрування, деякі з яких не вимагають секретності ІВ.
Деякі криптографічні примітиви вимагають від ІВ лише унікальності і випадковість отримується внутрішніми механізмами. У такому разі, ІВ зазвичай називають нонсом, число використане один раз (англ. number used once), а примітиви називають примітивами зі станом, на відміну від увипадковлених. Це так через те, що ІВ не треба переправляти отримувачу, а можна виводити зі спільного стану, який оновлюється у відправника і отримувача. (На практиці, короткий нонс часто передається разом з повідомленням на випадок втрати повідомлення.) Прикладом схеми шифрування зі станом є режим лічильника, який використовує номер послідовності як нонс.
Розмір ІВ залежить від використовуваного криптографічного примітиву; для блочних шифрів, зазвичай це розмір блоку. Коли ІВ обирається випадково, потрібно брати до уваги ймовірність колізій через парадокс днів народження. Традиційні потокові шифри, як-от RC4, не підтримують ІВ як явні входові данні, і потрібне додаткове рішення щодо вбудовування ІВ у ключ або внутрішній стан. Деякі втілені дизайни на практиці виявились небезпечними; відомим прикладом є WEP протокол уразливий до атаки на основі пов'язаних ключів.
- What are Initialization Vectors and how should they be exchanged? [Архівовано 6 жовтня 2015 у Wayback Machine.] (англ.)