Hawkynt

LFSR258

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.

Properties

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

Parameters

Parameter Supported values
Seed sizes 40 bytes (320 bits)

Capabilities

Flag Value
IsDeterministic Yes
IsCryptographicallySecure No

Security

Status: 🎓 Educational Only

No vulnerabilities are recorded for this implementation.

Documentation

References

Test vectors

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

← All algorithms