feature article
Subscribe Now

Finding Meaning in Randomness

New Research Uncovers a Way to Generate High-Quality Random Numbers

“Anyone who attempts to generate random numbers by deterministic means is, of course, living in a state of sin.” – John von Neumann

Two days of the week are named after celestial bodies (the sun and moon), another four are named after Norse gods (Tyr, Odin, Thor, and Freida), and one after a Roman god (Saturn). What’s up with that?

Four consecutive months on the calendar have numeric names in Latin (septem, octo, novem, and decem) – but they’re wrong. September is the ninth month, not the seventh, December is twelfth, not tenth, and so on. Two other months are named after emperors (Julius and Augustus), and four others after Roman gods (Janus, Mars, Maia, and Juno). That leaves two, which aren’t named after anything, really.

Who’s in charge here?

Maybe it just seems peculiar to English-speakers. Surely other languages and cultures have more rational systems? No, not really. In Japanese, the days are named for the ancient elements of fire, water, earth, etc.  – except for Sunday and Monday. In German, the names of the weeks are just as arbitrary, except that Tuesday, Wednesday and Thursday translate literally as “service day, mid-week, and thunder day.” Oh, dear. Thor was the god of thunder, so at least that one is consistent with the English translation, if equally nonsensical.

After the French Revolution, the revolutionaries tried to rationalize their calendar, decreeing a kind of metric system for dates, with 12 equal months of three 10-day weeks. Very sensible. It lasted about a dozen years.

In the United States, Daylight Saving Time is now observed for more than six months out of the year, which means offsetting time by an hour is now the rule, rather than the exception. Except in areas where it’s not observed at all. (Each state sets its own rules. How mediaeval.)

In most of the world, QWERTY keyboards are the norm, even in countries where English isn’t the primary language (where you’ll see things like AZERTY keyboards). And the QWERTY layout was designed specifically to be inefficient. Almost any alternative would be better from an ergonomic point of view. And yet it persists.

Early automobiles didn’t have steering wheels or foot pedals. Those didn’t arrive until much later, gradually becoming the norm as automakers experimented with a variety of other random control methods. Today’s standardized wheel-and-pedals UI emerged more or less by chance.

Twitter is limited to 140 characters. Why 140? Who knows, but whatever limit it imposed, we’d always ask, “Why that number in particular?” Some things are just random. They happen, and our brains are trained to look for patterns, explanations, or causal effects. Sometimes there aren’t easy patterns, causes, or explanations, as much as we may struggle to find one.

Leveraging that randomness and lack of causality for the forces of good are two researchers at the University of Texas at Austin, who think they’ve discovered a new way to generate random numbers. True randomness has always been difficult to create with computers or electronic circuits, which are by nature manmade and predictable. The usual trick is to inject some piece of randomness from the real world, such as measurements of air temperature, decay of a radioactive isotope, or the nth decimal place on an atomic clock.

To the average observer, these are random measurements, making them good seeds for a random-number generator. But to a purist, they’re not random enough. The exact air temperature may be unpredictable at any given moment, but it’s going to be close to the air temperature taken a few minutes ago, or a few minutes from now. Sampling the stock price of a random company on a random date also seems random, but stock prices follow a rise/fall pattern that’s not completely random (much as it may seem so to the luckless investor).

Simply stated, the UT/A researchers combined two random and unrelated samples to create a super-random seed. While that seems like a pretty straightforward concept – heck, why not just gather three samples while you’re at it? – it’s the mathematics of combining the two samples that’s the real breakthrough. Lead researcher Zuckerman says he’s spent more than 20 years trying to solve this exact problem.

It’s fairly easy to find a source of randomness to seed a random number generator (RNG). But because the quality of the RNG’s output relies so heavily on its input, there’s a tricky balance between “true” randomness and cost-effectiveness. Truly random sources of input are both expensive and difficult to locate. Your average 50-cent microcontroller isn’t going to contain a cesium clock just for purposes of sampling its decay characteristics. So, instead, we rely on “weakly random” sources that are good enough, for the most part.

Zuckerman and coauthor Chattopadhyay still use commonly availably “weakly random” sources, but they combine two different ones in such a way that the result is far more random than either would be by itself. It’s like combining two base metals and creating RNG gold.

Best of all, Zuckerman and Chattopadhyay say that, although the mathematics involved in combining the two samples is complex, it’s relatively easy to implement in hardware or software. Much easier than previous methods, they say. That’s good news for chipmakers and for developers creating their own RNG hardware or software. The combination of two middling-quality seeds along with the new algorithm should create a very high-quality RNG for less money than the alternatives.

It’s not that high-quality random numbers were impossible to generate before. It’s that they were either too expensive or too resource-hungry, or both. The UT/A paper should show the way to a lower-cost method of achieving higher quality results, with implications for security and cryptography, or almost anything else these days.

Now, if only we could discover a few sources of random behavior. I’ll have to mark that on my calendar…

Leave a Reply

featured blogs
Dec 3, 2021
Hard to believe it's already December and 11/12ths of a year's worth of CFD is behind us. And with the holidays looming, it's uncertain how many more editions of This Week in CFD are... [[ Click on the title to access the full blog on the Cadence Community sit...
Dec 3, 2021
Explore automotive cybersecurity standards, news, and best practices through blog posts from our experts on connected vehicles, automotive SoCs, and more. The post How Do You Stay Ahead of Hackers and Build State-of-the-Art Automotive Cybersecurity? appeared first on From Si...
Dec 3, 2021
Believe it or not, I ran into John (he told me I could call him that) at a small café just a couple of evenings ago as I pen these words....
Nov 8, 2021
Intel® FPGA Technology Day (IFTD) is a free four-day event that will be hosted virtually across the globe in North America, China, Japan, EMEA, and Asia Pacific from December 6-9, 2021. The theme of IFTD 2021 is 'Accelerating a Smart and Connected World.' This virtual event ...

featured video

Emulation and Prototyping to Accelerate Your Product Development Process

Sponsored by Cadence Design Systems

Validate your most sophisticated SoC designs before silicon and stay on schedule. Full system verification and early software development is possible with Cadence Palladium and Protium Dynamic Duo for IP/SoC verification, hardware and software regressions, full system verification, and early software development.

Click here for more information about Emulation and Prototyping from Cadence Design Systems

featured paper

How to Fast-Charge Your Supercapacitor

Sponsored by Analog Devices

Supercapacitors (or ultracapacitors) are suited for short charge and discharge cycles. They require high currents for fast charge as well as a high voltage with a high number in series as shown in two usage cases: an automatic pallet shuttle and a fail-safe backup system. In these and many other cases, the fast charge is provided by a flexible, high-efficiency, high-voltage, and high-current charger based on a synchronous, step-down, supercapacitor charger controller.

Click to read more

featured chalk talk

Build, Deploy and Manage Your FPGA-based IoT Edge Applications

Sponsored by Mouser Electronics and Intel

Designing cloud-connected applications with FPGAs can be a daunting engineering challenge. But, new platforms promise to simplify the process and make cloud-connected IoT design easier than ever. In this episode of Chalk Talk, Amelia Dalton chats with Tak Ikushima of Intel about how a collaboration between Microsoft and Intel is pushing innovation forward with a new FPGA Cloud Connectivity Kit.

Click here for more information about Terasic Technologies FPGA Cloud Connectivity Kit