CyberGlossary

Cryptography

Initialization Vector (IV)

Also known as: IV, Cipher IV

Definition

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

  • An AES-CBC implementation prepends a 16-byte random IV to each ciphertext.
  • AES-GCM uses a 96-bit IV that must be unique per (key, message) pair.

Related terms