Statistical Evaluation of Entropy Accumulation in Linux
The development of the Linux kernel has been a long ongoing project. Recent modernization efforts have prompted its developers to revisit legacy code, including the 'random.c' driver. This critical component is most notably responsible for supplying the system with random values. However, recent changes to this driver rely on untested assumptions, with limited support in the literature. In this work, we perform an in-depth study of the entropy accumulation process. We first analyze the density distribution of its entropic inputs. Then, we use this knowledge to run a simulation in which various accumulation functions, ranging from the simpler rotation function to the SipHash-based function used in the latest driver, are compared using statistical tests. Finally, we verify these results computationally. Our findings show that the inputs to Linux's Random Number Generator are neither independent nor identically distributed, as was previously assumed. We show instead that the various inputs are all dependent on previous values, and each follow a different distribution. Our results also confirm that the SipHash-based function introduced in version 5.18 is indeed an improvement over its predecessors, as it condenses more entropy than the alternatives for the given range of inputs.
Authors
- Bart Mennink (ORCID: https://orcid.org/0000-0001-6679-1878)
- Joan Daemen (ORCID: https://orcid.org/0000-0002-4102-0775)
- Alexandre Bouez (ORCID: https://orcid.org/0000-0002-0806-9198)
Institutions
- Radboud University Nijmegen (NL)
Publication Details
- Published
- 2025-06-30
- DOI
- https://doi.org/10.1109/eurospw67616.2025.00075
- Primary Topic
- Distributed and Parallel Computing Systems
- Type
- article
- Field-Weighted Citation Impact
- 0.00