Hawkynt

RomuDuo

RomuDuo is a two-state member of the Romu (Rotate-Multiply) family of pseudo-random number generators designed by Mark Overton. It balances speed and quality using rotation and multiplication operations on two 64-bit state variables. Recommended for general-purpose use, passing PractRand and BigCrush statistical tests.

Properties

Property Value
Category Random Number Generators
Sub-category Non-Cryptographic PRNG
Security status πŸŽ“ Educational Only
Complexity Intermediate
Inventor Mark Overton
Year 2020
Origin πŸ‡ΊπŸ‡Έ United States
Source algorithms/random/romuduo.js

Parameters

Parameter Supported values
Seed sizes 8 bytes (64 bits) to 16 bytes (128 bits)

Capabilities

Flag Value
IsDeterministic Yes
IsCryptographicallySecure No

Security

Status: πŸŽ“ Educational Only

No vulnerabilities are recorded for this implementation.

Documentation

References

Test vectors

4 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.

Vector 1 β€” Seed (1,1): First four 64-bit outputs from RomuDuo

Field Value
seed 01000000000000000100000000000000
outputSize 32
input null
expected 01000000000000004b574c4f803e83d30080a52ba6279859b76f895d29aa8955

Vector 2 β€” Seed (0,1): First four 64-bit outputs from RomuDuo

Field Value
seed 00000000000000000100000000000000
outputSize 32
input null
expected 00000000000000004b574c4f803e83d300000000000058ba8b12582028b07c07

Vector 3 β€” Seed via SplitMix64(0): First four 64-bit outputs

Field Value
seed 0000000000000000
outputSize 32
input null
expected afcd1d7b39a820e27cca66f3b3f1fc552917cf7337129456e29bccc704bef429

Vector 4 β€” Seed via SplitMix64(1): First four 64-bit outputs

Field Value
seed 0100000000000000
outputSize 32
input null
expected c15c0289ec2d0a912d43ca4aaebed118d469b2b764d4a9a2985f245643c8a42f

← All algorithms