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. The PRNG-generated sequence is not truly random, because it is completely determined by an initial value, called the PRNG's seed (which may include truly random values). Although sequences that are closer to truly random can be generated using hardware random number generators, pseudorandom number generators are important in practice for their speed in number generation and their reproducibility.[2]

PRNGs are central in applications such as simulations (e.g. for the Monte Carlo method), electronic games (e.g. for procedural generation), and cryptography. Cryptographic applications require the output not to be predictable from earlier outputs, and more 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."[3]

Potential issues

In practice, the output from many common PRNGs exhibit artifacts that cause them to fail statistical pattern-detection tests. These include:

  • Shorter-than-expected periods for some seed states (such seed states may be called "weak" in this context);
  • Lack of uniformity of distribution for large quantities of generated numbers;
  • Correlation of successive values;
  • Poor dimensional distribution of the output sequence;
  • Distances between where certain values occur are distributed differently from those in a random sequence distribution.

Defects exhibited by flawed PRNGs range from unnoticeable (and unknown) to very obvious. An example was the RANDU random number algorithm used for decades on mainframe computers. It was seriously flawed, but its inadequacy went undetected for a very long time.

In many fields, research work prior to the 21st century that relied on random selection or on Monte Carlo simulations, or in other ways relied on PRNGs, were much less reliable than ideal as a result of using poor-quality PRNGs.[4] Even today, caution is sometimes required, as illustrated by the following warning in the International Encyclopedia of Statistical Science (2010).[5]

The list of widely used generators that should be discarded is much longer [than the list of good generators]. Do not trust blindly the software vendors. Check the default RNG of your favorite software and be ready to replace it if needed. This last recommendation has been made over and over again over the past 40 years. Perhaps amazingly, it remains as relevant today as it was 40 years ago.

As an illustration, consider the widely used programming language Java. Up until 2020, Java still relied on a linear congruential generator (LCG) for its PRNG,[6][7] which is of low quality (see further below). Java support was upgraded with Java 17.

One well-known PRNG to avoid major problems and still run fairly quickly is the Mersenne Twister (discussed below), which was published in 1998. Other higher-quality PRNGs, both in terms of computational and statistical performance, were developed before and after this date; these can be identified in the List of pseudorandom number generators.

Generators based on linear recurrences

In the second half of the 20th century, the standard class of algorithms used for PRNGs comprised linear congruential generators. The quality of LCGs was known to be inadequate, but better methods were unavailable. Press et al. (2007) described the result thus: "If all scientific papers whose results are in doubt because of [LCGs and related] were to disappear from library shelves, there would be a gap on each shelf about as big as your fist."[8]

A major advance in the construction of pseudorandom generators was the introduction of techniques based on linear recurrences on the two-element field; such generators are related to linear-feedback shift registers.

The 1997 invention of the Mersenne Twister,[9] in particular, avoided many of the problems with earlier generators. The Mersenne Twister has a period of 219 937 − 1 iterations (≈ 4.3×106001), is proven to be equidistributed in (up to) 623 dimensions (for 32-bit values), and at the time of its introduction was running faster than other statistically reasonable generators.

In 2003, George Marsaglia introduced the family of xorshift generators,[10] again based on a linear recurrence. Such generators are extremely fast and, combined with a nonlinear operation, they pass strong statistical tests.[11][12][13]

In 2006, the WELL family of generators was developed.[14] The WELL generators in some ways improves on the quality of the Mersenne Twister, which has a too-large state space and a very slow recovery from state spaces with a large number of zeros.

Cryptographic PRNGs

A PRNG suitable for cryptographic applications is called a cryptographically-secure PRNG (CSPRNG). A requirement for a CSPRNG is that an adversary not knowing the seed has only negligible advantage in distinguishing the generator's output sequence from a random sequence. In other words, while a PRNG is only required to pass certain statistical tests, a CSPRNG must pass all statistical tests that are restricted to polynomial time in the size of the seed. Though a proof of this property is beyond the current state of the art of computational complexity theory, strong evidence may be provided by reducing to the CSPRNG from a problem that is assumed to be hard, such as integer factorization.[15] In general, years of review may be required before an algorithm can be certified as a CSPRNG.

