Hardware generated random numbers using RDSEED instruction.
More...
Hardware generated random numbers using RDSEED instruction.
- See Also
- MaurerRandomnessTest() for random bit generators
- Since
- Crypto++ 5.6.3
Definition at line 126 of file rdrand.h.
RDSEED::RDSEED |
( |
unsigned int |
retries = 64 | ) |
|
|
inline |
Construct a RDSEED generator.
- Parameters
-
retries | the number of retries for failed calls to the hardware |
RDSEED() constructs a generator with a maximum number of retires for failed generation attempts.
Empirical testing under a 6th generaton i7 (6200U) shows RDSEED fails to fulfill requests at about 6 to 8 times the rate of RDRAND. The default retries reflects the difference.
Definition at line 138 of file rdrand.h.
std::string RDSEED::AlgorithmName |
( |
| ) |
const |
|
inlinevirtual |
Provides the name of this algorithm.
- Returns
- the standard algorithm name
The standard algorithm name can be a name like AES or AES/GCM. Some algorithms do not have standard names yet. For example, there is no standard algorithm name for Shoup's ECIES.
- Note
- AlgorithmName is not universally implemented yet
Reimplemented from Algorithm.
Definition at line 129 of file rdrand.h.
unsigned int RDSEED::GetRetries |
( |
| ) |
const |
|
inline |
Retrieve the number of retries used by the generator.
- Returns
- the number of times GenerateBlock() will attempt to recover from a failed generation
Definition at line 144 of file rdrand.h.
void RDSEED::SetRetries |
( |
unsigned int |
retries | ) |
|
|
inline |
Set the number of retries used by the generator.
- Parameters
-
retries | number of times GenerateBlock() will attempt to recover from a failed generation |
Definition at line 151 of file rdrand.h.
virtual void RDSEED::GenerateBlock |
( |
byte * |
output, |
|
|
size_t |
size |
|
) |
| |
|
inlinevirtual |
Generate random array of bytes.
- Parameters
-
output | the byte buffer |
size | the length of the buffer, in bytes |
Reimplemented from RandomNumberGenerator.
Definition at line 162 of file rdrand.h.
virtual void RDSEED::DiscardBytes |
( |
size_t |
n | ) |
|
|
inlinevirtual |
Generate and discard n bytes.
- Parameters
-
n | the number of bytes to generate and discard |
the RDSEED generator discards words, not bytes. If n is not a multiple of a machine word, then it is rounded up to that size.
Reimplemented from RandomNumberGenerator.
Definition at line 176 of file rdrand.h.
virtual void RDSEED::IncorporateEntropy |
( |
const byte * |
input, |
|
|
size_t |
length |
|
) |
| |
|
inlinevirtual |
Update RNG state with additional unpredictable values.
- Parameters
-
The operation is a nop for this generator.
Reimplemented from RandomNumberGenerator.
Definition at line 186 of file rdrand.h.
The documentation for this class was generated from the following file: