KISS (algorithm)
This article relies too much on references to primary sources. (October 2016) |
KISS (Keep it Simple Stupid) is a family of pseudorandom number generators introduced by George Marsaglia.[1][2][3] Starting from 1998 Marsaglia posted on various newsgroups including , comp.lang.c, and several versions of the generators. All KISS generators combine three or four independent random number generators with a view to improving the quality of randomness. KISS generators produce 32-bit or 64-bit random integers, from which random floating-point numbers can be constructed if desired. The original 1993 generator is based on the combination of a linear congruential generator and of two linear feedback shift-register generators. It has a period 295, good speed and good statistical properties; however, it fails the LinearComplexity test in the Crush and BigCrush tests of the TestU01 suite.[4] A newer version from 1999 is based on a linear congruential generator, a 3-shift linear feedback shift-register and two multiply-with-carry generators. It is 10–20% slower than the 1993 version but has a larger period 2123 and passes all tests in TestU01. In 2009 Marsaglia presented a version based on 64-bit integers (appropriate for 64-bit processors) which combines a multiply-with-carry generator, a Xorshift generator and a linear congruential generator.[5] It has a period of around 2250 (around 1075).
References[]
- ^ Marsaglia, George; Zaman, Arif (1993). "The KISS generator". Technical Report, Department of Statistics, Florida State University, Tallahassee, FL, USA.
- ^ Rose, Greg (2018). "KISS: A Bit Too Simple" (PDF). Cryptography and Communications. 10: 123–137. doi:10.1007/s12095-017-0225-x.
- ^ Kneusel, Ronald T. (2018). Random Numbers and Computers. Springer. ISBN 978-3-319-77696-5.
- ^ L'Ecuyer, Pierre; Simard, Richard (2007). "TestU01: A C Library for Empirical Testing of Random Number Generators". ACM Transactions on Mathematical Software. 33 (4): 22–es. doi:10.1145/1268776.1268777.
- ^ "64-bit KISS RNGs". Feb 28, 2009.
Further reading[]
- Bucklew, James (2013). "1.1 Uniform Generators". Introduction to Rare Event Simulation. Springer. pp. 1–8. ISBN 978-1-4757-4078-3.
- Robert, Christian; George Casella (2013). "2.1.2 The Kiss Generator". Monte Carlo Statistical Methods. Springer. pp. 39–43. ISBN 978-1-4757-3071-5.
- Rose, Gregory G. (2017). "KISS: A bit too simple". Cryptography and Communications. 10: 123–137. doi:10.1007/s12095-017-0225-x. ISSN 1936-2447.
- Pseudorandom number generators