6#ifndef CRYPTOPP_BLUMSHUB_H
7#define CRYPTOPP_BLUMSHUB_H
33 void ProcessData(
byte *outString,
const byte *inString,
size_t length);
41 word maxBits, bitsLeft;
BlumBlumShub(const Integer &p, const Integer &q, const Integer &seed)
Construct a BlumBlumShub.
bool IsRandomAccess() const
Determines whether the cipher supports random access.
void Seek(lword index)
Seek to an absolute position.
Multiple precision integer with arithmetic operations.
Ring of congruence classes modulo n.
bool IsForwardTransformation() const
Determines if the cipher is being operated in its forward direction.
PublicBlumBlumShub(const Integer &n, const Integer &seed)
Construct a PublicBlumBlumShub.
unsigned int GenerateBit()
Generate new random bit and return it.
void GenerateBlock(byte *output, size_t size)
Generate random array of bytes.
byte GenerateByte()
Generate new random byte and return it.
bool IsSelfInverting() const
Determines whether the cipher is self-inverting.
void ProcessData(byte *outString, const byte *inString, size_t length)
Encrypt or decrypt an array of bytes.
Interface for random number generators.
word64 word
Full word used for multiprecision integer arithmetic.
word64 lword
Large word type.
Abstract base classes that provide a uniform interface to this library.
Multiple precision integer with arithmetic operations.
Class file for performing modular arithmetic.
Crypto++ library namespace.