NonblockingRng Class Reference

#include <osrng.h>

Inheritance diagram for NonblockingRng:

RandomNumberGenerator Algorithm Clonable List of all members.

Detailed Description

encapsulate CryptoAPI's CryptGenRandom or /dev/urandom

Definition at line 44 of file osrng.h.

Public Member Functions

 NonblockingRng ()
 ~NonblockingRng ()
byte GenerateByte ()
 generate new random byte and return it
void GenerateBlock (byte *output, size_t size)
 generate random array of bytes
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
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 ClonableClone () const
 this is not implemented by most classes yet


Member Function Documentation

void NonblockingRng::GenerateBlock ( byte *  output,
size_t  size 
) [virtual]

generate random array of bytes

Default implementation is to call GenerateByte() size times.

Reimplemented from RandomNumberGenerator.

Definition at line 84 of file osrng.cpp.

References MicrosoftCryptoProvider::GetProviderHandle().

Referenced by GenerateByte().

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::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().


The documentation for this class was generated from the following files:
Generated on Sat Dec 23 02:07:28 2006 for Crypto++ by  doxygen 1.5.1-p1