¿Qué es ChaCha20?
ChaCha20 ayuda a proteger tus datos cuando envías mensajes, almacenas archivos o navegas de forma privada con una aplicación o servicio.
Es un algoritmo de cifrado moderno diseñado para mantener la información confidencial a la vez que resulta rápido y eficiente en una amplia gama de dispositivos.
Aprende cómo funciona ChaCha20, por qué es importante en la criptografía moderna y cómo se compara con AES.

¿Qué es ChaCha20?
ChaCha20 es un cifrador de clave simétrica de 256aaaa Fue diseñado por Daniel J. Bernstein como una mejora de un cifrador anterior llamado Salsa20. El objetivo era crear algo que fuera eficiente y seguro a la vez, especialmente en software.
Cómo funciona ChaCha20
ChaCha20 cifra los datos generando un flujo de bytes seudoaleatorios seguros y combinando ese flujo con el mensaje original. El resultado es una salida cifrada que parece aleatoria para cualquiera que no tenga la clave secreta.
Dado que utiliza la misma clave para cifrar y descifrar datos, ChaCha20 es mucho más rápido que RSA, un algoritmo asimétrico que utiliza una clave pública y una clave privada. RSA es útil para el intercambio de claves y firmas, pero ChaCha20 es mejor para cifrar grandes volúmenes de tráfico de internet.

A grandes rasgos, ChaCha20 requiere tres parámetros de entrada: una clave secreta, un nonce (un número de un solo uso, es decir, un valor único utilizado para cada cifrado) y un contador (para ayudar a generar diferentes bloques de salida). Utiliza estos valores para inicializar un estado interno, que luego se mezcla repetidamente para generar un flujo de bytes seudoaleatorios seguros conocido como flujo de claves.
Ese proceso de mezcla se basa en tres operaciones sencillas (suma, XOR y rotación de bits) aplicadas a lo largo de 20 rondas para mezclar completamente los datos. A continuación, el flujo de claves resultante se combina con el texto plano para producir el texto cifrado, es decir, los datos cifrados.
Por qué es importante ChaCha20
ChaCha20 resuelve un problema práctico de la seguridad moderna: cómo obtener un cifrado sólido que sea eficiente y fiable a la vez en muchos dispositivos. Es muy rápido en software, funciona bien en teléfonos, dispositivos pequeños y CPU más antiguas, y se basa en operaciones sencillas que los ordenadores realizan bien (suma, XOR, rotación).
Estas funciones lo hacen atractivo en sistemas como TLS, VPN(ventana nueva), SSH y aplicaciones de mensajería. Por ejemplo, el protocolo VPN(ventana nueva) WireGuard®(ventana nueva) utiliza ChaCha20 para proporcionar un cifrado rápido y seguro con un gran rendimiento incluso en dispositivos que carecen de hardware AES especializado.
ChaCha20 frente a AES
Así es como se compara ChaCha20 con AES:
Aspecto | ChaCha20 | AES |
|---|---|---|
Tipo de cifrador | Cifrador de flujo | Cifrador de bloques |
Operación básica | Sumas, XOR y rotaciones en palabras de 32 bits | Sustitución y permutación en bloques de 128 bits |
Tamaños de clave estándar | 256 bits | 128, 192, 256 bits |
Rendimiento en CPU sin hardware especial | Por lo general, muy rápido | A menudo más lento que ChaCha20 |
Rendimiento en CPU con aceleración por hardware | Suele perder frente a AES con extensiones criptográficas AES-NI/ARM | A menudo extremadamente rápido |
Modo autenticado típico | ChaCha20-Poly1305 | AES-GCM |
Casos de uso comunes | TLS en dispositivos móviles o incrustados, criptografía solo por software, WireGuard® | TLS, cifrado de disco, sistemas empresariales, cifrado respaldado por hardware |
Uso ideal | Portabilidad, velocidad de software constante, implementación de software más segura | Velocidad máxima en hardware moderno, amplio cumplimiento y soporte |
El cifrado AES es el estándar establecido desde hace tiempo y es extremadamente rápido en procesadores con soporte de hardware AES integrado. Por ello, funciona especialmente bien en muchos ordenadores de sobremesa, servidores y chips móviles más nuevos. Sin embargo, sin el soporte de hardware AES, el cifrado AES solo por software puede ser más lento y, a veces, más difícil de implementar de forma segura. Por el contrario, ChaCha20 está diseñado para ser muy rápido en un software convencional porque utiliza operaciones sencillas como la suma, XOR y la rotación, que funcionan de manera eficiente en casi cualquier procesador.
Si una aplicación ofrece tanto AES como ChaCha20, no sueles necesitar elegir uno manualmente, ya que la mayoría de las aplicaciones modernas seleccionan la mejor opción automáticamente en función de tu dispositivo y procesador. En general, AES funciona mejor en dispositivos más nuevos con soporte AES integrado, mientras que ChaCha20 es una opción más sólida en dispositivos donde el cifrado se realiza principalmente por software, como algunos teléfonos, hardware de bajo consumo o CPU más antiguas.
¿Es seguro ChaCha20?
ChaCha20 se considera seguro según los estándares modernos cuando se implementa correctamente y se utiliza con un nonce único para cada cifrado.
Cifrado seguro
ChaCha20 utiliza 20 rondas de operaciones de suma, rotación y XOR, y se considera resistente a los ataques prácticos conocidos.
Buena seguridad de software
Su diseño sencillo lo hace eficiente en software y puede reducir algunos riesgos de canal lateral observados en ciertas implementaciones de AES.
Ampliamente desplegado
ChaCha20 es compatible con los principales navegadores y se utiliza en conexiones HTTPS/TLS modernas, SSH y WireGuard®.
Suele combinarse con Poly1305
A menudo se utiliza como ChaCha20-Poly1305, lo que protege tanto la confidencialidad como la integridad del mensaje. ChaCha20-Poly1305 es una de las principales opciones de cifrado simétrico utilizadas en TLS 1.3.
Proton VPN y ChaCha20
Con el protocolo WireGuard®(ventana nueva) de Proton VPN, ChaCha20-Poly1305 ayuda a proteger el túnel VPN para que tu tráfico de internet siga siendo privado sin sacrificar la velocidad, tanto si estás navegando de forma privada, reproduciendo contenido en streaming o utilizando una red WiFi pública fuera de casa.



