Nonce
Un nonce (number used once) est une valeur employée une seule fois lors du chiffrement ; similaire à un IV, il privilégie l'unicité sur l'aléatoire, courant dans les chiffrements de flux et l'AEAD.
Objectif
Garantir que chaque chiffrement sous la même clé produise un flux de clés différent, empêchant les attaques par two-time pad.
Mécanisme
Un nonce doit être unique (jamais répété) pendant la durée de vie de la clé. Il peut être un compteur (déterministe) ou une valeur aléatoire. CTR/GCM/ChaCha20 utilisent des nonces pour générer des flux de clés ; le nonce de 96 bits est le plus courant en GCM. Réutiliser un nonce entraîne une défaillance de sécurité catastrophique.
Cas d’usage
- Chiffrement de messages AES-GCM
- Chiffrement ChaCha20-Poly1305
- Numéros de séquence des enregistrements TLS
- Compteurs de nonce de WireGuard
Exemples
- entrée
nonce=0,1,2... (counter)Outputa unique nonce per messageDeterministic and unique
Erreurs courantes
- Nonce reuse replays the keystream and breaks authentication
- Use a monotonic counter or a long enough random nonce
Termes associés
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. GLOSSAIRE
GCM (Galois/Counter Mode)
GCM est un mode AEAD qui combine le chiffrement CTR avec l'authentification GHASH, offrant à la fois confidentialité et intégrité ; c'est le mode privilégié de TLS 1.2/1.3. GLOSSAIRE
CTR (Counter Mode)
Le mode CTR transforme un chiffrement par blocs en chiffrement de flux : il chiffre un compteur incrémenté pour générer un flux de clés XORé avec le texte clair, permettant parallélisme et accès aléatoire, mais sans intégrité. GLOSSAIRE
ChaCha20
ChaCha20 est un chiffrement de flux conçu par Daniel Bernstein, fondé sur des opérations ARX (addition-rotation-XOR), généralement associé à Poly1305 comme AEAD — une alternative performante à AES-GCM. GLOSSAIRE