Jump to content

Pseudorandomness

From Wikipedia, the free encyclopedia
(Redirected fromPseudorandom)

Apseudorandomsequence of numbers is one that appears to bestatistically random,despite having been produced by a completelydeterministicand repeatable process.[1]Pseudorandom number generatorsare often used in computer programming, as traditional sources of randomness available to humans (such as rolling dice) rely on physical processes not readily available to computer programs, although developments inhardware random number generatortechnology have challenged this.

Background

[edit]

The generation of random numbers has many uses, such as forrandom sampling,Monte Carlo methods,board games,orgambling.Inphysics,however, most processes, such as gravitational acceleration, are deterministic, meaning that they always produce the same outcome from the same starting point. Some notable exceptions areradioactive decayandquantum measurement,which are both modeled as being truly random processes in the underlying physics. Since these processes are not practical sources of random numbers, pseudorandom numbers are used, which ideally have the unpredictability of a truly random sequence, despite being generated by a deterministic process.[2]

In many applications, the deterministic process is acomputer algorithmcalled apseudorandom number generator,which must first be provided with a number called arandom seed.Since the same seed will yield the same sequence every time, it is important that the seed be well chosen and kept hidden, especially insecurityapplications, where the pattern's unpredictability is a critical feature.[3]

In some cases where it is important for the sequence to be demonstrably unpredictable, physical sources of random numbers have been used, such as radioactive decay, atmospheric electromagnetic noise harvested from a radio tuned between stations, or intermixed timings ofkeystrokes.[1][4]The time investment needed to obtain these numbers leads to a compromise: using some of these physics readings as a seed for a pseudorandom number generator.

History

[edit]

Before modern computing, researchers requiring random numbers would either generate them through various means (dice,cards,roulette wheels,[5]etc.) or use existing random number tables.

The first attempt to provide researchers with a ready supply of random digits was in 1927, when the Cambridge University Press published a table of 41,600 digits developed byL.H.C. Tippett.In 1947, theRAND Corporationgenerated numbers by the electronic simulation of a roulette wheel;[5]the results were eventually published in 1955 asA Million Random Digits with 100,000 Normal Deviates.

In computational complexity

[edit]

Intheoretical computer science,adistributionispseudorandomagainst a class of adversaries if no adversary from the class can distinguish it from the uniform distribution with significant advantage.[6] This notion of pseudorandomness is studied incomputational complexity theoryand has applications tocryptography.

Formally, letSandTbe finite sets and letF= {f:ST} be a class of functions. AdistributionDoverSis ε-pseudorandomagainstFif for everyfinF,thestatistical distancebetween the distributionsand,whereis sampled fromDandis sampled from theuniform distributiononS,is at most ε.

In typical applications, the classFdescribes a model of computation with bounded resources and one is interested in designing distributionsDwith certain properties that are pseudorandom againstF.The distributionDis often specified as the output of apseudorandom generator.[7]

See also

[edit]

Further reading

[edit]
  • Donald E. Knuth (1997)The Art of Computer Programming,Volume 2: Seminumerical Algorithms (3rd edition).Addison-Wesley Professional,ISBN0-201-89684-2
  • Goldreich, Oded (2008).Computational Complexity: A Conceptual Perspective.Cambridge University Press.ISBN978-0-521-88473-0.See especially Chapter 8: Pseudorandom generators, pp. 284–348, and Appendix C.2: Pseudorandomness, pp. 490–493.
  • Vadhan, S. P. (2012). "Pseudorandomness".Foundations and Trends in Theoretical Computer Science.7(1–3): 1–336.doi:10.1561/0400000010.
[edit]

References

[edit]
  1. ^abGeorge Johnson (June 12, 2001)."Connoisseurs of Chaos Offer A Valuable Product: Randomness".The New York Times.
  2. ^S. P. Vadhan (2012).Pseudorandomness.pseudorandomness, the theory of efficiently generating objects that "look random" despite being constructed using little or no randomness
  3. ^Mark Ward (August 9, 2015)."Web's random numbers are too weak, researchers warn".BBC.
  4. ^Jonathan Knudson (January 1998). "Javatalk: Horseshoes, hand grenades and random numbers".Sun Server.pp. 16–17.
  5. ^ab"A Million Random Digits".RAND Corporation. January 2001.RetrievedMarch 30,2017.
  6. ^Oded Goldreich. Computational Complexity: A Conceptual Perspective. Cambridge University Press. 2008.
  7. ^"Pseudorandomness"(PDF).
  8. ^D. Eastlake, 3rd; J. Schiller; S. Crocker (June 2005).Randomness Requirements for Security.doi:10.17487/RFC4086.BCP 106.RFC4086.{{citation}}:CS1 maint: numeric names: authors list (link)Best Common Practice.ObsoletesRFC1750.