TrapdoorFunction Class Reference

Applies the trapdoor function. More...

Inheritance diagram for TrapdoorFunction:
RandomizedTrapdoorFunction TrapdoorFunctionBounds ESIGNFunction LUCFunction RabinFunction RSAFunction RWFunction InvertibleESIGNFunction InvertibleLUCFunction InvertibleRabinFunction InvertibleRSAFunction RSAFunction_ISO InvertibleRWFunction InvertibleRSAFunction_ISO

List of all members.

Public Member Functions

Integer ApplyRandomizedFunction (RandomNumberGenerator &rng, const Integer &x) const
 Applies the trapdoor function.
bool IsRandomized () const
 Determines if the encryption algorithm is randomized.
virtual Integer ApplyFunction (const Integer &x) const =0
 Applies the trapdoor.
virtual Integer PreimageBound () const =0
 Returns the maximum size of a message before the trapdoor function is applied.
virtual Integer ImageBound () const =0
 Returns the maximum size of a message after the trapdoor function is applied.
virtual Integer MaxPreimage () const
 Returns the maximum size of a message before the trapdoor function is applied bound to a public key.
virtual Integer MaxImage () const
 Returns the maximum size of a message after the trapdoor function is applied bound to a public key.

Detailed Description

Applies the trapdoor function.

ApplyFunction() is the foundation for encrypting a message under a public key. Derived classes will override it at some point.

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

Definition at line 127 of file pubkey.h.


Member Function Documentation

Integer TrapdoorFunction::ApplyRandomizedFunction ( RandomNumberGenerator rng,
const Integer x 
) const [inline, virtual]

Applies the trapdoor function.

Parameters:
rng a RandomNumberGenerator derived class
x the message on which the encryption function is applied

ApplyRandomizedFunction is a generalization of encryption under a public key cryptosystem. The RandomNumberGenerator may (or may not) be required.

Internally, ApplyRandomizedFunction() calls ApplyFunction() without the RandomNumberGenerator.

Implements RandomizedTrapdoorFunction.

Definition at line 141 of file pubkey.h.

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

Determines if the encryption algorithm is randomized.

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

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

Reimplemented from RandomizedTrapdoorFunction.

Definition at line 143 of file pubkey.h.

virtual Integer TrapdoorFunction::ApplyFunction ( const Integer x  )  const [pure virtual]

Applies the trapdoor.

Parameters:
x the message on which the encryption function is applied
Returns:
the message x encrypted under the public key

ApplyFunction is a generalization of encryption under a public key cryptosystem. Derived classes must implement it.

Implemented in ESIGNFunction, LUCFunction, RabinFunction, RSAFunction, RSAFunction_ISO, and RWFunction.

virtual Integer TrapdoorFunctionBounds::PreimageBound (  )  const [pure virtual, inherited]

Returns the maximum size of a message before the trapdoor function is applied.

Returns:
the maximum size of a message before the trapdoor function is applied

Derived classes must implement PreimageBound().

Implemented in ESIGNFunction, LUCFunction, RabinFunction, RSAFunction, RSAFunction_ISO, InvertibleRSAFunction_ISO, and RWFunction.

virtual Integer TrapdoorFunctionBounds::ImageBound (  )  const [pure virtual, inherited]

Returns the maximum size of a message after the trapdoor function is applied.

Returns:
the maximum size of a message after the trapdoor function is applied

Derived classes must implement ImageBound().

Implemented in ESIGNFunction, LUCFunction, RabinFunction, RSAFunction, and RWFunction.

virtual Integer TrapdoorFunctionBounds::MaxPreimage (  )  const [inline, virtual, inherited]

Returns the maximum size of a message before the trapdoor function is applied bound to a public key.

Returns:
the maximum size of a message before the trapdoor function is applied bound to a public key

The default implementation returns PreimageBound() - 1.

Definition at line 85 of file pubkey.h.

virtual Integer TrapdoorFunctionBounds::MaxImage (  )  const [inline, virtual, inherited]

Returns the maximum size of a message after the trapdoor function is applied bound to a public key.

Returns:
the the maximum size of a message after the trapdoor function is applied bound to a public key

The default implementation returns ImageBound() - 1.

Definition at line 89 of file pubkey.h.

Referenced by ESIGNFunction::ApplyFunction().


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

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