#include <randpool.h>
Inheritance diagram for RandomPool:
This class can be used to generate pseudorandom bytes after seeding the pool with the Put() methods
Definition at line 13 of file randpool.h.
Public Member Functions | |
RandomPool (unsigned int poolSize=384) | |
poolSize must be greater than 16 | |
unsigned int | Put2 (const byte *begin, unsigned int, int messageEnd, bool blocking) |
bool | AnyRetrievable () const |
unsigned long | MaxRetrievable () const |
unsigned int | TransferTo2 (BufferedTransformation &target, unsigned long &transferBytes, const std::string &channel=NULL_CHANNEL, bool blocking=true) |
unsigned int | CopyRangeTo2 (BufferedTransformation &target, unsigned long &begin, unsigned long end=ULONG_MAX, const std::string &channel=NULL_CHANNEL, bool blocking=true) const |
byte | GenerateByte () |
generate new random byte and return it | |
void | GenerateBlock (byte *output, unsigned int size) |
generate random array of bytes | |
void | IsolatedInitialize (const NameValuePairs ¶meters) |
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 (unsigned int n) |
generate and discard n bytes | |
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 | |
Protected Member Functions | |
void | Stir () |
|
generate random array of bytes Default implementation is to call GenerateByte() size times. Reimplemented from RandomNumberGenerator. Definition at line 94 of file randpool.cpp. |
|
generate new random bit and return it Default implementation is to call GenerateByte() and return its parity. Reimplemented in PublicBlumBlumShub. Definition at line 83 of file cryptlib.cpp. References RandomNumberGenerator::GenerateByte(). |
|
generate and discard n bytes Default implementation is to call GenerateByte() n times. Reimplemented in ARC4_Base. Definition at line 114 of file cryptlib.cpp. References RandomNumberGenerator::GenerateByte(). |