#include <rng.h>
Inheritance diagram for X917RNG:
Definition at line 34 of file rng.h.
Public Member Functions | |
X917RNG (BlockTransformation *cipher, const byte *seed, const byte *deterministicTimeVector=0) | |
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 | |
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 |
unsigned int RandomNumberGenerator::GenerateBit | ( | ) | [virtual, inherited] |
generate new random bit and return it
Default implementation is to call GenerateByte() and return its parity.
Reimplemented in PublicBlumBlumShub.
Definition at line 117 of file cryptlib.cpp.
References RandomNumberGenerator::GenerateByte().
Referenced by XTR_FindPrimesAndGenerator().
void RandomNumberGenerator::GenerateBlock | ( | byte * | output, | |
size_t | size | |||
) | [virtual, inherited] |
generate random array of bytes
Default implementation is to call GenerateByte() size times.
Reimplemented in KDF2_RNG, NonblockingRng, BlockingRng, and RandomPool.
Definition at line 122 of file cryptlib.cpp.
References RandomNumberGenerator::GenerateByte().
Referenced by PSSR_MEM_Base::ComputeMessageRepresentative(), DL_GroupParameters_DSA::GenerateRandom(), OAEP_Base::Pad(), Integer::Randomize(), PolynomialMod2::Randomize(), and ElGamalBase::SymmetricEncrypt().
void RandomNumberGenerator::DiscardBytes | ( | size_t | n | ) | [virtual, inherited] |
generate and discard n bytes
Default implementation is to call GenerateByte() n times.
Reimplemented in ARC4_Base.
Definition at line 148 of file cryptlib.cpp.
References RandomNumberGenerator::GenerateByte().