Crypto++  8.0
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 DL_GroupParameters_EC< EC > ::Element Element
 
- Public Types inherited from DL_PublicKey< DL_GroupParameters_EC< EC > ::Element >
typedef DL_GroupParameters_EC< EC > ::Element Element
 
- Public Types inherited from DL_KeyImpl< X509PublicKey, DL_GroupParameters_EC< EC > >
typedef DL_GroupParameters_EC< EC > 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)
 decode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header
 
void DEREncodePublicKey (BufferedTransformation &bt) const
 encode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header
 
- 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< DL_GroupParameters_EC< EC > ::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< X509PublicKey, DL_GroupParameters_EC< EC > >
OID GetAlgorithmID () const
 
bool BERDecodeAlgorithmParameters (BufferedTransformation &bt)
 
bool DEREncodeAlgorithmParameters (BufferedTransformation &bt) const
 
const DL_GroupParameters_EC< EC > & GetGroupParameters () const
 
DL_GroupParameters_EC< EC > & AccessGroupParameters ()
 
- Public Member Functions inherited from X509PublicKey
void BERDecode (BufferedTransformation &bt)
 Decode this object from a BufferedTransformation. More...
 
void DEREncode (BufferedTransformation &bt) const
 Encode this object into a BufferedTransformation. More...
 
- Public Member Functions inherited from ASN1CryptoMaterial< PublicKey >
void Save (BufferedTransformation &bt) const
 DER encode ASN.1 object. More...
 
void Load (BufferedTransformation &bt)
 BER decode ASN.1 object. More...
 
- Public Member Functions inherited from ASN1Object
virtual void BEREncode (BufferedTransformation &bt) const
 Encode this object into a BufferedTransformation. More...
 
- Public Member Functions inherited from CryptoMaterial
virtual void ThrowIfInvalid (RandomNumberGenerator &rng, unsigned int level) const
 Check this object for errors. More...
 
void DoQuickSanityCheck () const
 Perform a quick sanity check. More...
 
- Public Member Functions inherited from NameValuePairs
template<class T >
bool GetThisObject (T &object) const
 Get a copy of this object or subobject. More...
 
template<class T >
bool GetThisPointer (T *&ptr) const
 Get a pointer to this object. More...
 
template<class T >
bool GetValue (const char *name, T &value) const
 Get a named value. More...
 
template<class T >
GetValueWithDefault (const char *name, T defaultValue) const
 Get a named value. More...
 
std::string GetValueNames () const
 Get a list of value names that can be retrieved. More...
 
bool GetIntValue (const char *name, int &value) const
 Get a named value with type int. More...
 
int GetIntValueWithDefault (const char *name, int defaultValue) const
 Get a named value with type int, with default. More...
 
bool GetWord64Value (const char *name, word64 &value) const
 Get a named value with type word64. More...
 
word64 GetWord64ValueWithDefault (const char *name, word64 defaultValue) const
 Get a named value with type word64, with default. More...
 
template<class T >
void GetRequiredParameter (const char *className, const char *name, T &value) const
 Retrieves a required name/value pair. More...
 
void GetRequiredIntParameter (const char *className, const char *name, int &value) const
 Retrieves a required name/value pair. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from NameValuePairs
static void ThrowIfTypeMismatch (const char *name, const std::type_info &stored, const std::type_info &retrieving)
 Ensures an expected name and type is present. More...
 

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 174 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 185 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 194 of file eccrypto.h.


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