7#ifndef CRYPTOPP_RDRAND_H
8#define CRYPTOPP_RDRAND_H
33NAMESPACE_BEGIN(CryptoPP)
42 :
Exception(OTHER_ERROR,
"RDRAND: " + operation +
" operation failed") {}
51 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "RDRAND"; }
81 CRYPTOPP_UNUSED(input); CRYPTOPP_UNUSED(length);
105 CRYPTOPP_STATIC_CONSTEXPR
const char* StaticAlgorithmName() {
return "RDSEED"; }
135 CRYPTOPP_UNUSED(input); CRYPTOPP_UNUSED(length);
Base class for all exceptions thrown by the library.
@ OTHER_ERROR
Some other error occurred not belonging to other categories.
Exception thrown when a RDRAND generator encounters a generator related error.
Hardware generated random numbers using RDRAND instruction.
RDRAND()
Construct a RDRAND generator.
virtual void GenerateBlock(byte *output, size_t size)
Generate random array of bytes.
virtual void DiscardBytes(size_t n)
Generate and discard n bytes.
std::string AlgorithmProvider() const
Retrieve the provider of this algorithm.
virtual void IncorporateEntropy(const byte *input, size_t length)
Update RNG state with additional unpredictable values.
Exception thrown when a RDSEED generator encounters a generator related error.
Hardware generated random numbers using RDSEED instruction.
RDSEED()
Construct a RDSEED generator.
virtual void IncorporateEntropy(const byte *input, size_t length)
Update RNG state with additional unpredictable values.
virtual void GenerateBlock(byte *output, size_t size)
Generate random array of bytes.
virtual void DiscardBytes(size_t n)
Generate and discard n bytes.
std::string AlgorithmProvider() const
Retrieve the provider of this algorithm.
Interface for random number generators.
Abstract base classes that provide a uniform interface to this library.