DL_BasePrecomputation_LUC Class Reference

LUC Precomputation. More...

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 Integer & | GetBase (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
Integer | CascadeExponentiate (const DL_GroupPrecomputation< Element > &group, const Integer &exponent, const DL_FixedBasePrecomputation< Integer > &pc2, const Integer &exponent2) const
| Exponentiates an element. More...
Public Member Functions inherited from DL_FixedBasePrecomputation< Integer >
virtual Element | Exponentiate (const DL_GroupPrecomputation< Element > &group, const Integer &exponent) 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.

## Member Function Documentation

## IsInitialized()

bool DL_BasePrecomputation_LUC::IsInitialized | ( |  | ) | const

inline virtual

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
| ) |  |

inline virtual

Set the base element.

Parameters

  group | the group
  base | element 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

inline virtual

Get the base element.

Parameters

  group | the 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
| ) |  |

inline virtual

Perform precomputation.

Parameters

  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.

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
| ) |  |

inline virtual

Retrieve previously saved precomputation.

Parameters

  group | the group
  storedPrecomputation | BufferedTransformation 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

inline virtual

Save precomputation for later use.

Parameters

  group | the group
  storedPrecomputation | BufferedTransformation to write the precomputation

Exceptions

  NotImplemented |

See also
  SupportsPrecomputation(), Precompute()

Implements DL_FixedBasePrecomputation< Integer >.

Definition at line 207 of file luc.h.

## CascadeExponentiate()

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

inline virtual

Exponentiates an element.

Parameters

  pc1 | the first the group precomputation
  exponent1 | the first exponent
  pc2 | the second the group precomputation
  exponent2 | the 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:

- luc.h
- luc.cpp