TY - JOUR AU - Sendrier, Nicolas AB - Random numbers with high cryptographic quality are needed to enhance the security of cryptography applications. Software heuristics for generating empirically strong random number sequences rely on entropy gathering by measuring unpredictable external events. These generators only deliver a few bits per event. This limits them to being used as seeds for pseudorandom generators.General-purpose processors feature a large number of hardware mechanisms that aim to improve performance: caches, branch predictors, …. The state of these components is not architectural (i.e., the result of an ordinary application does not depend on it). It is also volatile and cannot be directly monitored by the user. On the other hand, every operating system interrupt modifies thousands of these binary volatile states.In this article, we present and analyze HAVEGE (HArdware Volatile Entropy Gathering and Expansion), a new user-level software heuristic to generate practically strong random numbers on general-purpose computers. The hardware clock cycle counter of the processor can be used to gather part of the entropy/uncertainty introduced by operating system interrupts in the internal states of the processor. Then, we show how this entropy gathering technique can be combined with pseudorandom number generation in HAVEGE. Since the internal state of HAVEGE includes thousands of internal volatile hardware states, it seems impossible even for the user itself to reproduce the generated sequences. TI - HAVEGE: A user-level software heuristic for generating empirically strong random numbers JF - ACM Transactions on Modeling and Computer Simulation (TOMACS) DO - 10.1145/945511.945516 DA - 2003-10-01 UR - https://www.deepdyve.com/lp/association-for-computing-machinery/havege-a-user-level-software-heuristic-for-generating-empirically-Q8KJsDb7bL SP - 334 VL - 13 IS - 4 DP - DeepDyve ER -