MaD Family Pseudorandom Number Generators
MaD is a family of ultrafast pseudorandom number generators (PRNGs). Currently it is composed of four nonlinear generators:
MaD0, MaD1, and MaD2.
MaD family generators have a novel two-layer structure:
a byte-oriented layer for key scheduling and state initialization and
an integer-oriented layer for state update and pseudorandom number generation.
The state transition of the byte-oriented layer follows a pseudorandom permutation and
the state transition of the integer-oriented layer follows a pseudorandom mapping.
MaD generators cover noncryptographic, cryptographic, deterministic, and nondeterministic categories, and
can be used in a wide variety of applications such as computer simulation, data analysis, key generation, data encryption, lottery, etc.
MaD0
-- a general-purpose pseudorandom number generator (PRNG)
- Features:
- Noncryptographic
- Speed: 0.46 cycle/byte on an Intel Core i3 processor
- Randomness: passed
NIST,
Diehard, and
TestU01batteries of statistical tests
- Period: 2^1120 expected
- Internal state: 2304 bits
- Built-in initialization function that meets the strict avalanche criterion
- Quick recovery from biased states
- Ease of use for parallel and distributed applications
- Source code
- Paper:
Jie Li, Jianliang Zheng, and Paula Whitlock, MaD0: An Ultrafast Nonlinear Pseudorandom Number Generator,
ACM Transactions on Modeling and Computer Simulation (TOMACS), Volume 26 Issue 2, Article 13, January 2016.
MaD1
-- a pseudorandom number generator that can run in deterministic mode or nondeterministic mode
- Features:
- Cryptographically secure
- Deterministic or nondeterministic mode
- Key length: up to 64 bytes
- Speed: 0.61 cycle/byte on an Intel Core i3 processor
- Randomness: passed NIST, Diehard, and TestU01 batteries of statistical tests
- Period: 2^4224 expected
- Internal state: 8448 bits
- Strong resistance against various attacks
- A talk entitled "Efficient Deterministic and Nondeterministic Pseudorandom Number Generation" was given in the
10th IMACS Seminar on Monte Carlo Methods (MCM2015), Linz, Austria, July 2015.
- Paper:
Jie Li, Jianliang Zheng, and Paula Whitlock, Efficient Deterministic and Nondeterministic Pseudorandom Number Generation,
Mathematics and Computers in Simulation, Volume 143, pp 114-124, January 2018.
MaD2
-- a stream cipher
- Features:
- stream cipher
- Key length: up to 64 bytes
- Speed: 0.68 cycle/byte on an Intel Core i3 processor in the 2015 revised version
- Randomness: passed NIST, Diehard, and TestU01 batteries of statistical tests
- Internal state: 8448 bits
- Strong resistance against various attacks
- Paper:
Jie Li and Jianliang Zheng, MaD2: An Ultra-Performance Stream Cipher for Pervasive Data Encryption,
Foundations and Practice of Security,
Lecture Notes in Computer Science, Volume 7743, pp 1-17, Springer 2013.
Contact: jie dot li at farmingdale dot edu