encapsulate CryptoAPI's CryptGenRandom or /dev/urandom More...
#include <osrng.h>
Public Member Functions | |
void | GenerateBlock (byte *output, size_t size) |
generate random array of bytes | |
virtual void | IncorporateEntropy (const byte *input, size_t length) |
update RNG state with additional unpredictable values | |
virtual bool | CanIncorporateEntropy () const |
returns true if IncorporateEntropy is implemented | |
virtual byte | GenerateByte () |
generate new random byte and return it | |
virtual unsigned int | GenerateBit () |
generate new random bit and return it | |
virtual word32 | GenerateWord32 (word32 a=0, word32 b=0xffffffffL) |
generate a random 32 bit word in the range min to max, inclusive | |
virtual void | DiscardBytes (size_t n) |
generate and discard n bytes | |
virtual void | GenerateIntoBufferedTransformation (BufferedTransformation &target, const std::string &channel, lword length) |
generate random bytes as input to a BufferedTransformation | |
template<class IT > | |
void | Shuffle (IT begin, IT end) |
randomly shuffle the specified array, resulting permutation is uniformly distributed | |
virtual std::string | AlgorithmName () const |
returns name of this algorithm, not universally implemented yet | |
virtual Clonable * | Clone () const |
this is not implemented by most classes yet |
encapsulate CryptoAPI's CryptGenRandom or /dev/urandom
Definition at line 47 of file osrng.h.
unsigned int RandomNumberGenerator::GenerateBit | ( | ) | [virtual, inherited] |
generate new random bit and return it
Default implementation is to call GenerateByte() and return its lowest bit.
Definition at line 236 of file cryptlib.cpp.
References RandomNumberGenerator::GenerateByte().