skip to Main Content

Overloaded memory chips generate truly random numbers for encryption

Random numbers – a vital part of encryption – are hard for computers to generate, but a new trick turns memory chips into a source of random noise

Computers struggle to create randomness, but a new approach may finally enable them to generate a truly random number.

Such numbers are a vital ingredient for cryptographic algorithms and scientific simulations, but computers, which are built for churning through tasks with guaranteed repeatability, can’t be easily made unpredictable. The apparent randomness that they can create, known as pseudorandomness, is enough for some applications, but telltale patterns within the output makes this inadequate in some cases.

True Random Number Generators produce numbers by sampling a physical source of randomness, such as radioactive decay or thermal noise. For example, the internet security firm Cloudflare uses a grid of 100 lava lamps watched by camera-equipped computers to generate random numbers, since the wax inside the lamps constantly changes shape in unpredictable ways.

In a similar vein, it is possible to use a quirk of one component in computers, DRAM memory chips, as a source of random noise. This can be done by deliberately asking more of these chips than manufacturers designed them for, and then monitoring the rate of errors produced. But generating random numbers with DRAM in this way can slow down the rest of the computer.

Nisa Bostanci at TOBB University of Economics and Technology in Ankara, Turkey, and her colleagues have developed a way to overcome this problem. They created a system that reduces the interference between memory being used to generate random numbers and memory being used run the computer as normal.

It predicts when memory will be sitting idle and creates a stockpile of random numbers in these periods. Once the supply is empty, it places requests for new random numbers in a queue with other software tasks and assigns them priorities to avoid clashes.

During 186 experimental scenarios, the system improved performance of normal computer operation by 17.9 per cent and random number generation by 25.1 per cent compared with previous DRAM random number-generating models.

“We all, mostly without realising it, rely on random numbers to keep our data secure online,” says John Graham-Cumming at Cloudflare. “They’re an essential part of any encrypted connection, such as when you bank online. But computers are entirely predictable and thus poor at creating random numbers, so a source of randomness… is an important part of keeping online communication private.”



Main image: B Christopher/Alamy

Read more:

Back To Top