ChaCha20
ChaCha20 es un cifrador de flujo diseñado por Daniel Bernstein, construido sobre operaciones ARX (suma-rotación-XOR), que suele emparejarse con Poly1305 como AEAD — una alternativa de alto rendimiento a AES-GCM.
Propósito
Proporciona cifrado rápido y seguro en tiempo constante en plataformas sin aceleración hardware de AES, evitando los canales laterales de temporización de AES.
Mecanismo
Mejora de Salsa20, ejecuta 20 rondas de operaciones quarter-round. El estado es una matriz 4×4 (constantes, clave, contador, nonce). Cada ronda aplica suma-rotación-XOR a columnas y diagonales; el flujo de clave resultante se combina por XOR con el texto plano.
Casos de uso
- Una de las suites de cifrado por defecto de TLS 1.3
- VPN WireGuard
- Cifrado de servidores de Google
- Cifrado móvil
Ejemplos
- entrada
key=256bit, nonce=96bit, counterOutputkeystreamCombined with Poly1305 as AEAD
Errores comunes
- Nonce reuse replays the keystream
- Use a unique nonce per message (e.g., a counter)
Términos relacionados
Salsa20
Salsa20 es un cifrado de flujo diseñado por Daniel Bernstein, construido sobre operaciones ARX con 20 rondas; es un algoritmo recomendado por eSTREAM y el predecesor de ChaCha20. GLOSARIO
AES
AES (Advanced Encryption Standard) es un cifrado de bloques simétrico establecido por NIST en 2001, soporta claves de 128/192/256 bits y es el estándar de facto del cifrado moderno. GLOSARIO
GCM (Galois/Counter Mode)
GCM es un modo AEAD que combina el cifrado CTR con la autenticación GHASH, proporcionando confidencialidad e integridad a la vez, y es el modo preferido de TLS 1.2/1.3. GLOSARIO
Stream Cipher
Un cifrador de flujo cifra byte a byte o bit a bit, aplicando XOR entre un flujo de claves y el texto claro; no necesita relleno y se adapta a datos en tiempo real y en streaming. GLOSARIO
Herramientas relacionadas
Cifrador AES
Encrypt text or binary data with AES (CBC/GCM/ECB) using Web Crypto API. Gratis, privado y 100% del lado del cliente. HERRAMIENTA
Cifrador ChaCha20
Cifra texto con el cifrado de flujo ChaCha20 (RFC 8439) — un algoritmo real verificado byte a byte contra los vectores de prueba oficiales del RFC y contrastado con OpenSSL. Clave de 256 bits (32 bytes), nonce de 96 bits (12 bytes), contador de bloques de 32 bits. Gratis, privado y 100% del lado del cliente. Nunca reutilices un nonce con la misma clave. HERRAMIENTA
Descifrador ChaCha20
Descifra texto cifrado con ChaCha20 (RFC 8439) — un algoritmo real verificado byte a byte contra los vectores de prueba oficiales del RFC y contrastado con OpenSSL. La clave debe tener exactamente 32 bytes, el nonce exactamente 12 bytes, y el contador de bloques debe coincidir con el usado al cifrar. El formato del texto cifrado sigue la opción de formato de salida (hex o base64). Gratis, privado y 100% del lado del cliente. HERRAMIENTA