List of random number generators
Appearance
Computer random number generators are important in mathematics, cryptography and gambling (on game servers).
This list includes many common types, regardless of quality.
Pseudorandom number generators (PRNGs)
The following algorithms are pseudorandom number generators:
- Blum Blum Shub
- Wichmann-Hill
- Complementary-multiply-with-carry
- Inversive congruential generator
- ISAAC (cipher)
- Lagged Fibonacci generator
- Linear congruential generator - of historical importance
- Linear feedback shift register
- Maximal periodic reciprocals
- Mersenne twister - the most widely used PRNG [1]
- Multiply-with-carry
- Naor-Reingold Pseudorandom Function
- Park–Miller random number generator
- RC4 PRGA
- Well Equidistributed Long-period Linear
- Xorshift
- Rule 30
Hardware (True) Random Number Generators (TRNGs)
The following is a list of companies that produce hardware random number generators:
- Araneus Alea
- ComScire
- Entropy Key
- Fox-IT Fox RandomCard
- ID Quantique
- Intel 810/815/840/845G chipsets
- Intel RdRand instruction
- LETech
- QuintessenceLabs
- TectroLabs
- TRNG98
- VIA Padlock engine
- Kidekin TRNG
- OneRNG
- BitBabbler
Random number servers
You may download true random numbers from these sites:
- appIncredible.com Supports pseudo-random and Cryptographic-random number generation. Also supports decimals, multiple numbers, negative numbers, unique numbers, sorting and sets.
- HotBits
- random.org
- EntropyPool
- randomnumbers.info
- Randomserver Supports various distributions of random numbers; uses a TRNG9803[2]
- Australian National University[3]
- Humboldt University of Berlin (registration required)
You may generate pseudo-random numbers from these sites:
- randomgenerator.net Generates both negative and positive numbers for integers and decimals. Also supports multiple numbers.
- andrew.hedges.name
- randomnumbergenerator.com
Note: random numbers transferred over the public internet are not cryptographically secure for most purposes.
Cryptographic algorithms
Cipher algorithms and cryptographic hashes can also be used as pseudorandom number generators. These include:
Well-known PRNG APIs
- Random class in the .NET Framework
- Random class in the Java programming language
- SecureRandom class in the Java programming language
- Random module in the Haskell 98 specifications
Random number generators that use external entropy
- TRaNGen2 - Microsoft Windows
- CryptGenRandom - Microsoft Windows
- Fortuna
- Yarrow - Mac OS X and FreeBSD
- /dev/random - Linux and Unix
- LavaRnd - The open-source (LGPL) successor to Lavarand
See also
- Diceware
- Diehard tests - statistical test suite for random number generators.
- Hardware random number generator
- Random number generator attack
- Randomness
References
- ^ E.g. Marsland S. (2011) Machine Learning (CRC Press), §14.1.1. Also see the section "Adoption in software systems".
- ^ "randomserver". Free Download of True Random Numbers.
- ^ Thomas Symul; Syed M. Assad; Ping Koy Lam (2011-06-07), "Real time demonstration of high bitrate quantum random number generation with coherent laser light", Applied Physics Letters, 98 (23): 231103, arXiv:1107.4438, doi:10.1063/1.3597793