The OpenSSL* ENGINE API includes an engine specifically for Intel® Data Protection Technology with Secure Key. When this engine is enabled, the RAND_bytes() function will exclusively use the RDRAND instruction for generating random numbers and will not need to rely on the OS's entropy pool for reseeding. End applications can simply call RAND_bytes(), do not have to invoke RAND_seed() or RAND_add(), and the OpenSSL library will not call RAND_poll() internally.
Download the complete code sample at the bottom of the article.
The Intel Academic Program announces new software projects for security coursework, labs and experiments. These tools support the Intel Security Curriculum Series and can be used in general aspects of security instruction. Peruse our first projects on the Advanced Encryption Standard (AES), Trusted Boot, Identity Protection and Digital Random Number Generator (DRNG) here on the Security tab: http://software.intel.com/academic
Intel Secure Key, was previously code-named Bull Mountain Technology. It 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.
Previously refered to as "Bull Mountain", the RdRand instruction will present itself on the upcoming "Ivy Bridge" platform coming out early 2012. The RdRand instruction paves the way to fast, reliable entropy generated on the processor resulting in highly robust random numbers!