Crypto++  8.8
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 >
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
ECelliptic 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
paramsgroup parameters
Qthe 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
ecthe elliptic curve
Gthe base point
nthe order of the base point
Qthe 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: