Abstract
The HAVEGE algorithm [1] [2] generates unpredictable random numbers by gathering entropy from internal processor states that are inheritably volatile and impossible to tamper with in a controlled fashion by any application running on the target system. The method used to gather the entropy implies that its main loop will almost monopolize the CPU; the output depends on the operating system and other running applications, as well as some internal mechanisms that stir the processor states to generate an enormous amount of entropy. The algorithm was designed with the idea of single-core CPUs in mind, and no parallelization; however the recent market explosion of multi-core CPUs and the lack of results in increasing the CPU frequency justifies the need to research a multithreaded parallel version of HAVEGE, capable of running the same algorithm loop on each core independently and transparently combine the results in one single output bitstream. This paper will demonstrate how such a parallelization is possible and benchmark the output speed of its implementation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Seznec, A., Sendrier, N.: HAVEGE: a user-level software heuristic for generating empirically strong random numbers. ACM Transaction on Modeling and Computer Simulations 13(4) (2003)
Seznec, A., Sendrier, N.: Hardware Volatile Entropy Gathering and Expansion: generating unpredictable random numbers at user level. In: INRIA Research Report, RR-4592 (2002)
Rukhin, A., Soto, J., Nechvatal, J., Smid, M., Barker, E., Leigh, S., Levenson, M., Vangel, M., Banks, D., Heckert, A., Dray, J., Vo, S.: A statistical test suite for random and pseudorandom number generators for cryptographic applications, NIST Special Publication 800-22 (revised August 2008), http://csrc.nist.gov/groups/ST/toolkit/rng/documents/SP800-22b.pdf
Kim, S., Umeno, K., Hasegawa, A.: Corrections of the NIST Statistical Test Suite for Randomness, Cryptology ePrint Archive, Report 2004/018 (2004)
L’Ecuyer, P., Simard, R.: TestU01: A C library for empirical testing of random number generators. ACM Trans. Math. Softw. 33(4), 22 (2007)
Knuth, D.E.: The Art of Computer Programming. In: Seminumerical Algorithms, 3rd edn., vol. 2, Addison-Wesley, Reading (1998)
IdQuantique, Quantis white paper, http://www.idquantique.com/products/files/quantis-whitepaper.pdf
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Suciu, A., Carean, T., Seznec, A., Marton, K. (2010). Parallel HAVEGE. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Wasniewski, J. (eds) Parallel Processing and Applied Mathematics. PPAM 2009. Lecture Notes in Computer Science, vol 6068. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14403-5_16
Download citation
DOI: https://doi.org/10.1007/978-3-642-14403-5_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-14402-8
Online ISBN: 978-3-642-14403-5
eBook Packages: Computer ScienceComputer Science (R0)