Why Computers Can Never Generate Truly Random Numbers

April 13, 2017 Written by Ashley Hamer

If you needed to make a choice at random, you might flip a coin or roll a die. If you did, you’d have a leg up on your computer. That’s because computer software can never generate a truly random number. That’s not so important when you want to play a favorite album on shuffle, but when it comes to high-stakes areas like security and gambling, it can mean everything.

Pick a Number, Any Number

Modern computers can do some pretty amazing things. So why can’t they do something as simple as simulating a dice roll? It all comes down to the way computers are programmed. Computers follow algorithms, which are essentially just lists of instructions on how to carry out tasks. They’re slaves to their instructions, so they’re completely predictable. Still, engineers are pretty savvy, and they’ve come up with a few different ways to make computers generate something very close to random numbers, even if they can’t generate true randomness.

As Close as Random Gets

One way to come up with seemingly random numbers is with a pseudo-random number generator. Those algorithms use things like mathematical formulas or predetermined number tables to create number sequences that appear random. These days, the algorithms that generate pseudo-random numbers are so good that it would take some real detective work to determine that the numbers aren’t actually random. Still, it’s possible. With the right programming chops, you could reverse-engineer the pseudo-random numbers used to run an online poker game or encrypt sensitive data and come out with a lot of other people’s money.

You could argue that true random number generators, the second method, actually do produce randomness. But we’d have you on a technicality there. Here’s why: True random number generators use physical phenomena to extract actual randomness, which they then use to generate a random number. Those physical phenomena could be as simple as a roll of real dice, but they’re more often easier-to-measure things like radioactive decay, background noise in the atmosphere, or even the amount of time between a person’s keystrokes. But that just provides the seed. There are still algorithms involved in true random number generators, and algorithms are never truly random.

Written by Ashley Hamer April 13, 2017