List of random number generators
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[2]
- ComScire[3]
- Entropy Key[4]
- Fox-IT Fox RandomCard[5]
- ID Quantique[6]
- Intel 810/815/840/845G chipsets[7]
- Intel RdRand instruction[8]
- LETech[9]
- QuintessenceLabs[10]
- TectroLabs[11]
- TRNG98[12]
- true-random.com[13]
- VIA Padlock engine
Random number servers
You may download true random numbers from some 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[14]
- Australian National University[15]
- Humboldt University of Berlin (registration required)
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:
- Block ciphers in counter mode
- Cryptographic hash function
- Stream ciphers
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
- TRaNGen - 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".
- ↑ "Araneus Alea I". Araneus.
- ↑ "ComScire". comscire.
- ↑ "Entropy Key".
- ↑ "Fox-IT Fox RandomCard". Fox-IT.
- ↑ "From Vision to Technonogy". IDQ.
- ↑ "Intel Security Driver". Intel.
- ↑ "Intel Bull Mountain Technology". Intel.
- ↑ "GRANG".
- ↑ "QuintessenceLabs".
- ↑ "TL200". TectroLabs. Retrieved 10 November 2013.
- ↑ "TRNG98 True Random Number Generators". TRNG98.
- ↑ "True hardware random number generators". Dr. Rolf Freitag.
- ↑ "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