Crypto++ 8.6 Free C++ class library of cryptographic schemes

Public Types | Public Member Functions | List of all members
DL_PublicKey_EC< EC > Class Template Reference

Elliptic Curve Discrete Log (DL) public key. More...

Inheritance diagram for DL_PublicKey_EC< EC >:

## Public Types
typedef EC::Point | Element
Public Types inherited from DL_PublicKeyImpl< DL_GroupParameters_EC< EC > >
typedef GP::Element | Element
Public Types inherited from DL_PublicKey< GP::Element >
typedef GP::Element | Element
Public Types inherited from DL_KeyImpl< PK, GP, O >
typedef GP | GroupParameters

## Public Member Functions
void | Initialize (const DL_GroupParameters_EC< EC > &params, const Element &Q)
| Initialize an EC Public Key using {GP,Q}. More...
void | Initialize (const EC &ec, const Element &G, const Integer &n, const Element &Q)
| Initialize an EC Public Key using {EC,G,n,Q}. More...
void | BERDecodePublicKey (BufferedTransformation &bt, bool parametersPresent, size_t size)
void | DEREncodePublicKey (BufferedTransformation &bt) const
Public Member Functions inherited from DL_PublicKeyImpl< DL_GroupParameters_EC< EC > >
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...
bool | SupportsPrecomputation () const
| Determines whether the object supports precomputation. More...
void | Precompute (unsigned int precomputationStorage=16)
| Perform precomputation. More...
void | LoadPrecomputation (BufferedTransformation &storedPrecomputation)
| Retrieve previously saved precomputation. More...
void | SavePrecomputation (BufferedTransformation &storedPrecomputation) const
| Save precomputation for later use. More...
const DL_GroupParameters< Element > & | GetAbstractGroupParameters () const
| Retrieves abstract group parameters. More...
DL_GroupParameters< Element > & | AccessAbstractGroupParameters ()
| Retrieves abstract group parameters. More...
const DL_FixedBasePrecomputation< Element > & | GetPublicPrecomputation () const
| Accesses the public precomputation. More...
DL_FixedBasePrecomputation< Element > & | AccessPublicPrecomputation ()
| Accesses the public precomputation. More...
bool | operator== (const DL_PublicKeyImpl< DL_GroupParameters_EC< EC > > &rhs) const
Public Member Functions inherited from DL_PublicKey< GP::Element >
bool | GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const
| Get a named value. More...
void | AssignFrom (const NameValuePairs &source)
| Initialize or reinitialize this key. More...
virtual const Element & | GetPublicElement () const
| Retrieves the public element. More...
virtual void | SetPublicElement (const Element &y)
| Sets the public element. More...
virtual Element | ExponentiatePublicElement (const Integer &exponent) const
| Exponentiates this element. More...
virtual Element | CascadeExponentiateBaseAndPublicElement (const Integer &baseExp, const Integer &publicExp) const
| Exponentiates an element. More...
Public Member Functions inherited from DL_KeyImpl< PK, GP, O >
O | GetAlgorithmID () const
bool | BERDecodeAlgorithmParameters (BufferedTransformation &bt)
bool | DEREncodeAlgorithmParameters (BufferedTransformation &bt) const
const GP & | GetGroupParameters () const
GP & | AccessGroupParameters ()

## Detailed Description

### template<class EC>
class DL_PublicKey_EC< EC >

Elliptic Curve Discrete Log (DL) public key.

Template Parameters

  EC | elliptic curve field

Definition at line 178 of file eccrypto.h.

## Member Function Documentation

## ◆ Initialize() [1/2]

template<class EC >

void DL_PublicKey_EC< EC >::Initialize | ( | const DL_GroupParameters_EC< EC > & | params,
|  | const Element & | Q
| ) |  |
| inline

Initialize an EC Public Key using {GP,Q}.

Parameters

  params | group parameters
  Q | the public point

This Initialize() function overload initializes a public key from existing parameters.

Definition at line 189 of file eccrypto.h.

## ◆ Initialize() [2/2]

template<class EC >

void DL_PublicKey_EC< EC >::Initialize | ( | const EC & | ec,
|  | const Element & | G,
|  | const Integer & | n,
|  | const Element & | Q
| ) |  |
| inline

Initialize an EC Public Key using {EC,G,n,Q}.

Parameters

  ec | the elliptic curve
  G | the base point
  n | the order of the base point
  Q | the public point

This Initialize() function overload initializes a public key from existing parameters.

Definition at line 198 of file eccrypto.h.

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

- eccrypto.h