|
Crypto++
8.4
Free C++ class library of cryptographic schemes
|
BlumBlumShub without factorization of the modulus. More...
Inheritance diagram for PublicBlumBlumShub:Public Member Functions | |
| PublicBlumBlumShub (const Integer &n, const Integer &seed) | |
| Construct a PublicBlumBlumShub. More... | |
| unsigned int | GenerateBit () |
| Generate new random bit and return it. More... | |
| byte | GenerateByte () |
| Generate new random byte and return it. More... | |
| void | GenerateBlock (byte *output, size_t size) |
| Generate random array of bytes. More... | |
| void | ProcessData (byte *outString, const byte *inString, size_t length) |
| Encrypt or decrypt an array of bytes. More... | |
| bool | IsSelfInverting () const |
| Determines whether the cipher is self-inverting. More... | |
| bool | IsForwardTransformation () const |
| Determines if the cipher is being operated in its forward direction. More... | |
Public Member Functions inherited from RandomNumberGenerator | |
| virtual void | IncorporateEntropy (const byte *input, size_t length) |
| Update RNG state with additional unpredictable values. More... | |
| virtual bool | CanIncorporateEntropy () const |
| Determines if a generator can accept additional entropy. More... | |
| virtual word32 | GenerateWord32 (word32 min=0, word32 max=0xffffffffUL) |
| Generate a random 32 bit word in the range min to max, inclusive. More... | |
| virtual void | GenerateIntoBufferedTransformation (BufferedTransformation &target, const std::string &channel, lword length) |
| Generate random bytes into a BufferedTransformation. More... | |
| virtual void | DiscardBytes (size_t n) |
| Generate and discard n bytes. More... | |
| template<class IT > | |
| void | Shuffle (IT begin, IT end) |
| Randomly shuffle the specified array. More... | |
Public Member Functions inherited from Algorithm | |
| Algorithm (bool checkSelfTestStatus=true) | |
| Interface for all crypto algorithms. More... | |
| virtual std::string | AlgorithmName () const |
| Provides the name of this algorithm. More... | |
| virtual std::string | AlgorithmProvider () const |
| Retrieve the provider of this algorithm. More... | |
Public Member Functions inherited from Clonable | |
| virtual Clonable * | Clone () const |
| Copies this object. More... | |
Public Member Functions inherited from StreamTransformation | |
| StreamTransformation & | Ref () |
| Provides a reference to this object. More... | |
| virtual unsigned int | MandatoryBlockSize () const |
| Provides the mandatory block size of the cipher. More... | |
| virtual unsigned int | OptimalBlockSize () const |
| Provides the input block size most efficient for this cipher. More... | |
| virtual unsigned int | GetOptimalBlockSizeUsed () const |
| Provides the number of bytes used in the current block when processing at optimal block size. More... | |
| virtual unsigned int | OptimalDataAlignment () const |
| Provides input and output data alignment for optimal performance. More... | |
| virtual size_t | ProcessLastBlock (byte *outString, size_t outLength, const byte *inString, size_t inLength) |
| Encrypt or decrypt the last block of data. More... | |
| virtual unsigned int | MinLastBlockSize () const |
| Provides the size of the last block. More... | |
| virtual bool | IsLastBlockSpecial () const |
| Determines if the last block receives special processing. More... | |
| void | ProcessString (byte *inoutString, size_t length) |
| Encrypt or decrypt a string of bytes. More... | |
| void | ProcessString (byte *outString, const byte *inString, size_t length) |
| Encrypt or decrypt a string of bytes. More... | |
| byte | ProcessByte (byte input) |
| Encrypt or decrypt a byte. More... | |
| virtual bool | IsRandomAccess () const =0 |
| Determines whether the cipher supports random access. More... | |
| virtual void | Seek (lword pos) |
| Seek to an absolute position. More... | |
BlumBlumShub without factorization of the modulus.
You should reseed the generator after a fork() to avoid multiple generators with the same internal state.
Definition at line 18 of file blumshub.h.
Construct a PublicBlumBlumShub.
| n | the modulus |
| seed | the seed for the generator seed is the secret key and should be about as large as n. |
Definition at line 9 of file blumshub.cpp.
|
virtual |
Generate new random bit and return it.
Reimplemented from RandomNumberGenerator.
Definition at line 17 of file blumshub.cpp.
|
virtual |
Generate new random byte and return it.
Reimplemented from RandomNumberGenerator.
Definition at line 28 of file blumshub.cpp.
|
virtual |
Generate random array of bytes.
| output | the byte buffer |
| size | the length of the buffer, in bytes All generated values are uniformly distributed over the range specified within the the constraints of a particular generator. |
Reimplemented from RandomNumberGenerator.
Definition at line 36 of file blumshub.cpp.
|
virtual |
Encrypt or decrypt an array of bytes.
| outString | the output byte buffer |
| inString | the input byte buffer |
| length | the size of the input and output byte buffers, in bytes ProcessData is called with a string of bytes whose size depends on MandatoryBlockSize. Either inString == outString, or they must not overlap. |
Implements StreamTransformation.
Definition at line 42 of file blumshub.cpp.
|
inlinevirtual |
Determines whether the cipher is self-inverting.
Implements StreamTransformation.
Definition at line 35 of file blumshub.h.
|
inlinevirtual |
Determines if the cipher is being operated in its forward direction.
Implements StreamTransformation.
Definition at line 36 of file blumshub.h.