ACM Home Page
Please provide us with feedback. Feedback
HAVEGE: A user-level software heuristic for generating empirically strong random numbers
Full text PdfPdf (122 KB)
Source ACM Transactions on Modeling and Computer Simulation (TOMACS) archive
Volume 13 ,  Issue 4  (October 2003) table of contents
Pages: 334 - 346  
Year of Publication: 2003
ISSN:1049-3301
Authors
André Seznec  IRISA-INRIA, France
Nicolas Sendrier  INRIA, France
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 34,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/945511.945516
What is a DOI?

ABSTRACT

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
 
3
Diefendhorff, K. 1999a. Compaq chooses SMT for Alpha. Microproc. Rep. 13, 13, 3--8.
 
4
Diefendhorff, K. 1999b. Power4 focuses on memory bandwidth. Microproc. Rep. 13, 16, 1--6.
 
5
FIPS-140-2. 2001. Security requirements for cryptographic modules. Federal Information Processing Standard publication 140-2.
6
 
7
Jun, B. and Kocher, P. 1999. The Intel random number generator. Cryptography Research, Inc., White Paper prepared for Intel Corporation.
 
8
 
9
10
11
 
12
 
13
Rukhin, A., Soto, J., Nechvatal, J., Smid, M., Barker, E., Leigh, S., Levenson, M., Vangel, M., Banks, D., Heckert, A., Dray, J., and Vo, S. 2001. A statistical test suite for random and pseudorandom number generators for cryptographic applications. National Institute of Standards and Technology publication 800-22.
 
14
Seznec, A. and Sendrier, N. 2002. Hardware volatile entropy gathering and expansion: generating unpredictable random number at user level. Tech. Rep. 4592, INRIA.
15


Collaborative Colleagues:
André Seznec: colleagues
Nicolas Sendrier: colleagues