High-speed stream cipher with 513-bit internal state using 8 state variables, 8 counter variables, and 1 carry bit. Designed for software implementations with 128-bit keys and optional 64-bit IV.
| Property | Value |
|---|---|
| Category | Stream Ciphers |
| Sub-category | Stream Cipher |
| Security status | Not classified |
| Complexity | Intermediate |
| Inventor | Martin Boesgaard, Mette Vesterager, Thomas Pedersen, Jesper Christiansen, Ove Scavenius |
| Year | 2003 |
| Origin | Not specified |
| Source | algorithms/stream/rabbit.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 16 bytes (128 bits) |
| Block sizes | 1 byte (8 bits) to 65536 bytes (524288 bits) |
Status: not classified — treat as unverified.
No vulnerabilities are recorded for this implementation.
6 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — RFC 4503 Appendix A.1 - keystream without IV, key 1 (all zero), S[0]..S[2]
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 |
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
expected |
b15754f036a5d6ecf56b45261c4af702 88e8d815c59c0c397b696c4789c68aa7 f416a1c3700cd451da68d1881673d696 |
Vector 2 — RFC 4503 Appendix A.1 - keystream without IV, key 2, S[0]..S[2]
| Field | Value |
|---|---|
key |
912813292e3d36fe3bfc62f1dc51c3ac |
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
expected |
3d2df3c83ef627a1e97fc38487e2519c f576cd61f4405b8896bf53aa8554fc19 e5547473fbdb43508ae53b20204d4c5e |
Vector 3 — RFC 4503 Appendix A.1 - keystream without IV, key 3, S[0]..S[2]
| Field | Value |
|---|---|
key |
8395741587e0c733e9e9ab01c09b0043 |
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
expected |
0cb10dcda041cdac32eb5cfd02d0609b 95fc9fca0f17015a7b7092114cff3ead 9649e5de8bfc7f3f924147ad3a947428 |
Vector 4 — RFC 4503 Appendix A.2 - keystream with IV setup, IV 1 (all zero), S[0]..S[2]
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 |
iv |
0000000000000000 |
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
expected |
c6a7275ef85495d87ccd5d376705b7ed 5f29a6ac04f5efd47b8f293270dc4a8d 2ade822b29de6c1ee52bdb8a47bf8f66 |
Vector 5 — RFC 4503 Appendix A.2 - keystream with IV setup, IV 2, S[0]..S[2]
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 |
iv |
c373f575c1267e59 |
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
expected |
1fcd4eb9580012e2e0dccc9222017d6d a75f4e10d12125017b2499ffed936f2e ebc112c393e738392356bdd012029ba7 |
Vector 6 — RFC 4503 Appendix A.2 - keystream with IV setup, IV 3, S[0]..S[2]
| Field | Value |
|---|---|
key |
00000000000000000000000000000000 |
iv |
a6eb561ad2f41727 |
input |
00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 |
expected |
445ad8c805858dbf70b6af23a151104d 96c8f27947f42c5baeae67c6acc35b03 9fcbfc895fa71c17313df034f01551cb |