TrapdoorFunctionInverse Class Reference

Applies the inverse of the trapdoor function. More...

Inheritance diagram for TrapdoorFunctionInverse:
RandomizedTrapdoorFunctionInverse InvertibleLUCFunction InvertibleRabinFunction InvertibleRSAFunction InvertibleRWFunction InvertibleRSAFunction_ISO

List of all members.

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

Detailed Description

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.

See also:
TrapdoorFunctionBounds(), RandomizedTrapdoorFunction(), TrapdoorFunction(), RandomizedTrapdoorFunctionInverse() and TrapdoorFunctionInverse()

Definition at line 184 of file pubkey.h.


Member Function Documentation

Integer TrapdoorFunctionInverse::CalculateRandomizedInverse ( RandomNumberGenerator rng,
const Integer x 
) const [inline, virtual]

Applies the inverse of the trapdoor function.

Parameters:
rng a RandomNumberGenerator derived class
x the message on which the decryption function is applied
Returns:
the message x decrypted under the private key

CalculateRandomizedInverse is a generalization of decryption using the private key

Internally, CalculateRandomizedInverse() calls CalculateInverse() without the RandomNumberGenerator.

Implements RandomizedTrapdoorFunctionInverse.

Definition at line 196 of file pubkey.h.

bool TrapdoorFunctionInverse::IsRandomized (  )  const [inline, virtual]

Determines if the decryption algorithm is randomized.

Returns:
true if the decryption algorithm is randomized, false otherwise

If IsRandomized() returns false, then NullRNG() can be used.

Reimplemented from RandomizedTrapdoorFunctionInverse.

Definition at line 202 of file pubkey.h.


The documentation for this class was generated from the following file:

Generated on 24 Mar 2016 for Crypto++ by  doxygen 1.6.1