Extracting Randomness from External Interrupts

J. Castejón-Amenedo, R. McCue, and B.H. Simov (USA)


randomness, pseudo-random number generator, bias removal


We present a method for generating random bits on a computer system using interrupts from external sources (e.g., keyboard strokes, hard-disk I/O completions, net work packet arrivals, etc). We show how a sequence of timestamps of external interrupts can be converted into a uniformly distributed random sequence of 0's and 1's. We also describe how the random sequence can later be used in blocking (/dev/random) and nonblocking (/dev/urandom) devices for providing a source of ran dom bits in an UNIX environment. Our method was originally designed for servers based on the PA RISC and IA-64 architectures, and has already successfully been used to create random bit sources in those platforms. At the same time the method is general enough so that it could be deployed on a much wider spectrum of computer system architectures.

Important Links:

Go Back