RDSEED
E637100
RDSEED is an Intel CPU instruction that provides access to a hardware-based random number generator for producing high-quality random seeds.
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.