Crypto++ 8.7
Free C++ class library of cryptographic schemes
Public Member Functions | List of all members
RandomizedTrapdoorFunctionInverse Class Referenceabstract

Applies the inverse of the trapdoor function, using random data if required. More...

#include <pubkey.h>

+ Inheritance diagram for RandomizedTrapdoorFunctionInverse:

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. More...
 
virtual bool IsRandomized () const
 Determines if the decryption algorithm is randomized. More...
 

Detailed Description

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.

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

Definition at line 154 of file pubkey.h.

Constructor & Destructor Documentation

◆ ~RandomizedTrapdoorFunctionInverse()

virtual RandomizedTrapdoorFunctionInverse::~RandomizedTrapdoorFunctionInverse ( )
inlinevirtual

Definition at line 157 of file pubkey.h.

Member Function Documentation

◆ CalculateRandomizedInverse()

virtual Integer RandomizedTrapdoorFunctionInverse::CalculateRandomizedInverse ( RandomNumberGenerator rng,
const Integer x 
) const
pure virtual

Applies the inverse of the trapdoor function, using random data if required.

Parameters
rnga RandomNumberGenerator derived class
xthe 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 The RandomNumberGenerator may (or may not) be required. Derived classes must implement it.

Implemented in InvertibleESIGNFunction, and TrapdoorFunctionInverse.

◆ IsRandomized()

virtual bool RandomizedTrapdoorFunctionInverse::IsRandomized ( ) const
inlinevirtual

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 in TrapdoorFunctionInverse.

Definition at line 170 of file pubkey.h.


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