Applies the inverse of the trapdoor function, using random data if required. More...
Public Member Functions | |
| virtual Integer | CalculateRandomizedInverse (RandomNumberGenerator &rng, const Integer &x) const =0 |
| Applies the inverse of the trapdoor function, using random data if required. | |
| virtual bool | IsRandomized () const |
| Determines if the decryption algorithm is randomized. | |
Applies the inverse of the trapdoor function, using random data if required.
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 159 of file pubkey.h.
| virtual Integer RandomizedTrapdoorFunctionInverse::CalculateRandomizedInverse | ( | RandomNumberGenerator & | rng, | |
| const Integer & | x | |||
| ) | const [pure virtual] |
Applies the inverse of the trapdoor function, using random data if required.
| 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 The RandomNumberGenerator may (or may not) be required. Derived classes must implement it.
Implemented in InvertibleESIGNFunction, and TrapdoorFunctionInverse.
| virtual bool RandomizedTrapdoorFunctionInverse::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 in TrapdoorFunctionInverse.
1.6.1