Some classes of CSPRNGs include the following:

It has been shown to be likely that the NSA has inserted an asymmetric backdoor into the NIST-certified pseudorandom number generator Dual_EC_DRBG.[19]

Most PRNG algorithms produce sequences that are uniformly distributed by any of several tests. It is an open question, and one central to the theory and practice of cryptography, whether there is any way to distinguish the output of a high-quality PRNG from a truly random sequence. In this setting, the distinguisher knows that either the known PRNG algorithm was used (but not the state with which it was initialized) or a truly random algorithm was used, and has to distinguish between the two.[20] The security of most cryptographic algorithms and protocols using PRNGs is based on the assumption that it is infeasible to distinguish use of a suitable PRNG from use of a truly random sequence. The simplest examples of this dependency are stream ciphers, which (most often) work by exclusive or-ing the plaintext of a message with the output of a PRNG, producing ciphertext. The design of cryptographically adequate PRNGs is extremely difficult because they must meet additional criteria. The size of its period is an important factor in the cryptographic suitability of a PRNG, but not the only one.

BSI evaluation criteria

The German Federal Office for Information Security (German: Bundesamt für Sicherheit in der Informationstechnik, BSI) has established four criteria for quality of deterministic random number generators.[21] They are summarized here:

  • K1 – There should be a high probability that generated sequences of random numbers are different from each other.
  • K2 – A sequence of numbers is indistinguishable from "truly random" numbers according to specified statistical tests. The tests are the monobit test (equal numbers of ones and zeros in the sequence), poker test (a special instance of the chi-squared test), runs test (counts the frequency of runs of various lengths), longruns test (checks whether there exists any run of length 34 or greater in 20 000 bits of the sequence)—both from BSI[21] and NIST,[22] and the autocorrelation test. In essence, these requirements are a test of how well a bit sequence: has zeros and ones equally often; after a sequence of n zeros (or ones), the next bit a one (or zero) with probability one-half; and any selected subsequence contains no information about the next element(s) in the sequence.
  • K3 – It should be impossible for an attacker (for all practical purposes) to calculate, or otherwise guess, from any given subsequence, any previous or future values in the sequence, nor any inner state of the generator.
  • K4 – It should be impossible, for all practical purposes, for an attacker to calculate, or guess from an inner state of the generator, any previous numbers in the sequence or any previous inner generator states.

For cryptographic applications, only generators meeting the K3 or K4 standards are acceptable.

Mathematical definition

Given:

  • – a probability distribution on (where is the standard Borel set on the real line)
  • – a non-empty collection of Borel sets , e.g. . If is not specified, it may be either or , depending on context.
  • – a non-empty set (not necessarily a Borel set). Often is a set between 's support and its interior; for instance, if is the uniform distribution on the interval , might be . If is not specified, it is assumed to be some set contained in the support of and containing its interior, depending on context.

We call a function (where is the set of positive integers) a pseudo-random number generator for given taking values in if and only if:

( denotes the number of elements in the finite set .)

It can be shown that if is a pseudo-random number generator for the uniform distribution on and if is the CDF of some given probability distribution , then is a pseudo-random number generator for , where is the percentile of , i.e. . Intuitively, an arbitrary distribution can be simulated from a simulation of the standard uniform distribution.

Early approaches

An early computer-based PRNG, suggested by John von Neumann in 1946, is known as the middle-square method. The algorithm is as follows: take any number, square it, remove the middle digits of the resulting number as the "random number", then use that number as the seed for the next iteration. For example, squaring the number "1111" yields "1234321", which can be written as "01234321", an 8-digit number being the square of a 4-digit number. This gives "2343" as the "random" number. Repeating this procedure gives "4896" as the next result, and so on. Von Neumann used 10 digit numbers, but the process was the same.

A problem with the "middle square" method is that all sequences eventually repeat themselves, some very quickly, such as "0000". Von Neumann was aware of this, but he found the approach sufficient for his purposes and was worried that mathematical "fixes" would simply hide errors rather than remove them.

