TOOL
Salsa20 Decryptor
Decrypt Salsa20 ciphertext (Bernstein original design, eSTREAM portfolio) — a real algorithm verified against official eSTREAM test vectors. Key must be 16 or 32 bytes, nonce exactly 8 bytes, and the block counter must match the value used for encryption. Ciphertext input format follows the output format option (hex or base64). Free, private, and 100% client-side.
Try an example:
Local only
Recent history
No history yet
How to use
- Paste the Salsa20 ciphertext (hex or base64) into the input box.
- Set the same key (16 or 32 bytes) and nonce (exactly 8 bytes) used for encryption.
- Set the same initial block counter and choose the matching ciphertext format.
- Copy the recovered plaintext.
Frequently asked questions
- Is my data uploaded anywhere?
- No. All processing happens locally in your browser with no server round-trip.
- Does this tool work offline?
- Yes. Once the page loads, the tool runs entirely client-side and needs no network connection.
- Is this real Salsa20 encryption?
- Yes. It follows D. J. Bernstein's original specification and is verified against the official eSTREAM verified test vectors (including the 128/256-bit key setup and rekeyed sets) plus the Salsa20 core specification vectors, cross-checked with PyCryptodome.
- What key and nonce sizes are required?
- The key must be 16 or 32 bytes and the nonce exactly 8 bytes, entered as UTF-8 text; other lengths are rejected with an explicit error. Never reuse a nonce with the same key — reusing the keystream makes the plaintext recoverable.
Glossary terms
Related tools
Salsa20 Encryptor
Encrypt text with the Salsa20 stream cipher (D. J. Bernstein's original design, eSTREAM portfolio) — a real algorithm verified against official eSTREAM test vectors and Salsa20 core specification vectors. 128/256-bit key (16 or 32 bytes), 64-bit nonce (8 bytes), 64-bit block counter. Free, private, and 100% client-side. Never reuse a nonce with the same key. TOOL
ChaCha20 Decryptor
Decrypt ChaCha20 ciphertext (RFC 8439) — a real algorithm verified byte-for-byte against official RFC test vectors. Key must be exactly 32 bytes, nonce exactly 12 bytes, and the block counter must match the value used for encryption. Ciphertext input format follows the output format option (hex or base64). Free, private, and 100% client-side. TOOL
AES-CTR Decryptor
Decrypt AES-CTR ciphertext (NIST SP 800-38A, native Web Crypto implementation) — a real algorithm verified byte-for-byte against official NIST test vectors. Key must be 16, 24 or 32 bytes, IV exactly 16 bytes (the same full initial counter block used for encryption). Ciphertext input format follows the output format option (hex or base64). Free, private, and 100% client-side. TOOL