| 
    Crypto++ 8.9
    
   Free C++ class library of cryptographic schemes 
   | 
 
BlumBlumShub with factorization of the modulus. More...
#include <blumshub.h>
 Inheritance diagram for BlumBlumShub:Public Member Functions | |
| 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.   | |
  Public Member Functions inherited from PublicBlumBlumShub | |
| PublicBlumBlumShub (const Integer &n, const Integer &seed) | |
| Construct a PublicBlumBlumShub.   | |
| unsigned int | GenerateBit () | 
| Generate new random bit and return it.   | |
| byte | GenerateByte () | 
| Generate new random byte and return it.   | |
| void | GenerateBlock (byte *output, size_t size) | 
| Generate random array of bytes.   | |
| void | ProcessData (byte *outString, const byte *inString, size_t length) | 
| Encrypt or decrypt an array of bytes.   | |
| bool | IsSelfInverting () const | 
| Determines whether the cipher is self-inverting.   | |
| bool | IsForwardTransformation () const | 
| Determines if the cipher is being operated in its forward direction.   | |
  Public Member Functions inherited from RandomNumberGenerator | |
| virtual void | IncorporateEntropy (const byte *input, size_t length) | 
| Update RNG state with additional unpredictable values.   | |
| virtual bool | CanIncorporateEntropy () const | 
| Determines if a generator can accept additional entropy.   | |
| virtual word32 | GenerateWord32 (word32 min=0, word32 max=0xffffffffUL) | 
| Generate a random 32 bit word in the range min to max, inclusive.   | |
| virtual void | GenerateIntoBufferedTransformation (BufferedTransformation &target, const std::string &channel, lword length) | 
| Generate random bytes into a BufferedTransformation.   | |
| 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.   | |
  Public Member Functions inherited from Algorithm | |
| Algorithm (bool checkSelfTestStatus=true) | |
| Interface for all crypto algorithms.   | |
| virtual std::string | AlgorithmName () const | 
| Provides the name of this algorithm.   | |
| virtual std::string | AlgorithmProvider () const | 
| Retrieve the provider of this algorithm.   | |
  Public Member Functions inherited from Clonable | |
| virtual Clonable * | Clone () const | 
| Copies this object.   | |
  Public Member Functions inherited from StreamTransformation | |
| StreamTransformation & | Ref () | 
| Provides a reference to this object.   | |
| virtual unsigned int | MandatoryBlockSize () const | 
| Provides the mandatory block size of the cipher.   | |
| virtual unsigned int | OptimalBlockSize () const | 
| Provides the input block size most efficient for this cipher.   | |
| virtual unsigned int | GetOptimalBlockSizeUsed () const | 
| Provides the number of bytes used in the current block when processing at optimal block size.   | |
| virtual unsigned int | OptimalDataAlignment () const | 
| Provides input and output data alignment for optimal performance.   | |
| virtual size_t | ProcessLastBlock (byte *outString, size_t outLength, const byte *inString, size_t inLength) | 
| Encrypt or decrypt the last block of data.   | |
| virtual unsigned int | MinLastBlockSize () const | 
| Provides the size of the last block.   | |
| virtual bool | IsLastBlockSpecial () const | 
| Determines if the last block receives special processing.   | |
| void | ProcessString (byte *inoutString, size_t length) | 
| Encrypt or decrypt a string of bytes.   | |
| void | ProcessString (byte *outString, const byte *inString, size_t length) | 
| Encrypt or decrypt a string of bytes.   | |
| byte | ProcessByte (byte input) | 
| Encrypt or decrypt a byte.   | |
BlumBlumShub with factorization of the modulus.
You should reseed the generator after a fork() to avoid multiple generators with the same internal state.
Definition at line 47 of file blumshub.h.
      
  | 
  inlinevirtual | 
Definition at line 50 of file blumshub.h.
Construct a BlumBlumShub.
| p | the first prime factor | 
| q | the second prime factor | 
| seed | the seed for the generator | 
Esure p and q are both primes congruent to 3 mod 4 and at least 512 bits long. seed is the secret key and should be about as large as p*q.
Definition at line 48 of file blumshub.cpp.
      
  | 
  inlinevirtual | 
Determines whether the cipher supports random access.
Implements StreamTransformation.
Definition at line 60 of file blumshub.h.
      
  | 
  virtual | 
Seek to an absolute position.
| pos | position to seek | 
| NotImplemented | 
The base class implementation throws NotImplemented. The function asserts IsRandomAccess() in debug builds.
Reimplemented from StreamTransformation.
Definition at line 55 of file blumshub.cpp.