It uses a 128-bit key and an optional 64-bit IV. Enter a raw hex key or use a password (derived via PBKDF2-SHA256).
0 / 32 hex characters
Encrypt and decrypt data using the Rabbit stream cipher with a 128-bit key. Optionally provide a 64-bit IV. Fast, symmetric, and suitable for high-throughput applications.
Rabbit is a high-speed stream cipher developed by Martin Boesgaard and colleagues at Cryptico A/S. It was submitted to the eSTREAM competition in 2003 and selected as a finalist in the software profile. Rabbit uses a 128-bit key and an optional 64-bit initialization vector (IV). It is designed for high throughput in software, generating 128 bits of keystream per iteration with very efficient state updates. Rabbit is symmetric - the same operation with the same key and IV both encrypts and decrypts.
Input:
Key: 00112233445566778899aabbccddeeff IV: (empty) Input: Hello World
Output:
Encrypted (Base64): abc123== (varies by key)
Is Rabbit still considered secure?
Rabbit has no known practical cryptographic attacks against the full cipher. The eSTREAM process found no weaknesses. However, it is rarely used in modern protocols, which prefer ChaCha20-Poly1305 (for authenticated encryption) or AES-GCM. Rabbit provides no authentication - use it with a separate MAC if authentication is required.
When should I use an IV with Rabbit?
Always use a different IV when reusing the same key across multiple messages. Without an IV, the keystream is identical for every message encrypted with the same key, which leaks information. The IV does not need to be secret but must be unique per message. Generate a random 64-bit (8 bytes, 16 hex chars) IV for each encryption.
What is the maximum key size?
Rabbit uses a fixed 128-bit (16-byte, 32 hex char) key. It does not support different key sizes like AES does.
Does Rabbit provide authentication?
No. Rabbit only provides confidentiality, not integrity or authenticity. An attacker can modify the ciphertext without being detected. For secure communications, combine Rabbit with HMAC-SHA256 or use an AEAD cipher like ChaCha20-Poly1305 instead.