New "Jitter Entropy" RNG Proposed For Linux

Written by Michael Larabel in Linux Kernel on 9 February 2013 at 09:59 AM EST. 10 Comments
LINUX KERNEL
The Linux kernel RNG implementation for providing random numbers has worked quite well for its years in use. However, a new jitter entropy generator implementation has been proposed that is capable of providing 100 kB/s throughput of randomness.

Among the Linux RNG shortcomings as it stands now is /dev/random suffering from blocking, there is no in-kernel equivalent to /dev/random, random and urandom need to be re-seeded during boot, in virtualized environments there isn't as much entropy due to lack of attached devices, generated keys for full-disk encryption may not have enough entropy in their pools, and parts of the code contain complex processing.

As a result of these RNG shortcomings, Stephan Mueller has proposed a new entropy generator that is based upon CPU timing jitter. By having this entropy generator based on CPU timing jitter, it doesn't maintain any state nor require a seed, is capable of 100 kB/s throughput in a non-blocking manner through a-synchronous generation, should be better for virtualized environments, the main part of the entropy collector is only about 10 lines of code, and statistical test suites pass the output of the collector.

Stephan has published this initial working jitter entropy generator code as a Linux kernel module and separately as a user-space application. Meanwhile, some kernel developers have expressed interest in a random number generator implementation based upon AES, but no code has been pushed forward yet.

Those wanting to examine this jitter entropy generator for Linux can find the code and additional details as part of this kernel mailing list post.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week