29 #ifndef RANDOM_PROVIDER_GMP_HEADER_GUARD
30 #define RANDOM_PROVIDER_GMP_HEADER_GUARD
73 #endif//RANDOM_PROVIDER_GMP_HEADER_GUARD
Wrapper for the required GMP library random number specific functions.
static void Destroy(RandomProviderBase< RandomProviderGmp > &input)
Destroys the underlying data from input.
static void Initialize(RandomProviderBase< RandomProviderGmp > &input)
Initializes the underlying random state from input.
Template class which masks various RandomProvider implementations and provides a common interface tha...
Definition of class RandomProviderBase.
Template class which adds syntactic sugar to big integer operations.
static void GetRandomInteger(BigIntegerBase< BigIntegerGmp > &output, RandomProviderBase< RandomProviderGmp > &input, const size_t numberOfBits)
Generates a random integer having at most numberOfBits bits.
gmp_randstate_t RandomGeneratorState
Generic alias required by RandomGeneratorBase to define the underlying random state member...
static void GetMaxLengthRandomPrime(BigIntegerBase< BigIntegerGmp > &output, RandomProviderBase< RandomProviderGmp > &input, const size_t numberOfBits)
Generates a random prime, guaranteed to have numberOfBits length.