Fabcoin Core
0.16.2
P2P Digital Currency
|
Provides range for plaintext and ciphertext lengths. More...
#include <pubkey.h>
Public Member Functions | |
virtual | ~TrapdoorFunctionBounds () |
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... | |
Provides range for plaintext and ciphertext lengths.
A trapdoor function is a function that is easy to compute in one direction, but difficult to compute in the opposite direction without special knowledge. The special knowledge is usually the private key.
Trapdoor functions only handle messages of a limited length or size. MaxPreimage
is the plaintext's maximum length, and MaxImage
is the ciphertext's maximum length.
|
inlinevirtual |
|
pure virtual |
Returns the maximum size of a message after the trapdoor function is applied.
Derived classes must implement ImageBound()
.
Implemented in LUCFunction, RSAFunction, ESIGNFunction, RWFunction, and RabinFunction.
|
inlinevirtual |
Returns 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 93 of file pubkey.h.
|
inlinevirtual |
Returns the maximum size of a message before the trapdoor function is applied bound to a public key.
The default implementation returns PreimageBound() - 1
.
|
pure virtual |
Returns the maximum size of a message before the trapdoor function is applied.
Derived classes must implement PreimageBound()
.
Implemented in InvertibleRSAFunction_ISO, RSAFunction_ISO, LUCFunction, RSAFunction, ESIGNFunction, RWFunction, and RabinFunction.