Applies the inverse of the trapdoor function. More...
Public Member Functions | |
Integer | CalculateRandomizedInverse (RandomNumberGenerator &rng, const Integer &x) const |
Applies the inverse of the trapdoor function. | |
bool | IsRandomized () const |
Determines if the decryption algorithm is randomized. | |
virtual Integer | CalculateInverse (RandomNumberGenerator &rng, const Integer &x) const =0 |
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.
Definition at line 184 of file pubkey.h.
Integer TrapdoorFunctionInverse::CalculateRandomizedInverse | ( | RandomNumberGenerator & | rng, | |
const Integer & | x | |||
) | const [inline, virtual] |
Applies the inverse of the trapdoor function.
rng | a RandomNumberGenerator derived class | |
x | the message on which the decryption function is applied |
x
decrypted under the private keyCalculateRandomizedInverse
is a generalization of decryption using the private key
Internally, CalculateRandomizedInverse()
calls CalculateInverse()
without the RandomNumberGenerator
.
Implements RandomizedTrapdoorFunctionInverse.
bool TrapdoorFunctionInverse::IsRandomized | ( | ) | const [inline, virtual] |
Determines if the decryption algorithm is randomized.
true
if the decryption algorithm is randomized, false
otherwiseIf IsRandomized()
returns false
, then NullRNG()
can be used.
Reimplemented from RandomizedTrapdoorFunctionInverse.