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

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

Elliptic Curve German DSA key for ISO/IEC 15946. More...

Inheritance diagram for DL_PublicKey_ECGDSA< 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...
virtual void | AssignFrom (const NameValuePairs &source)
| Assign values to this object. More...
virtual void | SetPublicElement (const Element &y)
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 >
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_ECGDSA< EC >

Elliptic Curve German DSA key for ISO/IEC 15946.

Template Parameters

  EC | elliptic curve field

See also
  ECGDSA

Since
  Crypto++ 6.0

Definition at line 405 of file eccrypto.h.

## Member Function Documentation

## ◆ Initialize() [1/2]

template<class EC>

void DL_PublicKey_ECGDSA< 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 509 of file eccrypto.h.

## ◆ Initialize() [2/2]

template<class EC>

void DL_PublicKey_ECGDSA< 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 518 of file eccrypto.h.

## ◆ AssignFrom()

template<class EC>

virtual void DL_PublicKey_ECGDSA< EC >::AssignFrom | ( | const NameValuePairs & | source | ) |
| inline virtual

Assign values to this object.

This function can be used to create a public key from a private key.

Implements CryptoMaterial.

Definition at line 521 of file eccrypto.h.

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

- eccrypto.h
- eccrypto.cpp