Encrypt and decrypt text using the Rabbit stream cipher algorithm for high-speed encryption.
Rabbit is a high-speed stream cipher that was selected as part of the eSTREAM portfolio of the European ECRYPT project. Unlike a block cipher, a stream cipher generates a pseudo-random keystream and XORs it with the plaintext byte by byte, which makes it fast and lightweight. This tool encrypts and decrypts text with Rabbit using a 128-bit key and a 64-bit initialization vector, and because it is symmetric the same passphrase both encrypts and decrypts your message.
Everything runs locally in your browser. Your passphrase is never used directly as the key — it is stretched with PBKDF2 (SHA-256, 250,000 iterations) over a fresh random salt to derive the 128-bit key, and a new random IV is generated for every encryption so the same input encrypts differently each time. The salt and IV are prepended to the ciphertext and the whole thing is Base64-encoded, so decryption only needs the passphrase. Nothing you type is uploaded, logged, or stored.
Rabbit is less common than AES, so it is best suited to interoperating with systems that already use it, or to experimenting with how stream ciphers behave. Like most raw stream ciphers it provides confidentiality but not authentication, meaning it cannot detect whether ciphertext has been tampered with. For general-purpose or high-stakes encryption, AES with an authenticated mode remains the safer default.
Rabbit is a fast stream cipher that uses a 128-bit key and an optional 64-bit IV to generate a keystream that is XORed with the plaintext. It was chosen for the eSTREAM software portfolio.
Rabbit has no known practical breaks and was well regarded in eSTREAM, but it is far less scrutinized and deployed than AES. For general-purpose or high-stakes use, AES with an authenticated mode is the safer default.
A fresh random salt and IV are generated for every encryption, so identical plaintext encrypts to different output. Both values are embedded in the Base64 result for decryption.
No. Key derivation, encryption, and decryption all run in your browser with JavaScript, so your passphrase and plaintext never leave your device.
No. The salt and IV are prepended to the ciphertext, so decryption only requires the same passphrase you used to encrypt.