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.
Objectif
Offre un chiffrement rapide et sûr à temps constant sur les plateformes sans accélération matérielle AES, en évitant les canaux auxiliaires temporels d'AES.
Mécanisme
Amélioration de Salsa20, il exécute 20 tours d'opérations quarter-round. L'état est une matrice 4×4 (constantes, clé, compteur, nonce). Chaque tour applique addition-rotation-XOR aux colonnes et diagonales ; le flux de clé obtenu est combiné par XOR avec le texte en clair.
Cas d’usage
- Une des suites de chiffrement par défaut de TLS 1.3
- VPN WireGuard
- Chiffrement des serveurs Google
- Chiffrement mobile
Exemples
- entrée
key=256bit, nonce=96bit, counterOutputkeystreamCombined with Poly1305 as AEAD
Erreurs courantes
- Nonce reuse replays the keystream
- Use a unique nonce per message (e.g., a counter)
Termes associés
Salsa20
Salsa20 est un chiffrement de flux conçu par Daniel Bernstein, fondé sur des opérations ARX avec 20 tours ; c'est un algorithme recommandé par eSTREAM et le prédécesseur de ChaCha20. GLOSSAIRE
AES
AES (Advanced Encryption Standard) est un chiffrement par blocs symétrique établi par NIST en 2001, prenant en charge les clés de 128/192/256 bits, standard de facto du chiffrement moderne. 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
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. GLOSSAIRE
Outils associés
Chiffreur AES
Encrypt text or binary data with AES (CBC/GCM/ECB) using Web Crypto API. Gratuit, privé et 100% côté client. OUTIL
Chiffreur ChaCha20
Chiffrez du texte avec le chiffrement de flux ChaCha20 (RFC 8439) — un véritable algorithme vérifié octet par octet contre les vecteurs de test officiels du RFC et recoupé avec OpenSSL. Clé de 256 bits (32 octets), nonce de 96 bits (12 octets), compteur de blocs de 32 bits. Gratuit, privé et 100% côté client. Ne réutilisez jamais un nonce avec la même clé. OUTIL
Déchiffreur ChaCha20
Déchiffrez du texte chiffré avec ChaCha20 (RFC 8439) — un véritable algorithme vérifié octet par octet contre les vecteurs de test officiels du RFC et recoupé avec OpenSSL. La clé doit faire exactement 32 octets, le nonce exactement 12 octets, et le compteur de blocs doit correspondre à celui utilisé pour le chiffrement. Le format du texte chiffré suit l'option de format de sortie (hex ou base64). Gratuit, privé et 100% côté client. OUTIL