Crypto++
5.6.4
Free C++ class library of cryptographic schemes
|
Applies the trapdoor function. More...
Public Member Functions | |
Integer | ApplyRandomizedFunction (RandomNumberGenerator &rng, const Integer &x) const |
Applies the trapdoor function. More... | |
bool | IsRandomized () const |
Determines if the encryption algorithm is randomized. More... | |
virtual Integer | ApplyFunction (const Integer &x) const =0 |
Applies the trapdoor. More... | |
![]() | |
virtual Integer | PreimageBound () const =0 |
Returns the maximum size of a message before the trapdoor function is applied. More... | |
virtual Integer | ImageBound () const =0 |
Returns the maximum size of a message after the trapdoor function is applied. More... | |
virtual Integer | MaxPreimage () const |
Returns the maximum size of a message before the trapdoor function is applied bound to a public key. More... | |
virtual Integer | MaxImage () const |
Returns the maximum size of a message after the trapdoor function is applied bound to a public key. More... | |
Applies the trapdoor function.
ApplyFunction()
is the foundation for encrypting a message under a public key. Derived classes will override it at some point.
|
inlinevirtual |
Applies the trapdoor function.
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.
|
inlinevirtual |
Determines if the encryption algorithm is randomized.
true
if the encryption algorithm is randomized, false
otherwise If IsRandomized()
returns false
, then NullRNG()
can be used. Reimplemented from RandomizedTrapdoorFunction.
Applies the trapdoor.
x | the message on which the encryption function is applied |
x
encrypted under the public key ApplyFunction
is a generalization of encryption under a public key cryptosystem. Derived classes must implement it. Implemented in RWFunction, RSAFunction_ISO, RSAFunction, RabinFunction, LUCFunction, and ESIGNFunction.