TinyMT32 is a compact variant of Mersenne Twister with 127-bit state and period of 2^127-1. Designed for embedded systems where MT19937’s large state is impractical, it passes rigorous statistical tests while using minimal memory.
| Property | Value |
|---|---|
| Category | Random Number Generators |
| Sub-category | Pseudo-Random Number Generator |
| Security status | 🎓 Educational Only |
| Complexity | Intermediate |
| Inventor | Mutsuo Saito and Makoto Matsumoto |
| Year | 2011 |
| Origin | 🇯🇵 Japan |
| Source | algorithms/random/tinymt.js |
| Parameter | Supported values |
|---|---|
| Seed sizes | 4 bytes (32 bits) |
| Flag | Value |
|---|---|
IsDeterministic |
Yes |
IsCryptographicallySecure |
No |
Status: 🎓 Educational Only
No vulnerabilities are recorded for this implementation.
3 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — TinyMT32 with seed 1 (RFC 8682 test vector, first 10 outputs)
| Field | Value |
|---|---|
seed |
01000000 |
outputSize |
40 |
input |
null |
expected |
25d6b697e1e2863ab10573ddb0f14e8e 15550ad6f651b7e33631077e8bdfe582 a8b3e6a5edde912d |
Vector 2 — TinyMT32 with seed 1 (RFC 8682 extended test, outputs 11-20)
| Field | Value |
|---|---|
seed |
01000000 |
skipBytes |
40 |
outputSize |
40 |
input |
null |
expected |
d3235626bbdd9f6c3e838b34be20c2fa 681bf5db87a626c1d2be21ae633a85ed b0faecf30b96a202 |
Vector 3 — TinyMT32 with seed 1 (RFC 8682 extended test, outputs 21-30)
| Field | Value |
|---|---|
seed |
01000000 |
skipBytes |
80 |
outputSize |
40 |
input |
null |
expected |
cf0a6f8223b05ead288b586d71e8fce0 b36601b4d67153f2fe51e54965248cf0 d4ed60cbd366f320 |