What is Intel(r) Secure Key Technology?


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.

Because this technology recently launched (May 2012) with the Intel 3rd Generation Core processors (code-named Ivy Bridge) the Bull Mountain Software Implementation Guide has been renamed to the Intel Digital Random Number Generator Software Implementation Guide.

About the Intel DRNG Software Implementation Guide:

This technology is documented and described in the Intel Digital Random Number Generator Software Implementation Guide. It is intended to provide a complete source of technical information on the RDRAND Instruction usage, including code examples.  Here is a recap of what this guide covers:

    • Random Number Generator (RNG) Basics and Introduction to the DRNG. This guide describes the nature of an RNG and its pseudo- (PRNG) and true- (TRNG) implementation variants, including modern cascade construction RNGs. We then present the DRNG's position within this broader taxonomy.

    • A technical overview of the DRNG, including its component architecture, robustness features, manner of access, performance, and power requirements.

    • RDRAND Instruction usage, providing reference information on the RDRAND instruction and code examples showing its use. This includes RDRAND platform support verification and suggestions on DRNG-based libraries.

This Software Implementation Guide is designed to serve a variety of readers. Software Developers who already understand the nature of RNGs may skip the first 3 sections and simply refer to the RDRAND instruction reference and code examples.

Here is the link for the  Intel Digital Random Number Generator (DRNG) Software Implementation Guide.

Questions?  Please visit our forum and start a discussion.

For more complete information about compiler optimizations, see our Optimization Notice.