Weakened GSM stream cipher using four irregularly clocked LFSRs. Intentionally weakened export version with severe cryptographic vulnerabilities. Educational implementation for demonstrating broken cipher design.
| Property | Value |
|---|---|
| Category | Stream Ciphers |
| Sub-category | Stream Cipher |
| Security status | ❌ Broken |
| Complexity | Intermediate |
| Inventor | ETSI SAGE |
| Year | 1989 |
| Origin | Not specified |
| Source | algorithms/stream/a5.js |
| Parameter | Supported values |
|---|---|
| Key sizes | 8 bytes (64 bits) |
| Block sizes | 1 byte (8 bits) to 65536 bytes (524288 bits) |
Status: ❌ Broken
| Issue | Description | Mitigation |
|---|---|---|
| Intentional Weakness | Designed with backdoors to comply with export restrictions | — |
| Instant Ciphertext-Only Attack | Real-time break with minimal computational resources | — |
| Known-Plaintext Attack | Trivial key recovery with small amounts of known plaintext | — |
2 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — A5/2 Test Vector - Key 1
Source: A5/2 reference implementation with frame=0
| Field | Value |
|---|---|
key |
123456789abcdef0 |
input |
000000000000000000000000000000 |
expected |
49e165e78597a7cbec2088c3a1b7f6 |
Vector 2 — A5/2 Test Vector - Key 2
Source: A5/2 reference implementation with different key
| Field | Value |
|---|---|
key |
fedcba9876543210 |
input |
0102030405060708090a0b0c0d0e0f |
expected |
54b63d92681390ff477b015555222b |