Von Neumann judged hardware random number generators unsuitable, for, if they did not record the output generated, they could not later be tested for errors. If they did record their output, they would exhaust the limited computer memories then available, and so the computer's ability to read and write numbers. If the numbers were written to cards, they would take very much longer to write and read. On the ENIAC computer he was using, the "middle square" method generated numbers at a rate some hundred times faster than reading numbers in from punched cards.

The middle-square method has since been supplanted by more elaborate generators.

A recent innovation is to combine the middle square with a Weyl sequence. This method produces high-quality output through a long period (see middle-square method).

Non-uniform generators

Numbers selected from a non-uniform probability distribution can be generated using a uniform distribution PRNG and a function that relates the two distributions.

First, one needs the cumulative distribution function of the target distribution :

Note that . Using a random number c from a uniform distribution as the probability density to "pass by", we get

so that

is a number randomly selected from distribution . This is based on the inverse transform sampling.

For example, the inverse of cumulative Gaussian distribution with an ideal uniform PRNG with range (0, 1) as input would produce a sequence of (positive only) values with a Gaussian distribution; however

  • When using practical number representations, the infinite "tails" of the distribution have to be truncated to finite values.
  • Repetitive recalculation of should be reduced by means such as ziggurat algorithm for faster generation.

Similar considerations apply to generating other non-uniform distributions such as Rayleigh and Poisson.

See also

References

  1. ^ Barker, Elaine; Barker, William; Burr, William; Polk, William; Smid, Miles (July 2012). "Recommendation for Key Management" (PDF). NIST Special Publication 800-57. NIST. doi:10.6028/NIST.SP.800-57p1r3. Retrieved 19 August 2013.
  2. ^ "Pseudorandom number generators". Khan Academy. Retrieved 2016-01-11.
  3. ^ Von Neumann, John (1951). "Various techniques used in connection with random digits" (PDF). National Bureau of Standards Applied Mathematics Series. 12: 36–38. Archived from the original (PDF) on 28 November 2022.
  4. ^ Press et al. (2007), chap.7
  5. ^ L'Ecuyer, Pierre (2010). "Uniform random number generators". In Lovric, Miodrag (ed.). International Encyclopedia of Statistical Science. Springer. p. 1629. ISBN 978-3-642-04897-5.
  6. ^ Random (Java Platform SE 8), Java Platform Standard Edition 8 Documentation.
  7. ^ Random.java at OpenJDK.
  8. ^ Press et al. (2007) §7.1
  9. ^ Matsumoto, Makoto; Nishimura, Takuji (1998). "Mersenne twister: a 623-dimensionally equi-distributed uniform pseudo-random number generator" (PDF). ACM Transactions on Modeling and Computer Simulation. 8 (1). ACM: 3–30. doi:10.1145/272991.272995. S2CID 3332028.
  10. ^ Marsaglia, George (July 2003). "Xorshift RNGs". Journal of Statistical Software. 8 (14). doi:10.18637/jss.v008.i14. S2CID 250501391.
  11. ^ S.Vigna. "xorshift*/xorshift+ generators and the PRNG shootout".
  12. ^ Vigna S. (2016), "An experimental exploration of Marsaglia’s xorshift generators", ACM Transactions on Mathematical Software, 42; doi:10.1145/2845077.
  13. ^ Vigna S. (2017), "Further scramblings of Marsaglia’s xorshift generators", Journal of Computational and Applied Mathematics, 315; doi:10.1016/j.cam.2016.11.006.
  14. ^ Panneton, François; L'Ecuyer, Pierre; Matsumoto, Makoto (2006). "Improved long-period generators based on linear recurrences modulo 2" (PDF). ACM Transactions on Mathematical Software. 32 (1): 1–16. doi:10.1145/1132973.1132974. S2CID 7368302.
  15. ^ Song Y. Yan (7 December 2007). Cryptanalytic Attacks on RSA. Springer, 2007. p. 73. ISBN 978-0-387-48741-0.
  16. ^ Niels Ferguson; Bruce Schneier; Tadayoshi Kohno (2010). "Cryptography Engineering: Design Principles and Practical Applications, Chapter 9.4: The Generator" (PDF).
  17. ^ Klaus Pommerening (2016). "IV.4 Perfect Random Generators". Cryptology. uni-mainz.de. Retrieved 2017-11-12.
  18. ^ Pass, Rafael. "Lecture 11: The Goldreich-Levin Theorem" (PDF). COM S 687 Introduction to Cryptography. Retrieved 20 July 2016.
  19. ^ Matthew Green (18 September 2013). "The Many Flaws of Dual_EC_DRBG".
  20. ^ Katz, Jonathan; Yehuda, Lindell (2014). Introduction to modern cryptography. CRC press. p. 70.
  21. ^ a b Schindler, Werner (2 December 1999). "Functionality Classes and Evaluation Methodology for Deterministic Random Number Generators" (PDF). Anwendungshinweise und Interpretationen (AIS). Bundesamt für Sicherheit in der Informationstechnik. pp. 5–11. Retrieved 19 August 2013.
  22. ^ "Security requirements for cryptographic modules". FIPS. NIST. 1994-01-11. p. 4.11.1 Power-Up Tests. Archived from the original on May 27, 2013. Retrieved 19 August 2013.

