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.
Propósito
Proporciona cifrado de flujo rápido y seguro en tiempo constante, evitando la complejidad del relleno y de los modos de operación de los cifrados por bloques.
Mecanismo
El estado es una matriz de 4×4 (constante σ, clave, nonce, contador). Cada ronda aplica la operación de cuarto de ronda (suma-rotación-XOR) a todas las columnas y filas. Tras 20 rondas, el estado se suma al estado inicial para producir el flujo de clave.
Casos de uso
- Algoritmo recomendado por eSTREAM
- La biblioteca criptográfica NaCl
- Investigación criptográfica
- Ejemplos didácticos
Ejemplos
- entrada
key=256bit, nonce=64bitOutputkeystreamChaCha20 is its improved successor
Errores comunes
- Using Salsa20 instead of the safer ChaCha20
- Prefer ChaCha20-Poly1305
Términos relacionados
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. 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
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 Salsa20
Cifra texto con el cifrado de flujo Salsa20 (diseño original de D. J. Bernstein, portafolio eSTREAM) — un algoritmo real verificado contra los vectores de prueba oficiales de eSTREAM y los vectores de la especificación del core de Salsa20, contrastado con PyCryptodome. Clave de 128/256 bits (16 o 32 bytes), nonce de 64 bits (8 bytes), contador de bloques de 64 bits. Gratis, privado y 100% del lado del cliente. Nunca reutilices un nonce con la misma clave. HERRAMIENTA
Descifrador Salsa20
Descifra texto cifrado con Salsa20 (diseño original de Bernstein, portafolio eSTREAM) — un algoritmo real verificado contra los vectores de prueba oficiales de eSTREAM y contrastado con PyCryptodome. La clave debe ser de 16 o 32 bytes, el nonce exactamente 8 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