# BlockingRng Class Reference

`#include <osrng.h>`

Inheritance diagram for BlockingRng:

List of all members.

## Detailed Description

encapsulate /dev/random, or /dev/srandom on OpenBSD

Definition at line 67 of file 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
## Protected Attributes
int | m_fd

## Member Function Documentation

unsigned int RandomNumberGenerator::GenerateBit | ( |  | ) | `[virtual, inherited]`

generate new random bit and return it

Default implementation is to call GenerateByte() and return its lowest bit.

Reimplemented in PublicBlumBlumShub.

Definition at line 229 of file cryptlib.cpp.

References RandomNumberGenerator::GenerateByte().

The documentation for this class was generated from the following files:

- osrng.h
- osrng.cpp