Analysis of Linux-PRNG (Pseudo Random Number Generator) (2312.03369v1)
Abstract: The Linux pseudorandom number generator (PRNG) is a PRNG with entropy inputs and 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 has been analysed in the works of Gutterman et al., Lacharme et al., while in the meantime, several changes have been applied to the code, to counter the attacks presented since then. Our work describes the Linux PRNG of kernel versions 5.3 and upwards. We discuss the PRNG architecture briefly and in detail about the entropy mixing function. Our goal is to study the entropy mixing function and analyse it over two properties, namely, injectivity and length of the longest chain. For this purpose, we will be using SAT solving and model counting over targetted formulas involving multiple states of the Linux entropy store.
- An architecture for robust pseudorandom generation and applications to /dev/random. 01 2005.
- Armin Biere. Cadical at the sat race 2019. 2019.
- Jake Edge. Fixing getrandom(). https://lwn.net/Articles/800509/, 09 2019.
- Maximum model counting. In AAAI, 2017.
- Analysis of the linux random number generator. IACR Cryptology ePrint Archive, 2006:86, 01 2006.
- Performance analysis of linux rng in virtualized environments. page 29–39, 2015.
- Philip Koopman. 32-bit cyclic redundancy codes for internet applications. Proceedings International Conference on Dependable Systems and Networks, pages 459–468, 2002.
- The linux pseudorandom number generator revisited. 01 2012.
- random.c - a strong random number generator. /driver/char/random.c in Linux Kernel 2.6.30.7, https://www.kernel.org, 09 2009.
Sponsor
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.