10 #define CRYPTOPP_RNG_H 30 void GenerateBlock(byte *output,
size_t size);
32 word32 GetSeed() {
return seed;}
37 static const word32 m;
38 static const word32 q;
39 static const word16 a;
40 static const word16 r;
72 const unsigned int m_size;
74 SecByteBlock m_randseed, m_lastBlock, m_deterministicTimeVector;
88 size_t Put2(
const byte *inString,
size_t length,
int messageEnd,
bool blocking);
94 unsigned int BytesNeeded()
const {
return n >= (Q+K) ? 0 : Q+K-n;}
98 double GetTestValue()
const;
101 enum {L=8, V=256, Q=2000, K=2000};
Linear Congruential Generator (LCG)
Abstract base classes that provide a uniform interface to this library.
Classes for automatic resource management.
Interface for random number generators.
size_t Put2(const byte *inString, size_t length, int messageEnd, bool blocking)
Input multiple bytes for processing.
Maurer's Universal Statistical Test for Random Bit Generators.
LC_RNG(word32 init_seed)
Construct a Linear Congruential Generator (LCG)
Implementation of BufferedTransformation's attachment interface.
unsigned int BytesNeeded() const
Provides the number of bytes of input is needed by the test.
Crypto++ library namespace.
Ensures an object is not copyable.
MaurerRandomnessTest()
Construct a MaurerRandomnessTest.
virtual void GenerateIntoBufferedTransformation(BufferedTransformation &target, const std::string &channel, lword length)
Generate random bytes into a BufferedTransformation.
Base class for bufferless filters.