A chaos machine in action. Dean Hochman, 2013, hosted on Wikimedia Commons.
Written by El Hebert '24
Edited by Alyssa Steinbaum '23
If it’s order you’re after, turn to a computer. They sort massive swathes of data and juggle complex equations with elegance and accuracy; they repeat patterns in perfect contentment forever. They want every bit and byte accounted for. So, naturally, computers fail when asked to produce chaos.
Randomness, as it turns out, is a tricky thing. An irrational number like pi is random, but it’s also perfectly predictable. The same goes for the pseudo-random number generators used by computers for everyday tasks, like deploying chance events in video games. These algorithms stir up random-looking numbers based on a “seed” value. But if anyone else has access to the seed, they can replicate the entire sequence of numbers for themselves, and all the seeming chaos becomes transparent [1].
This psuedo-randomness is good enough to raise a unique mountain in Minecraft, but computers do much more than run Minecraft. They handle our bank accounts, medical records, and personal conversations. They need cryptography. They need codes and keys that can’t be predicted from the outside at all. But where does a computer, marching along in its perfectly regular little world, get true randomness?
They get it from the real world, our world, where chaos is mundane, where entropy drives the universe. This task, which stumps a machine that could guide a moon landing, is as simple for us as flipping a coin.
Operating systems maintain a pool of entropy harvested from the real world, which they then feed to their pseudo-random algorithms, injecting them with unpredictability. Engineers have devised all manner of entropy-harvesting processes: some computers listen to atmospheric noise or cosmic background radiation; others listen to us, typing away on their keyboards at our irregular pace. Many CPUs measure their own temperature at higher levels of precision than their instruments can actually record - think of that last, wavering digit on the scale.
Cloudflare, a sprawling web infrastructure and security company, owns a patent entitled: “Method for seeding a pseudo-random number generator with a cryptographic hash of a digitization of a chaotic system.” All this jargon actually refers to a wall of lava lamps in the company’s San Francisco headquarters. A camera continuously films the bubbling goo, storing each image as a long string of numbers, which become input for a pseudo-random algorithm. It sits right in the lobby - any visitor can step inside and watch it in action. Chaos is a very accessible resource [1].
However, like any harvested material, the entropy from these sources takes time to “grow.” Temperature fluctuations, atmospheric noise, and lava lamp movements all have their own rate limits. Operations that require large amounts of high-quality randomness sometimes drain the computer’s entropy pools faster than they can be refilled, causing traffic jams in the system [2].
Fortunately, the chaos of the real world isn’t exclusive to large and slow events. Quantum-scale processes fizzle with light-speed randomness all around us - we just need to figure out how to harness them.
Earlier this February, a group of physicists here at Brown announced their discovery of such a technique. Headed by Gang Xiao, chair of the Physics Department, the team probed the behavior of tiny magnetic whirlpools known as skyrmions. These anomalies form in thin films of material, when electrons are first coaxed into alignment, then disturbed. Electric currents or magnetic fields can then propel them across the surface like a water strider crossing a pond.
Stable and controllable, skyrmions have attracted interest for their potential to carry information in future computing systems. But where researchers typically try to manipulate large collections of skyrmions, the Brown University group scrutinized a single skyrmion at a time, each less than two thousandths of a millimeter across [3].
They found that single skyrmions can be trapped in place by minute irregularities in their material. When pinned this way, a skyrmion starts to change its size, flickering between small and large states. These transitions are truly, unpredictably random - and they’re fast and measurable too. The researchers expect that a skyrmion random number generator could output up to 10 million digits per second [4]. Such efficient randomness should make any CPU sigh with relief.
From the largest scales to the smallest, chaos reigns on Earth. In our human lives, that’s a complaint, but in the world of secure computing, it’s a blessing.
References
[1] Liebow-Feeser J. Randomness 101: LavaRand in Production. The Cloudflare Blog. 2017 Nov 6 [cited 2022 Mar 20]. Available from: https://blog.cloudflare.com/randomness-101-lavarand-in-production.
[2] Kallal JS. random(4). Linux Manual [Online]. 1997 [cited 20 Mar 2022]; release 5.3. Available from: https://man7.org/linux/man-pages/man4/random.4.html.
[3] Wang K, Zhang Y, Bheemarasetty V, Zhou S, Ying SC, Xiao G. Single skyrmion true random number generator using local dynamics and interaction between skyrmions. Nature communications. 2022 Feb 7 [cited 2022 Mar 20];13(1):1-8. DOI: 10.1038/s41467-022-28334-4.
[4] Researchers use tiny magnetic swirls to generate true random numbers. News from Brown [Online]. 2022 Feb 7 [cited 2022 Mar 20]. Available from: https://www.brown.edu/news/2022-02-07/skyrmions.
Comments