Paper 2012/251

The Linux Pseudorandom Number Generator Revisited

Patrick Lacharme, Andrea Röck, Vincent Strubel, and Marion Videau


The Linux pseudorandom number generator (PRNG) is a PRNG with entropy inputs which is widely used in many security related applications and protocols. This PRNG is written as an open source code which is subject to regular changes. It was last analyzed in the work of Gutterman et al. in 2006 [GPR06] but since then no new analysis has been made available, while in the meantime several changes have been applied to the code, among others, to counter the attacks presented [GPR06]. Our work describes the Linux PRNG of kernel versions and upwards. We detail the PRNG architecture in the Linux system and provide its first accurate mathematical description and a precise analysis of the building blocks, including entropy estimation and extraction. Subsequently, we give a security analysis including the feasibility of cryptographic attacks and an empirical test of the entropy estimator.. Finally, we underline some important changes to the previous versions and their consequences.

Available format(s)
Publication info
Published elsewhere. No former publication
Linux PRNGrandom generationentropy input PRNG
Contact author(s)
marion videau @ loria fr
2012-05-24: last of 5 revisions
2012-05-09: received
See all versions
Short URL
Creative Commons Attribution


      author = {Patrick Lacharme and Andrea Röck and Vincent Strubel and Marion Videau},
      title = {The Linux Pseudorandom Number Generator Revisited},
      howpublished = {Cryptology ePrint Archive, Paper 2012/251},
      year = {2012},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.