List of random number generators - Wikipedia Cipher algorithms and cryptographic hashes can be used as very high-quality pseudorandom number generators However, generally they are considerably slower (typically by a factor 2–10) than fast, non-cryptographic random number generators These include: Stream ciphers Popular choices are Salsa20 or ChaCha (often with the number of rounds reduced to 8 for speed), ISAAC, HC-128 and RC4
Pseudorandom number generator - Wikipedia Pseudorandom number generator A pseudorandom number generator (PRNG), also known as a deterministic random bit generator (DRBG), [1] is an algorithm for generating a sequence of numbers whose properties approximate the properties of sequences of random numbers
Mersenne Twister - Wikipedia Visualisation of generation of pseudo-random 32-bit integers using a Mersenne Twister The 'Extract number' section shows an example where integer 0 has already been output and the index is at integer 1 'Generate numbers' is run when all integers have been output For a w -bit word length, the Mersenne Twister generates integers in the range The Mersenne Twister algorithm is based on a
Linear congruential generator - Wikipedia A linear congruential generator (LCG) is an algorithm that yields a sequence of pseudo-randomized numbers calculated with a discontinuous piecewise linear equation
Blum Blum Shub - Wikipedia The performance of the BBS random-number generator depends on the size of the modulus M and the number of bits per iteration j While lowering M or increasing j makes the algorithm faster, doing so also reduces the security
Fortuna (PRNG) - Wikipedia Fortuna is a cryptographically secure pseudorandom number generator (CS-PRNG) devised by Bruce Schneier and Niels Ferguson and published in 2003 It is named after Fortuna, the Roman goddess of chance
Xorshift - Wikipedia Example random distribution of Xorshift128 Xorshift random number generators, also called shift-register generators, are a class of pseudorandom number generators that were invented by George Marsaglia [1] They are a subset of linear-feedback shift registers (LFSRs) which allow a particularly efficient implementation in software without the excessive use of sparse polynomials [2] They
ISAAC (cipher) - Wikipedia ISAAC (indirection, shift, accumulate, add, and count) is a cryptographically secure pseudorandom number generator and a stream cipher designed by Robert J Jenkins Jr in 1993 [1] The reference implementation source code was dedicated to the public domain [2] "I developed ( ) tests to break a generator, and I developed the generator to pass the tests The generator is ISAAC " [3]