RomuMono is the fastest member of the Romu (Rotate-Multiply) family of pseudo-random number generators. It uses only a single 64-bit state variable with rotation and multiplication operations to achieve extreme speed while maintaining acceptable statistical quality.
| Property | Value |
|---|---|
| Category | Random Number Generators |
| Sub-category | Non-Cryptographic PRNG |
| Security status | π Educational Only |
| Complexity | Beginner |
| Inventor | Mark Overton |
| Year | 2020 |
| Origin | πΊπΈ United States |
| Source | algorithms/random/romumono.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.
4 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 β Seed x=1: First four 64-bit outputs from RomuMono
| Field | Value |
|---|---|
seed |
0100000000000000 |
outputSize |
32 |
input |
null |
expected |
0100000000000000f4199c5eba627a02b80421e533ec27d6c21f9f404f373fa4 |
Vector 2 β Seed x=0: First four 64-bit outputs from RomuMono
| Field | Value |
|---|---|
seed |
0000000000000000 |
outputSize |
32 |
input |
null |
expected |
0000000000000000000000000000000000000000000000000000000000000000 |
Vector 3 β Seed x=0x0123456789ABCDEF: First four 64-bit outputs
| Field | Value |
|---|---|
seed |
efcdab8967452301 |
outputSize |
32 |
input |
null |
expected |
efcdab896745230111c2812d702ce264c14ed2dd0f1d50ea3afeeb5c4c652d2b |
Vector 4 β Seed x=0xFFFFFFFFFFFFFFFF: First four 64-bit outputs
| Field | Value |
|---|---|
seed |
ffffffffffffffff |
outputSize |
32 |
input |
null |
expected |
ffffffffffffffff0be663a9459d85fd68b456cc11b11dfae0d50bc593b1dc8f |