Recent pieces in the technical news[1, 2, 3] underscore an unusual fact:
Randomness is hard to make.
Randomness, simulated or real, is incredibly useful. Among applications:
- games — card shuffling, roulette wheels, dice, maze generation
- exams — selecting questions for quizzes, answer key ordering
- medicine — clinical trial subject randomization, demographic statistical studies
- simulations — stock market analysis, weather modeling, classical and quantum physics
- security — cryptography, attack simulation, communications, fuzzing, blockchains
- computation — stochastic computing, signal processing (speech, EEG, ECG ...), AI
- engineering — materials testing, black-box software tests
Billions of random numbers may be needed for large applications and in any activities needing long-running, one-time "unique" sequences. Computers are really good at making and processing lots and lots of numbers. How about random numbers?
Getting long sequences of truly random numbers is hard. Algorithmically-generated sequences, i.e., pseudo-random numbers[4, 5], have been around for decades. They are good enough for lightweight applications like putting monsters in a game maze. Really good sequences (non-repeating, unpredictable, lengthy) are hard to come by because many techniques "wrap around" and start sending out the same series or have hidden patterns in their sequences.
When in doubt, punt the problem to someone who's solved it already. Everything's already in The Cloud!
The U.S. National Institute of Standards and Technology has a publicly-available random-number site, the NIST Randomness Beacon. The site produces numbers for the scientific community. NIST warns their numbers are not to be used for cryptography, and NIST uses large, red letters to say so:
Suspicions are that NIST ships its sequences to agencies such as the U.S. National Security Administration ahead of release[6].
Okay, but what if we want our own truly random numbers for ... whatever purpose? How hard can it be to make some[7]? And how can we make them without buying expensive computers, equipment, and hardware? Not a lot of people have NIST's budget.
Sounds like a fun hobby project.
Notes
- C. Abellán, V. Pruner, "The Future of Cybersecurity Is the Quantum Random Number Generator", IEEE Spectrum, 28 Jun 2018
- S. Chen, "Random number generators go public", Science, 29 June 2018, DOI: 10.1126/science.360.6396.1383
- R. Mandelbaum, "This Random Number Generator Could Be The Most Random Ever", Gizmodo, April 2018
- "Introduction to Pseudorandom Numbers", Oak Ridge National Laboratory
- D.E. Knuth, "Random Numbers", The Art of Computer Programming, Vol 2: Semi-numerical Algorithms, 3rd Edition, Addison-Wesley, 1997
- "How useful is NIST's Randomness Beacon for cryptographic use?", Stackexchange, 2013
- "How hard can it be?" is the techie equivalent of "Hey y'all, watch this!"
Background bubble image from PNG Tree, the free PNG site.
Disney's So Random is a teenage musical sketch comedy show. The show aired 2011-2012. Image copyright 2011 Walt Disney Corporation.


No comments:
Post a Comment