CyberGlossary

Cryptographie

ChaCha20

Définition

Chiffrement de flot moderne conçu par Daniel J. Bernstein, utilisant une clé de 256 bits et un nonce de 96 bits, largement déployé avec Poly1305 sous la forme AEAD ChaCha20-Poly1305.

ChaCha20 est un chiffrement de flot à 20 tours conçu par Daniel J. Bernstein en 2008 comme évolution de Salsa20. Il produit un flux de clé à partir d'une clé de 256 bits, d'un nonce de 96 bits et d'un compteur de bloc de 32 bits via de simples opérations add-rotate-xor sur des mots de 32 bits, ce qui le rend rapide et à temps constant sur les CPU sans accélération AES (mobiles, embarqués). Combiné au MAC Poly1305, le schéma AEAD ChaCha20-Poly1305 est normalisé dans le RFC 8439 et constitue, avec AES-GCM, l'une des deux suites obligatoires de TLS 1.3. Il est largement employé dans TLS, QUIC, WireGuard, OpenSSH, le protocole Signal et la cryptographie du noyau Linux. Après plus d'une décennie de cryptanalyse, aucune attaque ne touche la version complète à 20 tours.

Exemples

  • TLS 1.3 et QUIC utilisent TLS_CHACHA20_POLY1305_SHA256 sur appareils mobiles.
  • WireGuard chiffre l'ensemble de ses paquets de données avec ChaCha20-Poly1305.

Termes liés