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

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

#include <eccrypto.h>

Inheritance diagram for DL_PublicKey_EC< EC >:
DL_PublicKeyImpl< DL_GroupParameters_EC< EC > > DL_PublicKey< GP::Element > DL_KeyImpl< PK, GP, O > DL_Key< T >

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}.
 
void Initialize (const EC &ec, const Element &G, const Integer &n, const Element &Q)
 Initialize an EC Public Key using {EC,G,n,Q}.
 
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.
 
bool GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const
 Get a named value.
 
void AssignFrom (const NameValuePairs &source)
 Assign values to this object.
 
bool SupportsPrecomputation () const
 Determines whether the object supports precomputation.
 
void Precompute (unsigned int precomputationStorage=16)
 Perform precomputation.
 
void LoadPrecomputation (BufferedTransformation &storedPrecomputation)
 Retrieve previously saved precomputation.
 
void SavePrecomputation (BufferedTransformation &storedPrecomputation) const
 Save precomputation for later use.
 
const DL_GroupParameters< Element > & GetAbstractGroupParameters () const
 Retrieves abstract group parameters.
 
DL_GroupParameters< Element > & AccessAbstractGroupParameters ()
 Retrieves abstract group parameters.
 
const DL_FixedBasePrecomputation< Element > & GetPublicPrecomputation () const
 Accesses the public precomputation.
 
DL_FixedBasePrecomputation< Element > & AccessPublicPrecomputation ()
 Accesses the public precomputation.
 
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.
 
void AssignFrom (const NameValuePairs &source)
 Initialize or reinitialize this key.
 
virtual const Element & GetPublicElement () const
 Retrieves the public element.
 
virtual void SetPublicElement (const Element &y)
 Sets the public element.
 
virtual Element ExponentiatePublicElement (const Integer &exponent) const
 Exponentiates this element.
 
virtual Element CascadeExponentiateBaseAndPublicElement (const Integer &baseExp, const Integer &publicExp) const
 Exponentiates an element.
 
- 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 Typedef Documentation

◆ Element

template<class EC >
typedef EC::Point DL_PublicKey_EC< EC >::Element

Definition at line 181 of file eccrypto.h.

Constructor & Destructor Documentation

◆ ~DL_PublicKey_EC()

template<class EC >
virtual DL_PublicKey_EC< EC >::~DL_PublicKey_EC ( )
inlinevirtual

Definition at line 183 of file eccrypto.h.

Member Function Documentation

◆ BERDecodePublicKey()

template<class EC >
void DL_PublicKey_EC< EC >::BERDecodePublicKey ( BufferedTransformation bt,
bool  parametersPresent,
size_t  size 
)

Definition at line 699 of file eccrypto.cpp.

◆ DEREncodePublicKey()

template<class EC >
void DL_PublicKey_EC< EC >::DEREncodePublicKey ( BufferedTransformation bt) const

Definition at line 710 of file eccrypto.cpp.

◆ 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 files: