|
Security Scol plugin
|
Applies the trapdoor function, using random data if required. More...
#include <pubkey.h>
Public Member Functions | |
| virtual Integer | ApplyRandomizedFunction (RandomNumberGenerator &rng, const Integer &x) const =0 |
| Applies the trapdoor function, using random data if required. | |
| virtual bool | IsRandomized () const |
| Determines if the encryption algorithm is randomized. | |
Public Member Functions inherited from TrapdoorFunctionBounds | |
| 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 representation 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 representation after the trapdoor function is applied bound to a public key. | |
Applies the trapdoor function, using random data if required.
ApplyFunction() is the foundation for encrypting a message under a public key. Derived classes will override it at some point.
|
inlinevirtual |
|
pure virtual |
Applies the trapdoor function, using random data if required.
| 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. Derived classes must implement it.
Implemented in TrapdoorFunction.
|
inlinevirtual |
Determines if the encryption algorithm is randomized.
If IsRandomized() returns false, then NullRNG() can be used.
Reimplemented in TrapdoorFunction.