RDRAND: Difference between revisions

link to idf slide
No edit summary
 
(One intermediate revision by the same user not shown)
Line 9: Line 9:
** Each seed requires at least two healthy values (per-sample result)
** Each seed requires at least two healthy values (per-sample result)
** "In the rare event a DRNG fails at runtime, it will cease to issue random numbers"
** "In the rare event a DRNG fails at runtime, it will cease to issue random numbers"
*** There seems no way to detect this situation save executing RDRAND and seeing CF unset.
* "Built-in Self Tests"
* "Built-in Self Tests"
** DRNG is run for 256 samples of OHT validation before being made available to software
** DRNG is run for 256 samples of OHT validation before being made available to software
** OHT is provided known-bad data and must identify it as "unhealthy"
** OHT is provided known-bad data and must identify it as "unhealthy"
** Deterministic values are played through the conditioner, and results are verified
** Deterministic values are played through the conditioner, and results are verified
==Limitations==
==Limitations==
"The one use case that it is cryptographically insufficient for is to seed a new PRNG, which probably means it is unsuitable for being fed as-is into /dev/random." - [http://www.spinics.net/lists/linux-crypto/msg05883.html H. Peter Anvin], 2011-06-14
"The one use case that it is cryptographically insufficient for is to seed a new PRNG, which probably means it is unsuitable for being fed as-is into /dev/random." - [http://www.spinics.net/lists/linux-crypto/msg05883.html H. Peter Anvin], 2011-06-14
Line 18: Line 20:
* Intel's [http://software.intel.com/en-us/articles/download-the-latest-bull-mountain-software-implementation-guide/ Bull Mountain Software Implementation Guide]
* Intel's [http://software.intel.com/en-us/articles/download-the-latest-bull-mountain-software-implementation-guide/ Bull Mountain Software Implementation Guide]
* IEEE Spectrum's September 2011 article, [http://spectrum.ieee.org/computing/hardware/behind-intels-new-randomnumber-generator "Behind Intel's New Random-Number Generator"]
* IEEE Spectrum's September 2011 article, [http://spectrum.ieee.org/computing/hardware/behind-intels-new-randomnumber-generator "Behind Intel's New Random-Number Generator"]
==Thanks==
==Corrections==
* David Johnston of Intel corrected me on 2011-09-15: "RDRAND is not an [[AVX]] instruction. It is a normal instruction." Thanks, David!
* David Johnston of Intel corrected me on 2011-09-15: "RDRAND is not an [[AVX]] instruction. It is a normal instruction." Thanks, David!


[[CATEGORY: X86]]
[[CATEGORY: X86]]