Bibliography

Read other articles:

Kabinet AnwarKabinet Pemerintahan Pasundan 5Dibentuk09 Januari 1950 (1950-01-09)Diselesaikan23 Januari 1950 (1950-01-23)Struktur pemerintahanKepala negaraWiranatakusumahKepala pemerintahanAnwar TjokroaminotoJumlah menteri11SejarahPendahuluDjumhana III Kabinet Anwar Tjokroaminoto adalah kabinet kelima yang dibentuk oleh Negara Pasundan. Kabinet tersebut terdiri dari 11 menteri. Masa jabatannya berlangsung dari 9 sampai 23 Januari 1950. Daftar pustaka Helius, Sjamsuddin; Ekadjati, Edi...

 

Untuk orang lain dengan nama yang sama, lihat Philip Hart (disambiguasi). Philip Hart Senator Amerika Serikat dari MichiganMasa jabatan3 Januari 1959 – 26 Desember 1976 PendahuluCharles E. PotterPenggantiDonald RiegleWakil Gubernur Michigan ke-51Masa jabatan1 Januari 1955 – 1 Januari 1959GubernurG. Mennen Williams PendahuluClarence A. ReidPenggantiJohn Swainson Informasi pribadiLahirPhilip Aloysius Hart(1912-12-10)10 Desember 1912Bryn Mawr, Pennsylvania, Amerika Seri...

 

2005–2010 Parliament of the United Kingdom ←2001–2005 Parliament 2010–2015 Parliament→Palace of Westminster in 2005OverviewLegislative bodyParliament of the United KingdomTerm5 May 2005 (2005-05-05) – 12 April 2010 (2010-04-12)Election2005 United Kingdom general electionGovernmentThird Blair ministry (until 27 June 2007)Brown ministry (from 27 June 2007) House of CommonsMembers646SpeakerMichael MartinJohn Bercow LeaderGeoff Hoo...

العلاقات الليبيرية الميانمارية ليبيريا ميانمار   ليبيريا   ميانمار تعديل مصدري - تعديل   العلاقات الليبيرية الميانمارية هي العلاقات الثنائية التي تجمع بين ليبيريا وميانمار.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: و�...

 

Native American leader For other uses, see Chipeta (disambiguation). ChipetaBorn1843 or 1844DiedAugust 9, 1924[a]Bitter Creek, Uintah and Ouray Indian Reservation, UtahNationalityKiowa Apache, AmericanOther namesWhite Singing BirdKnown forUte tribal leader and wise womanSpouse(s)Chief Ouray (1859–1880)Accumooquats (married by April 1, 1883)[1][2][b] Chipeta or White Singing Bird (1843 or 1844 – August 9, 1924) was a Native American leader, and the...

 

Cet article est une ébauche concernant un philosophe français. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Raymond ThaminFonctionRecteur d'académieBiographieNaissance 3 juin 1857BayeuxDécès 5 avril 1933 (à 75 ans)ParisSépulture Cimetière du Père-LachaiseNationalité françaiseFormation École normale supérieureFaculté des lettres de Paris (doctorat)Activités Philosophe, historien de la philo...

