Educational implementation inspired by Phelix stream cipher. eSTREAM candidate designed for high-speed authenticated encryption using XOR, addition mod 2^32, and rotation operations.
| Property | Value |
|---|---|
| Category | Stream Ciphers |
| Sub-category | Stream Cipher |
| Security status | π Educational Only |
| Complexity | Intermediate |
| Inventor | Doug Whiting, Bruce Schneier, Stefan Lucks, FrΓ©dΓ©ric Muller |
| Year | 2004 |
| Origin | πΊπΈ United States |
| Source | algorithms/stream/phelix-simple.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 32 bytes (256 bits) |
| Block sizes | 1 byte (8 bits) to 65536 bytes (524288 bits) |
Status: π Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Key Recovery Attack | Wu and Preneel showed key recovery with 2^37 operations when nonces are reused | β |
| Educational Implementation | Simplified educational implementation - use only for learning | β |
4 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β Phelix Educational Test Vector 1 (Empty)
Source: Educational test case
| Field | Value |
|---|---|
key |
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f |
nonce |
000102030405060708090a0b0c0d0e0f |
input |
(empty) |
expected |
(empty) |
Vector 2 β Phelix Educational Test Vector 2 (Single Byte)
Source: Educational test case
| Field | Value |
|---|---|
key |
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f |
nonce |
000102030405060708090a0b0c0d0e0f |
input |
00 |
expected |
a2 |
Vector 3 β Phelix Educational Test Vector 3 (Two Bytes)
Source: Educational test case
| Field | Value |
|---|---|
key |
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f |
nonce |
000102030405060708090a0b0c0d0e0f |
input |
0001 |
expected |
a2ba |
Vector 4 β Phelix Educational Test Vector 4 (Block)
Source: Educational test case
| Field | Value |
|---|---|
key |
000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f |
nonce |
000102030405060708090a0b0c0d0e0f |
input |
000102030405060708090a0b0c0d0e0f |
expected |
a2ba9b5e4109cea6b815e83e3d807d61 |