RNG from ANSI X9.17 Appendix C, seeded using an OS provided RNG. More...
#include <osrng.h>
Public Member Functions | |
AutoSeededX917RNG (bool blocking=false, bool autoSeed=true) | |
use blocking to choose seeding with BlockingRng or NonblockingRng. the parameter is ignored if only one of these is available | |
void | Reseed (bool blocking=false, const byte *additionalEntropy=NULL, size_t length=0) |
void | Reseed (const byte *key, size_t keylength, const byte *seed, const byte *timeVector) |
bool | CanIncorporateEntropy () const |
void | IncorporateEntropy (const byte *input, size_t length) |
void | GenerateIntoBufferedTransformation (BufferedTransformation &target, const std::string &channel, lword length) |
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 | GenerateBlock (byte *output, size_t size) |
generate random array of bytes | |
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 |
RNG from ANSI X9.17 Appendix C, seeded using an OS provided RNG.
Definition at line 97 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().