MOTE is a fast, small-state, cryptographically secure pseudo-random number generator (CSPRNG) and stream cipher. MOTE exhibits uniform distribution, mixes extremely rapidly, has no detected bias, and comes in three variants: MOTE8, with an internal state array of 8+4 32-bit words; MOTE16, with an internal state of 16+4 words; and MOTE32 with a 32+4-word state. The former permit seeding with a key of up to 256 or 512 bits, the latter with a 1024-bit key.
Reduced to essentials, MOTE is only 5 lines of code: Ten arithmetic and bitwise operations in all. It's called MOTE because a PRNG can't be made much smaller (or faster) without introducing bias or severely reducing avalanche.
MOTE alternates its shift and rotation constants unpredictably, and has passed the most stringent industry-standard tests for randomness and security, including NIST & DIEHARD.
Features
- Fast and cryptographically secure random number streams
- Tuned rotation constants bring rapid mixing (more than 21 bits avalanche)
- Rotation constants switched unpredictably on each round of the generator
- Seedable with keys up to 256, 512, or 1024 bits in length
- Extremely long periods: Guaranteed to be well in excess of 2**256
- The essential RNG can be coded in just 5 lines of C
- MOTE has passed the most stringent industry-standard tests: NIST and DIEHARD
- Implemented identically in C and Pascal, with full source code and sample programs
- Includes the MOTET Cipher & SE Scrambler, a fast encryption program in C
- Package includes comprehensive test results for all MOTE variants
- Test MOTE yourself: several PRNG test programs are included in the distribution