Disambiguazione – Se stai cercando altri significati, vedi Il Risorgimento. Logo per il 150º anniversario dell'unità d'Italia Il Risorgimento[1], processo storico noto anche con la locuzione Unità d'Italia e talvolta identificato come Rivoluzione italiana[2], è il periodo della storia italiana durante il quale l'Italia conseguì la propria unità nazionale[3]. La proclamazione del Regno d'Italia del 17 marzo 1861 fu l'atto che sancì, ad opera del Regno di Sarde...

 

Beza beralih ke halaman ini. Untuk desa di Iran, lihat Beza, Iran. Theodore BezaLahirThéodore de Bèze atau de Besze(1519-06-24)24 Juni 1519Vezelay, Burgundy, FranceMeninggal13 Oktober 1605(1605-10-13) (umur 86)Geneva, Republic of GenevaPekerjaanPastor, penulis, teologKarya terkenalSumma totius ChristianismiKiprah di bidang teologiTradisi atau gerakanReformed, Calvinist Theodore Beza Theodore Beza (bahasa Latin: Theodorus Beza; bahasa Prancis: Théodore de Bèze atau Théodore d...

 

Major railway and metro station in Tokyo, Japan Shinjuku Station新宿駅The south side of Shinjuku Station in November 2022General informationLocationShinjuku and Shibuya wards, TokyoJapanOperated by JR East Keio Corporation Odakyu Electric Railway Tokyo Metro Toei Subway Connections SS01 Seibu-Shinjuku E01 Shinjuku-nishiguchi M09 F13 S02 Shinjuku-sanchōme Shinjuku Expressway Bus Terminal Shinjuku Highway Bus Terminal Other informationStatusActiveHistoryOpened1 March 1885; 139 ...

I Am Brian WilsonTitolo originaleI Am Brian Wilson: A Memoir AutoreBrian WilsonBen Greenman 1ª ed. originale2016 Generebiografico Lingua originaleinglese ProtagonistiBrian Wilson CoprotagonistiThe Beach Boys Modifica dati su Wikidata · Manuale I Am Brian Wilson: A Memoir è l'autobiografia del musicista e compositore statunitense Brian Wilson, membro fondatore dei Beach Boys. Il libro di memorie venne scritto nel corso di svariati mesi di interviste rilasciate al ghostwriter Ben Greenm...

 

El texto que sigue es una traducción defectuosa. Si quieres colaborar con Wikipedia, busca el artículo original y mejora esta traducción.Copia y pega el siguiente código en la página de discusión del autor de este artículo: {{subst:Aviso mal traducido|Isla de San Martín}} ~~~~ Para otros usos de este término, véase Isla San Martín. Para otros usos de Saint Martin, véanse Saint-Martin y St. Martin. Isla de San Martín Ubicación geográficaContinente América del NorteReg...

 

Mountain in Washington (state), United States Not to be confused with Kit Carson Peak. Mount Kit CarsonMount Kit Carson (left) and Mount Spokane (center),as seen from northeast SpokaneHighest pointElevation5,286 ft (1,611 m) NAVD 88[1]Prominence322 ft (98 m)[1]Parent peakMount SpokaneCoordinates47°55′02″N 117°08′30″W / 47.9171°N 117.1418°W / 47.9171; -117.1418[2]GeographyMount Kit CarsonSpokane Coun...

SMP Negeri 2 BanjarnegaraLogo SMP N 2 BanjarnegaraInformasiDidirikan1 april 1977JenisSekolah Menengah PertamaAkreditasiAJumlah kelas8 kelas setiap tingkatRentang kelasVII, VIII, IXKurikulumKurikulum Tingkat Satuan PendidikanJumlah siswa720 siswa (30 siswa per kelas)Status[[]]AlamatLokasiJl. Tentara Pelajar No 31 Telp ( 0286 ) 591327, Banjarnegara, Jawa Tengah, IndonesiaTel./Faks.( 0286 ) 591327Moto SMP Negeri 2 Banjarnegara, atau disebut juga sebagai ESPHERO, adalah sebuah Sekolah M...

 

American politician (born 1954) For other people with the same name, see Jim Cooper (disambiguation). Jim CooperOfficial portrait, 2013Member of theU.S. House of Representativesfrom TennesseeIn officeJanuary 3, 2003 – January 3, 2023Preceded byBob ClementSucceeded byAndy OglesConstituency5th districtIn officeJanuary 3, 1983 – January 3, 1995Preceded byRedistrictedSucceeded byVan HillearyConstituency4th district Personal detailsBornJames Hayes Shofner Cooper (1954-06-19) ...

 

Untuk judul lagu Noah, lihat Separuh Aku. Separuh AkuGenreKomedi romantisSkenarioHilman HariwijayaCeritaHilman HariwijayaSutradaraAgusti TanjungPemeran Asmirandah Rezky Aditya Miller Khan Michella Putri Kevin Andrean Penggubah lagu tema David Ihsan Nurrachman Lagu pembukaSeparuh Aku oleh NoahLagu penutupSeparuh Aku oleh NoahPenata musikPurwacarakaNegara asalIndonesiaBahasa asliBahasa IndonesiaJmlh. musim1Jmlh. episode60ProduksiProduserLeo SutantoPengaturan kameraMulti-kameraDurasi60—1...

Papusza Wajs Bronislawa Wajs dite Papusza Données clés Nom de naissance Bronislawa Wajs Naissance 17 août 1908 Lublin ou Plonsk Décès 8 février 1987 (à 78 ans) Inowrocław Activité principale Poète, chanteuse, musicienne, diseuse de bonne aventure Auteur Langue d’écriture rromani, polonais Mouvement Inclassable Genres Poésie Œuvres principales Piesny Papuszy, Wroclaw, Ossolineum, 1956; Piesni Mowione, Lodz, 1973. modifier Bronisława Wajs, dite Papusza (Lublin?, 17 août 1...

 

Este artículo o sección necesita referencias que aparezcan en una publicación acreditada. Busca fuentes: «Babruisk» – noticias · libros · académico · imágenesEste aviso fue puesto el 6 de junio de 2012. Babruisk/BobruiskБабру́йск/Бобру́йск Ciudad subprovincial BanderaEscudo Babruisk/BobruiskLocalización de Babruisk/Bobruisk en Bielorrusia Babruisk/BobruiskLocalización de Babruisk/Bobruisk en Provincia de MaguilovCoordenadas 53°09′00″N 2...

 

Erich HermèsLa Maison de maître dite Rive Bleue, à la Route de Lausanne 392-394 à Versoix dans le canton de Genève en Suisse, aménagée entre 1926 et 1928 par l’architecte Henry Baudin (1876-1929) et décorée par Éric Hermès (1881–1971) pour Marc Birkigt.Naissance 18 janvier 1881Ludwigshafen-sur-le-Rhin, AllemagneDécès 21 juin 1971 (à 90 ans)Genève, SuisseAutres noms Éric HermèsNationalité SuisseActivité Peintre DessinateurFormation Écoles d'art de Genève (1899-190...

Divine or angelic race in J. R. R. Tolkien's legendarium For other uses, see Valar (disambiguation). Relationships between the Valar. The Valar (['valar]; singular Vala) are characters in J. R. R. Tolkien's legendarium. They are angelic powers or gods[T 1] subordinate to the one God (Eru Ilúvatar). The Ainulindalë describes how some of the Ainur choose to enter the world (Arda) to complete its material development after its form is determined by the Music of the Ainur. The ...

 

Opera by Jacques Offenbach This article is about Offenbach's opera. For the 1916 silent German film, see Tales of Hoffmann (film). For the 1923 film, see The Tales of Hoffmann (1923 film). For the 1951 film, see The Tales of Hoffmann (1951 film). Les contes d'HoffmannThe Tales of HoffmannOpéra fantastique by Jacques OffenbachScenes from the Paris premiereLibrettistJules BarbierLanguageFrenchBased onthree short storiesby E. T. A. HoffmannPremiere10 February 1881 (1881-02-10)Op�...