Xorshift1024* is a large-state xorshift pseudo-random number generator with multiplicative scrambling by Sebastiano Vigna. Uses 1024 bits of state for a period of 2^1024-1, making it suitable for parallel applications. Features golden ratio multiplier for output quality.
| Property | Value |
|---|---|
| Category | Random Number Generators |
| Sub-category | Non-Cryptographic PRNG |
| Security status | 🎓 Educational Only |
| Complexity | Intermediate |
| Inventor | Sebastiano Vigna |
| Year | 2014 |
| Origin | 🇮🇹 Italy |
| Source | algorithms/random/xorshift1024star.js |
| Parameter | Supported values |
|---|---|
| Seed sizes | 8 bytes (64 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 — Seed=1: First four 64-bit outputs from xorshift1024* (official reference)
| Field | Value |
|---|---|
seed |
0100000000000000 |
outputSize |
32 |
input |
null |
expected |
ebec18c6c320b75ff0c3e55baa47687a9fda494782f91f6578beb9d0157ed311 |
Vector 2 — Seed=0: First four 64-bit outputs (zero seed initialization)
| Field | Value |
|---|---|
seed |
0000000000000000 |
outputSize |
32 |
input |
null |
expected |
d66fb9683583763f7e3e02cd0d1b704985bbd386166f265f7da6a5f93a72f14d |
Vector 3 — Seed=12345: First four 64-bit outputs
| Field | Value |
|---|---|
seed |
3930000000000000 |
outputSize |
32 |
input |
null |
expected |
f0eb9cd17d61a08e9a889e3235eae19970744689e4cf1fda4b9d595ecb44b440 |
Vector 4 — Seed=0xDEADBEEF: First four 64-bit outputs
| Field | Value |
|---|---|
seed |
efbeadde00000000 |
outputSize |
32 |
input |
null |
expected |
3fae770327913ba438267944642a8ba9c7c06767d60c319e99cad00ed5565195 |
Vector 5 — Seed=1000000: First six 64-bit outputs (large seed test)
| Field | Value |
|---|---|
seed |
40420f0000000000 |
outputSize |
48 |
input |
null |
expected |
e7438768d321bb87a6ae572109ee2388 0f85c9c0cd4bde5c0603680e40371b26 d201f4cf7f0e9e870a034214cfa6af09 |
Vector 6 — Seed=0xFFFFFFFFFFFFFFFF: Maximum seed value test
| Field | Value |
|---|---|
seed |
ffffffffffffffff |
outputSize |
32 |
input |
null |
expected |
ff8b751a747b5b338dff602bc75ead46e4dc5b1ab29c51f528f5a435034c4f00 |