Aller au contenu
uencoder

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 → keystream
    Output
    C = P ⊕ S

    The 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

Outils associés

References