Intel® Secure Key, previously code-named Bull Mountain Technology, is the Intel name for the Intel® 64 and IA-32 Architectures instruction RDRAND and its underlying Digital Random Number Generator (DRNG) hardware implementation.
Among other things, the DRNG using the RDRAND instruction is useful for generating high-quality keys for cryptographic protocols. An example of a vulnerability arising from weak RNG filed in Common Vulnerabilities and Exposures (CVE) Database is CVE-2008-0166 where generating predictable numbers makes it easier for remote attackers to conduct brute force guessing attacks against cryptographic keys.
The goal of the experiment is to analyze and compare the statistical properties of Intel DRNG/RDRAND with software RNG implementations. Statistical properties for comparison include measuring Standard deviation, Entropy, TestU01 and Diehard tests for a given series length.
Supported Environment for the Experiment
- Building the Rdrand Library is supported under Microsoft Visual Studio 2010 using Intel® C++ Compiler v12.
- Library is distributed with static libraries for Microsoft Windows and Microsoft Visual Studio 2010 and the Linux Ubuntu 10.04.
- Supported on the Intel® microarchitecture codenamed Ivy Bridge processors and beyond.
References and additional links
- Intel® Secure Key Technology
- Intel® Digital Random Number Generator (DRNG) Software Implementation Guide