🔐 encrypt.toolsALL TOOLS
SALSA20 · STREAM

Salsa20 Stream Cipher Encrypt & Decrypt

The stream cipher that ChaCha20 was built from.

loading tool…
FIELD NOTES

About this tool

Salsa20 is Daniel J. Bernstein's stream cipher and an eSTREAM portfolio winner — the direct ancestor of ChaCha20. It generates a keystream from a 256-bit key and nonce that is XORed with your message. This tool derives the key from your password with PBKDF2-SHA-256 and packages salt, nonce, and ciphertext into a single Base64 string.

Unlike ChaCha20-Poly1305, plain Salsa20 has no authentication tag — it protects confidentiality but not integrity. For new designs prefer the authenticated ChaCha20-Poly1305 tool. Everything runs locally via the audited @noble/ciphers library.

Like everything on encrypt.tools, this runs entirely in your browser — nothing you enter is transmitted or stored.

FREQUENTLY ASKED

Frequently asked questions about Salsa20

What is the difference between Salsa20 and ChaCha20?+

ChaCha20 is a refinement of Salsa20 with a modified round function that improves diffusion and performance while keeping the same 256-bit security. Salsa20 came first (2005); ChaCha20 (2008) is now more widely deployed. Both are by Daniel J. Bernstein.

Is Salsa20 authenticated?+

Plain Salsa20 is not — it provides confidentiality only. If an attacker flips bits in the ciphertext, decryption returns altered plaintext without warning. Use ChaCha20-Poly1305 when you need tamper detection.

Is Salsa20 still secure?+

Yes. Salsa20/20 (the full 20-round version used here) has no known practical attacks and remains a respected cipher. It is used inside NaCl/libsodium's secretbox as XSalsa20.

RELATED INSTRUMENTS