What is Intel® Secure Key Technology?

By Gael H Hofemeier,

Published:05/14/2012   Last Updated:05/14/2012


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.

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804