Stream Cipher
Un chiffrement de flux chiffre octet par octet ou bit par bit, en XORant un flux de clés avec le clair ; il n'exige pas de remplissage et convient aux données temps réel et en streaming.
Objectif
Offre un chiffrement efficace sans alignement de bloc, adapté aux flux réseau et aux données continues.
Mécanisme
Le chiffrement est C_i = P_i ⊕ S_i, où S est le flux de claves généré depuis la clé et le nonce/compteur via un PRG ; le déchiffrement est identique (le XOR est auto-inverse). La sécurité repose sur le pseudo-aléa du flux et l'unicité du nonce. Constructions courantes : ARX (ChaCha), LFSR et le mode AES-CTR.
Cas d’usage
- TLS 1.3 (ChaCha20-Poly1305)
- Chiffrement audio/vidéo temps réel
- VPN WireGuard
- Chiffrement embarqué à faibles ressources
Exemples
- entrée
key + nonce → keystreamOutputC = P ⊕ SThe nonce must never repeat
Erreurs courantes
- Encrypting two messages with the same key+nonce (a two-time pad)
- Use a unique nonce or counter per message
Termes associés
Block Cipher
Un chiffrement par blocs est un chiffrement symétrique qui chiffre et déchiffre des blocs de longueur fixe (p. ex. 128 bits) et nécessite un mode d'opération pour traiter des données de longueur arbitraire. 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
RC4
RC4 est un chiffrement de flux conçu par Ron Rivest en 1987 — simple et rapide, mais avec des biais sérieux ; il a été banni de TLS et d'autres protocoles. GLOSSAIRE
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. GLOSSAIRE