|
void | Initialize (RandomNumberGenerator &rng, unsigned int modulusBits, const Integer &eStart=17) |
| Create a LUC private key. More...
|
|
void | Initialize (const Integer &n, const Integer &e, const Integer &p, const Integer &q, const Integer &u) |
| Initialize a LUC private key with {n,e,p,q,dp,dq,u}. More...
|
|
void | BERDecode (BufferedTransformation &bt) |
|
void | DEREncode (BufferedTransformation &bt) const |
|
Integer | CalculateInverse (RandomNumberGenerator &rng, const Integer &x) const |
| Calculates the inverse of an element. More...
|
|
bool | Validate (RandomNumberGenerator &rng, unsigned int level) const |
| Check this object for errors. More...
|
|
bool | GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const |
| Get a named value. More...
|
|
void | AssignFrom (const NameValuePairs &source) |
| Assign values to this object. More...
|
|
void | GenerateRandom (RandomNumberGenerator &rng, const NameValuePairs &alg) |
|
const Integer & | GetPrime1 () const |
|
const Integer & | GetPrime2 () const |
|
const Integer & | GetMultiplicativeInverseOfPrime2ModPrime1 () const |
|
void | SetPrime1 (const Integer &p) |
|
void | SetPrime2 (const Integer &q) |
|
void | SetMultiplicativeInverseOfPrime2ModPrime1 (const Integer &u) |
|
void | Initialize (const Integer &n, const Integer &e) |
| Initialize a LUC public key with {n,e}. More...
|
|
void | BERDecode (BufferedTransformation &bt) |
|
void | DEREncode (BufferedTransformation &bt) const |
|
Integer | ApplyFunction (const Integer &x) const |
| Applies the trapdoor. More...
|
|
Integer | PreimageBound () const |
| Returns the maximum size of a message before the trapdoor function is applied. More...
|
|
Integer | ImageBound () const |
| Returns the maximum size of a representation after the trapdoor function is applied. More...
|
|
bool | Validate (RandomNumberGenerator &rng, unsigned int level) const |
| Check this object for errors. More...
|
|
bool | GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const |
| Get a named value. More...
|
|
void | AssignFrom (const NameValuePairs &source) |
| Assign values to this object. More...
|
|
const Integer & | GetModulus () const |
|
const Integer & | GetPublicExponent () const |
|
void | SetModulus (const Integer &n) |
|
void | SetPublicExponent (const Integer &e) |
|
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 | ApplyRandomizedFunction (RandomNumberGenerator &rng, const Integer &x) const =0 |
| Applies the trapdoor function, using random data if required. More...
|
|
virtual bool | IsRandomized () const |
| Determines if the encryption algorithm is randomized. 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 representation 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 representation after the trapdoor function is applied bound to a public key. More...
|
|
virtual void | AssignFrom (const NameValuePairs &source)=0 |
| Assign values to this object. More...
|
|
virtual bool | Validate (RandomNumberGenerator &rng, unsigned int level) const =0 |
| Check this object for errors. More...
|
|
virtual void | ThrowIfInvalid (RandomNumberGenerator &rng, unsigned int level) const |
| Check this object for errors. More...
|
|
virtual void | Save (BufferedTransformation &bt) const |
| Saves a key to a BufferedTransformation. More...
|
|
virtual void | Load (BufferedTransformation &bt) |
| Loads a key from a BufferedTransformation. More...
|
|
virtual bool | SupportsPrecomputation () const |
| Determines whether the object supports precomputation. More...
|
|
virtual void | Precompute (unsigned int precomputationStorage) |
| Perform precomputation. More...
|
|
virtual void | LoadPrecomputation (BufferedTransformation &storedPrecomputation) |
| Retrieve previously saved precomputation. More...
|
|
virtual void | SavePrecomputation (BufferedTransformation &storedPrecomputation) const |
| Save precomputation for later use. More...
|
|
void | DoQuickSanityCheck () const |
| Perform a quick sanity check. More...
|
|
template<class T > |
bool | GetThisObject (T &object) const |
| Get a copy of this object or subobject. More...
|
|
template<class T > |
bool | GetThisPointer (T *&ptr) const |
| Get a pointer to this object. More...
|
|
template<class T > |
bool | GetValue (const char *name, T &value) const |
| Get a named value. More...
|
|
template<class T > |
T | GetValueWithDefault (const char *name, T defaultValue) const |
| Get a named value. More...
|
|
CRYPTOPP_DLL std::string | GetValueNames () const |
| Get a list of value names that can be retrieved. More...
|
|
CRYPTOPP_DLL bool | GetIntValue (const char *name, int &value) const |
| Get a named value with type int. More...
|
|
CRYPTOPP_DLL int | GetIntValueWithDefault (const char *name, int defaultValue) const |
| Get a named value with type int, with default. More...
|
|
CRYPTOPP_DLL bool | GetWord64Value (const char *name, word64 &value) const |
| Get a named value with type word64. More...
|
|
CRYPTOPP_DLL word64 | GetWord64ValueWithDefault (const char *name, word64 defaultValue) const |
| Get a named value with type word64, with default. More...
|
|
template<class T > |
void | GetRequiredParameter (const char *className, const char *name, T &value) const |
| Retrieves a required name/value pair. More...
|
|
CRYPTOPP_DLL void | GetRequiredIntParameter (const char *className, const char *name, int &value) const |
| Retrieves a required name/value pair. More...
|
|
virtual CRYPTOPP_DLL bool | GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const =0 |
| Get a named value. More...
|
|
Integer | CalculateRandomizedInverse (RandomNumberGenerator &rng, const Integer &x) const |
| Applies the inverse of the trapdoor function. More...
|
|
bool | IsRandomized () const |
| Determines if the decryption algorithm is randomized. More...
|
|
virtual Integer | CalculateInverse (RandomNumberGenerator &rng, const Integer &x) const =0 |
| Calculates the inverse of an element. More...
|
|
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...
|
|
virtual void | GenerateRandom (RandomNumberGenerator &rng, const NameValuePairs ¶ms=g_nullNameValuePairs) |
| Generate a random key or crypto parameters. More...
|
|
void | GenerateRandomWithKeySize (RandomNumberGenerator &rng, unsigned int keySize) |
| Generate a random key or crypto parameters. More...
|
|
The LUC inverse function.
This class is here for historical and pedagogical interest. It has no practical advantages over other trapdoor functions and probably shouldn't be used in production software. The discrete log based LUC schemes defined later in this .h file may be of more practical interest.
- Since
- Crypto++ 2.1
Definition at line 78 of file luc.h.