Séminaire de Cryptographie

Accueil     Présentation     Archives

Andrea Roeck


(Yet Another) Analysis of the Linux Random Number Generator

The Linux random number generator is part of the kernel since 1994. It collects entropy from user input, interrupts and disk movements and claims to output high quality random numbers. There are two different versions: /dev/random which blocks if the internal entropy count goes to zero and /dev/urandom which is faster since it produces as many bits as the user wants to. The only official definition of this RNG exists in the code itself which is subject to possible changes in new releases of the kernel. We want to give a detailed description of the current version. There exists previous attempts of describing this generator, especially the works of Barak and Halevi in 2005 and Gutterman et al. in 2006. However, the generator changed in the meantime and we want to describe it in more mathematical details.