Crypto++ 8.9
Free C++ class library of cryptographic schemes
|
DL_FixedBasePrecomputation interface. More...
#include <eprecomp.h>
Public Types | |
typedef T | Element |
Public Member Functions | |
virtual bool | IsInitialized () const =0 |
Determines whether this object is initialized. | |
virtual void | SetBase (const DL_GroupPrecomputation< Element > &group, const Element &base)=0 |
Set the base element. | |
virtual const Element & | GetBase (const DL_GroupPrecomputation< Element > &group) const =0 |
Get the base element. | |
virtual void | Precompute (const DL_GroupPrecomputation< Element > &group, unsigned int maxExpBits, unsigned int storage)=0 |
Perform precomputation. | |
virtual void | Load (const DL_GroupPrecomputation< Element > &group, BufferedTransformation &storedPrecomputation)=0 |
Retrieve previously saved precomputation. | |
virtual void | Save (const DL_GroupPrecomputation< Element > &group, BufferedTransformation &storedPrecomputation) const =0 |
Save precomputation for later use. | |
virtual Element | Exponentiate (const DL_GroupPrecomputation< Element > &group, const Integer &exponent) const =0 |
Exponentiates an element. | |
virtual Element | CascadeExponentiate (const DL_GroupPrecomputation< Element > &pc1, const Integer &exponent1, const DL_FixedBasePrecomputation< Element > &pc2, const Integer &exponent2) const =0 |
Exponentiates an element. | |
DL_FixedBasePrecomputation interface.
T | Field element |
Definition at line 60 of file eprecomp.h.
typedef T DL_FixedBasePrecomputation< T >::Element |
Definition at line 63 of file eprecomp.h.
|
inlinevirtual |
Definition at line 65 of file eprecomp.h.
|
pure virtual |
Determines whether this object is initialized.
Implemented in DL_FixedBasePrecomputationImpl< T >, DL_FixedBasePrecomputationImpl< typename GROUP_PRECOMP::Element >, and DL_BasePrecomputation_LUC.
|
pure virtual |
Set the base element.
group | the group |
base | element in the group |
Implemented in DL_FixedBasePrecomputationImpl< T >, and DL_BasePrecomputation_LUC.
|
pure virtual |
Get the base element.
group | the group |
Implemented in DL_FixedBasePrecomputationImpl< T >, and DL_BasePrecomputation_LUC.
|
pure virtual |
Perform precomputation.
group | the group |
maxExpBits | used to calculate the exponent base |
storage | the suggested number of objects for the precompute table |
The exact semantics of Precompute() varies, but it typically means calculate a table of n objects that can be used later to speed up computation.
If a derived class does not override Precompute(), then the base class throws NotImplemented.
Implemented in DL_FixedBasePrecomputationImpl< T >, and DL_BasePrecomputation_LUC.
|
pure virtual |
Retrieve previously saved precomputation.
group | the group |
storedPrecomputation | BufferedTransformation with the saved precomputation |
NotImplemented |
Implemented in DL_FixedBasePrecomputationImpl< T >, and DL_BasePrecomputation_LUC.
|
pure virtual |
Save precomputation for later use.
group | the group |
storedPrecomputation | BufferedTransformation to write the precomputation |
NotImplemented |
Implemented in DL_FixedBasePrecomputationImpl< T >, and DL_BasePrecomputation_LUC.
|
pure virtual |
Exponentiates an element.
group | the group |
exponent | the exponent |
Implemented in DL_FixedBasePrecomputationImpl< T >, and DL_BasePrecomputation_LUC.
|
pure virtual |
Exponentiates an element.
pc1 | the first the group precomputation |
exponent1 | the first exponent |
pc2 | the second the group precomputation |
exponent2 | the first exponent2 |
CascadeExponentiateBaseAndPublicElement raises the public element to the base element and precomputation.
Implemented in DL_BasePrecomputation_LUC, and DL_FixedBasePrecomputationImpl< T >.