Initialization Vector (IV)
What is Initialization Vector (IV)?
Initialization Vector (IV)A randomized starting value for a block-cipher mode of operation that ensures identical plaintexts encrypted under the same key yield different ciphertexts.
An Initialization Vector (IV) is a public, single-use input combined with the key in a block-cipher mode of operation so that encrypting the same plaintext twice produces different ciphertexts. The required properties depend on the mode: AES-CBC needs an unpredictable (cryptographically random) IV to remain CPA-secure, AES-CTR and AES-GCM need a unique (non-repeating) IV but do not need it to be secret, while in AES-GCM specifically the IV is also called the nonce. IVs are typically the cipher's block size (128 bits for AES) for CBC, 96 bits for GCM and 64–128 bits for stream/CTR modes; they are transmitted alongside the ciphertext. Improper IV handling — predictable values in CBC (BEAST), or repeated GCM nonces — leads to severe confidentiality and authenticity failures.
● Examples
- 01
An AES-CBC implementation prepends a 16-byte random IV to each ciphertext.
- 02
AES-GCM uses a 96-bit IV that must be unique per (key, message) pair.
● Frequently asked questions
What is Initialization Vector (IV)?
A randomized starting value for a block-cipher mode of operation that ensures identical plaintexts encrypted under the same key yield different ciphertexts. It belongs to the Cryptography category of cybersecurity.
What does Initialization Vector (IV) mean?
A randomized starting value for a block-cipher mode of operation that ensures identical plaintexts encrypted under the same key yield different ciphertexts.
How do you defend against Initialization Vector (IV)?
Defences for Initialization Vector (IV) typically combine technical controls and operational practices, as detailed in the full definition above.
What are other names for Initialization Vector (IV)?
Common alternative names include: IV, Cipher IV.