Aller au contenu
uencoder

IV (Initialization Vector)

Un vecteur d'initialisation (IV) est une entrée qui injecte de l'aléa dans les modes de chiffrement par blocs, de sorte que le même clair produise des chiffrés différents à chaque chiffrement.

Objectif

Il prévient la fuite de motifs de clairs identiques et fournit la sécurité sémantique.

Mécanisme

La longueur de l'IV égale habituellement la taille de bloc (ex. 128 bits pour AES). CBC exige un IV imprévisible (aléatoire) ; CTR/GCM exigent l'unicité (un compteur suffit). L'IV n'a pas besoin d'être secret et est transmis avec le chiffré. En GCM, l'IV est souvent appelé nonce.

Cas d’usage

  • IV aléatoires pour AES-CBC
  • Nonces uniques pour AES-GCM
  • Stockage d'IV dans le chiffrement de disque
  • Identification et déduplication de chiffrés

Exemples

  • entrée
    AES-CBC IV=random 128 bits
    Output
    different result on every encryption

    The IV is transmitted with the ciphertext

Erreurs courantes

A fixed or predictable IV enables chosen-plaintext attacks
Use a random IV for CBC and a unique nonce for CTR/GCM

Termes associés

Outils associés

References