Combined Linear Feedback Shift Register using five 64-bit Tausworthe components with extremely long period (2^258). Developed for the TestU01 statistical testing suite with superior quality to LFSR113. Uses BigInt for 64-bit arithmetic in JavaScript.
| Property | Value |
|---|---|
| Category | Random Number Generators |
| Sub-category | Tausworthe LFSR |
| Security status | 🎓 Educational Only |
| Complexity | Intermediate |
| Inventor | Pierre L’Ecuyer |
| Year | 1999 |
| Origin | 🇨🇦 Canada |
| Source | algorithms/random/lfsr258.js |
| Parameter | Supported values |
|---|---|
| Seed sizes | 40 bytes (320 bits) |
| Flag | Value |
|---|---|
IsDeterministic |
Yes |
IsCryptographicallySecure |
No |
Status: 🎓 Educational Only
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 — Default seed (123456789123456789 for all 5 components) - First 8 bytes
| Field | Value |
|---|---|
seed |
01b69b4bacd05f1501b69b4bacd05f15 01b69b4bacd05f1501b69b4bacd05f15 01b69b4bacd05f15 |
outputSize |
8 |
input |
null |
expected |
456e698a9b4e9cf5 |
Vector 2 — Default seed (123456789123456789 for all 5 components) - First 16 bytes
| Field | Value |
|---|---|
seed |
01b69b4bacd05f1501b69b4bacd05f15 01b69b4bacd05f1501b69b4bacd05f15 01b69b4bacd05f15 |
outputSize |
16 |
input |
null |
expected |
456e698a9b4e9cf59b773ded05a86848 |
Vector 3 — Custom seed [12345, 23456, 34567, 131072, 8388608] - First 8 bytes
| Field | Value |
|---|---|
seed |
00000000000030390000000000005ba0 00000000000087070000000000020000 0000000000800000 |
outputSize |
8 |
input |
null |
expected |
0011000083000080 |
Vector 4 — Minimum valid seeds [2, 512, 4096, 131072, 8388608] - First 8 bytes
| Field | Value |
|---|---|
seed |
00000000000000020000000000000200 00000000000010000000000000020000 0000000000800000 |
outputSize |
8 |
input |
null |
expected |
0003000080000080 |
Vector 5 — Maximum seeds (all 0xFFFFFFFFFFFFFFFF) - First 8 bytes
| Field | Value |
|---|---|
seed |
ffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffff ffffffffffffffff |
outputSize |
8 |
input |
null |
expected |
c3efffff80ffff7f |
Vector 6 — Default seed - First 32 bytes (sequence test)
| Field | Value |
|---|---|
seed |
01b69b4bacd05f1501b69b4bacd05f15 01b69b4bacd05f1501b69b4bacd05f15 01b69b4bacd05f15 |
outputSize |
32 |
input |
null |
expected |
456e698a9b4e9cf59b773ded05a8684851a18de9815ffd298274805f0797f5f3 |