Crypto++ 8.7
Free C++ class library of cryptographic schemes
Public Member Functions | List of all members
DL_BasePrecomputation_LUC Class Reference

LUC Precomputation. More...

#include <luc.h>

+ Inheritance diagram for DL_BasePrecomputation_LUC:

Public Member Functions

bool IsInitialized () const
 Determines whether this object is initialized. More...
 
void SetBase (const DL_GroupPrecomputation< Element > &group, const Integer &base)
 Set the base element. More...
 
const IntegerGetBase (const DL_GroupPrecomputation< Element > &group) const
 Get the base element. More...
 
void Precompute (const DL_GroupPrecomputation< Element > &group, unsigned int maxExpBits, unsigned int storage)
 Perform precomputation. More...
 
void Load (const DL_GroupPrecomputation< Element > &group, BufferedTransformation &storedPrecomputation)
 Retrieve previously saved precomputation. More...
 
void Save (const DL_GroupPrecomputation< Element > &group, BufferedTransformation &storedPrecomputation) const
 Save precomputation for later use. More...
 
Integer Exponentiate (const DL_GroupPrecomputation< Element > &group, const Integer &exponent) const
 Exponentiates an element. More...
 
Integer CascadeExponentiate (const DL_GroupPrecomputation< Element > &group, const Integer &exponent, const DL_FixedBasePrecomputation< Integer > &pc2, const Integer &exponent2) const
 Exponentiates an element. More...
 
virtual bool IsInitialized () const=0
 Determines whether this object is initialized. More...
 
virtual void SetBase (const DL_GroupPrecomputation< Element > &group, const Element &base)=0
 Set the base element. More...
 
virtual const ElementGetBase (const DL_GroupPrecomputation< Element > &group) const=0
 Get the base element. More...
 
virtual void Precompute (const DL_GroupPrecomputation< Element > &group, unsigned int maxExpBits, unsigned int storage)=0
 Perform precomputation. More...
 
virtual void Load (const DL_GroupPrecomputation< Element > &group, BufferedTransformation &storedPrecomputation)=0
 Retrieve previously saved precomputation. More...
 
virtual void Save (const DL_GroupPrecomputation< Element > &group, BufferedTransformation &storedPrecomputation) const=0
 Save precomputation for later use. More...
 
virtual Element Exponentiate (const DL_GroupPrecomputation< Element > &group, const Integer &exponent) const=0
 Exponentiates an element. More...
 
virtual Element CascadeExponentiate (const DL_GroupPrecomputation< Element > &pc1, const Integer &exponent1, const DL_FixedBasePrecomputation< Element > &pc2, const Integer &exponent2) const=0
 Exponentiates an element. More...
 

Additional Inherited Members

- Public Types inherited from DL_FixedBasePrecomputation< Integer >
typedef Integer Element
 

Detailed Description

LUC Precomputation.

Since
Crypto++ 2.1

Definition at line 192 of file luc.h.

Constructor & Destructor Documentation

◆ ~DL_BasePrecomputation_LUC()

virtual DL_BasePrecomputation_LUC::~DL_BasePrecomputation_LUC ( )
inlinevirtual

Definition at line 195 of file luc.h.

Member Function Documentation

◆ IsInitialized()

bool DL_BasePrecomputation_LUC::IsInitialized ( ) const
inlinevirtual

Determines whether this object is initialized.

Returns
true if this object is initialized, false otherwise

Implements DL_FixedBasePrecomputation< Integer >.

Definition at line 198 of file luc.h.

◆ SetBase()

void DL_BasePrecomputation_LUC::SetBase ( const DL_GroupPrecomputation< Element > &  group,
const Integer base 
)
inlinevirtual

Set the base element.

Parameters
groupthe group
baseelement in the group

Implements DL_FixedBasePrecomputation< Integer >.

Definition at line 199 of file luc.h.

◆ GetBase()

const Integer & DL_BasePrecomputation_LUC::GetBase ( const DL_GroupPrecomputation< Element > &  group) const
inlinevirtual

Get the base element.

Parameters
groupthe group
Returns
base element in the group

Implements DL_FixedBasePrecomputation< Integer >.

Definition at line 201 of file luc.h.

◆ Precompute()

void DL_BasePrecomputation_LUC::Precompute ( const DL_GroupPrecomputation< Element > &  group,
unsigned int  maxExpBits,
unsigned int  storage 
)
inlinevirtual

Perform precomputation.

Parameters
groupthe group
maxExpBitsused to calculate the exponent base
storagethe 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.

See also
SupportsPrecomputation(), LoadPrecomputation(), SavePrecomputation()

Implements DL_FixedBasePrecomputation< Integer >.

Definition at line 203 of file luc.h.

◆ Load()

void DL_BasePrecomputation_LUC::Load ( const DL_GroupPrecomputation< Element > &  group,
BufferedTransformation storedPrecomputation 
)
inlinevirtual

Retrieve previously saved precomputation.

Parameters
groupthe group
storedPrecomputationBufferedTransformation with the saved precomputation
Exceptions
NotImplemented
See also
SupportsPrecomputation(), Precompute()

Implements DL_FixedBasePrecomputation< Integer >.

Definition at line 205 of file luc.h.

◆ Save()

void DL_BasePrecomputation_LUC::Save ( const DL_GroupPrecomputation< Element > &  group,
BufferedTransformation storedPrecomputation 
) const
inlinevirtual

Save precomputation for later use.

Parameters
groupthe group
storedPrecomputationBufferedTransformation to write the precomputation
Exceptions
NotImplemented
See also
SupportsPrecomputation(), Precompute()

Implements DL_FixedBasePrecomputation< Integer >.

Definition at line 207 of file luc.h.

◆ Exponentiate()

Integer DL_BasePrecomputation_LUC::Exponentiate ( const DL_GroupPrecomputation< Element > &  group,
const Integer exponent 
) const
virtual

Exponentiates an element.

Parameters
groupthe group
exponentthe exponent
Returns
the result of the exponentiation

Implements DL_FixedBasePrecomputation< Integer >.

Definition at line 40 of file luc.cpp.

◆ CascadeExponentiate()

Integer DL_BasePrecomputation_LUC::CascadeExponentiate ( const DL_GroupPrecomputation< Element > &  pc1,
const Integer exponent1,
const DL_FixedBasePrecomputation< Integer > &  pc2,
const Integer exponent2 
) const
inlinevirtual

Exponentiates an element.

Parameters
pc1the first the group precomputation
exponent1the first exponent
pc2the second the group precomputation
exponent2the first exponent2
Returns
the public element raised to the exponent

CascadeExponentiateBaseAndPublicElement raises the public element to the base element and precomputation.

Implements DL_FixedBasePrecomputation< Integer >.

Definition at line 210 of file luc.h.


The documentation for this class was generated from the following files: