Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Pseudorandom number generator
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Algorithm that generates an approximation of a random number sequence}} {{Hatnote|This page is about commonly encountered characteristics of pseudorandom number generator algorithms. For the formal concept in theoretical computer science, see [[Pseudorandom generator]].}} A '''pseudorandom number generator''' ('''PRNG'''), also known as a '''deterministic random bit generator''' ('''DRBG'''),<ref>{{cite journal|last=Barker|first=Elaine|title=Recommendation for Key Management|url=http://csrc.nist.gov/publications/nistpubs/800-57/sp800-57_part1_rev3_general.pdf|journal=NIST Special Publication 800-57|publisher=[[NIST]]|access-date=19 August 2013|author2=Barker, William |author3=Burr, William |author4=Polk, William |author5= Smid, Miles |date=July 2012|doi=10.6028/NIST.SP.800-57p1r3 }}</ref> is an [[algorithm]] for generating a sequence of numbers whose properties approximate the properties of sequences of [[random number generation|random numbers]]. The PRNG-generated sequence is not truly [[random]], because it is completely determined by an initial value, called the PRNG's ''[[random seed|seed]]'' (which may include truly random values). Although sequences that are closer to truly random can be generated using [[hardware random number generator]]s, '''''pseudorandom number generators''''' are important in practice for their speed in number generation and their reproducibility.<ref>{{Cite web|title = Pseudorandom number generators|url = https://www.khanacademy.org/computing/computer-science/cryptography/crypt/v/random-vs-pseudorandom-number-generators|website = Khan Academy|access-date = 2016-01-11}}</ref> PRNGs are central in applications such as [[simulation]]s (e.g. for the [[Monte Carlo method]]), [[electronic game]]s (e.g. for [[procedural generation]]), and [[cryptography]]. Cryptographic applications require the output not to be predictable from earlier outputs, and more [[cryptographically-secure pseudorandom number generator|elaborate algorithms]], which do not inherit the linearity of simpler PRNGs, are needed. Good statistical properties are a central requirement for the output of a PRNG. In general, careful mathematical analysis is required to have any confidence that a PRNG generates numbers that are sufficiently close to random to suit the intended use. [[John von Neumann]] cautioned about the misinterpretation of a PRNG as a truly random generator, joking that "Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin."<ref>{{cite journal|last=Von Neumann|first=John|title=Various techniques used in connection with random digits|journal=National Bureau of Standards Applied Mathematics Series|year=1951|volume=12|pages=36β38|url=https://dornsifecms.usc.edu/assets/sites/520/docs/VonNeumann-ams12p36-38.pdf|archive-url=http://web.archive.org/web/20221128083015/https://dornsifecms.usc.edu/assets/sites/520/docs/VonNeumann-ams12p36-38.pdf |archive-date=28 November 2022 }}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)