Crypto++ 8.7
Free C++ class library of cryptographic schemes
|
Applies the inverse of the trapdoor function. More...
#include <pubkey.h>
Public Member Functions | |
Integer | CalculateRandomizedInverse (RandomNumberGenerator &rng, const Integer &x) const |
Applies the inverse of the trapdoor function. More... | |
bool | IsRandomized () const |
Determines if the decryption algorithm is randomized. More... | |
virtual Integer | CalculateInverse (RandomNumberGenerator &rng, const Integer &x) const =0 |
Calculates the inverse of an element. More... | |
virtual Integer | CalculateRandomizedInverse (RandomNumberGenerator &rng, const Integer &x) const =0 |
Applies the inverse of the trapdoor function, using random data if required. More... | |
virtual bool | IsRandomized () const |
Determines if the decryption algorithm is randomized. More... | |
Applies the inverse of the trapdoor function.
CalculateInverse() is the foundation for decrypting a message under a private key in a public key cryptosystem. Derived classes will override it at some point.
|
inlinevirtual |
|
inlinevirtual |
Applies the inverse of the trapdoor function.
rng | a RandomNumberGenerator derived class |
x | the message on which the decryption function is applied |
CalculateRandomizedInverse is a generalization of decryption using the private key
Internally, CalculateRandomizedInverse() calls CalculateInverse() without the RandomNumberGenerator.
Implements RandomizedTrapdoorFunctionInverse.
|
inlinevirtual |
Determines if the decryption algorithm is randomized.
If IsRandomized() returns false, then NullRNG() can be used.
Reimplemented from RandomizedTrapdoorFunctionInverse.
|
pure virtual |
Calculates the inverse of an element.
rng | a RandomNumberGenerator derived class |
x | the element |
Implemented in InvertibleLUCFunction, InvertibleRabinFunction, InvertibleRSAFunction, InvertibleRSAFunction_ISO, and InvertibleRWFunction.