RDSEED

E637100

RDSEED is an Intel CPU instruction that provides access to a hardware-based random number generator for producing high-quality random seeds.

Jump to: Statements Referenced by

Statements (46)

Predicate Object
instanceOf Intel CPU instruction
x86 instruction
architecture x86 NERFINISHED
x86-64
availabilityCheck CPUID instruction
category random number generation instruction
cpuidLeaf CPUID.(EAX=07H, ECX=0):EBX.RDSEED[bit 18]
designedFor cryptographic applications
seeding pseudorandom number generators
differenceFromRDRAND RDSEED provides raw entropy for seeding PRNGs while RDRAND provides pseudorandom numbers directly
differsFrom RDRAND NERFINISHED
encoding F3 0F C7 /7
entropySource on-chip hardware entropy source
failureReason entropy pool not ready
intendedConsumers applications requiring strong randomness
cryptographic libraries
system software
introducedBy Intel NERFINISHED
introducedInMicroarchitecture Intel Broadwell NERFINISHED
latencyCharacteristic variable latency depending on entropy availability
naming mnemonic for random seed generation
operandSizes 16-bit
32-bit
64-bit
outputQuality cryptographically secure random seeds
outputType true random numbers suitable as seeds
purpose produce high-quality random seeds
provide access to a hardware-based random number generator
randomnessType hardware-generated random data
relatedTo RDRAND NERFINISHED
relationToDRNG front-end interface to Intel digital random number generator
requires processor support for Intel Secure Key technology
retryRecommendation software should retry with backoff when CF=0
securityProperty designed to meet NIST SP 800-90A/B/C requirements (per Intel documentation)
setsFlagOnFailure CF=0
setsFlagOnSuccess CF=1
sideEffects may update ZF, SF, OF, AF, PF as undefined
standardization documented in Intel 64 and IA-32 Architectures Software Developer’s Manual
statusOnUnsupportedCPU invalid opcode exception (#UD)
supportedBy Intel Broadwell processors and later
some AMD processors
useCase key generation seeding
nonce generation seeding
session identifier seeding
uses digital random number generator (DRNG)
writesTo general-purpose register operand

Referenced by (1)

Full triples — surface form annotated when it differs from this entity's canonical label.

Goldmont supports RDSEED