Crypto++  8.6
Free C++ class library of cryptographic schemes
Public Types | Public Member Functions | List of all members
DL_PrivateKey_ECGDSA< EC > Class Template Reference

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

Public Types

typedef EC::Point Element
 

Public Member Functions

void Initialize (const DL_GroupParameters_EC< EC > &params, const Integer &x)
 Initialize an EC Private Key using {GP,x}. More...
 
void Initialize (const EC &ec, const Element &G, const Integer &n, const Integer &x)
 Initialize an EC Private Key using {EC,G,n,x}. More...
 
void Initialize (RandomNumberGenerator &rng, const DL_GroupParameters_EC< EC > &params)
 Create an EC private key. More...
 
void Initialize (RandomNumberGenerator &rng, const EC &ec, const Element &G, const Integer &n)
 Create an EC private key. More...
 
virtual void MakePublicKey (DL_PublicKey_ECGDSA< EC > &pub) const
 
virtual bool GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const
 
virtual void AssignFrom (const NameValuePairs &source)
 
void BERDecodePrivateKey (BufferedTransformation &bt, bool parametersPresent, size_t size)
 
void DEREncodePrivateKey (BufferedTransformation &bt) const
 

Detailed Description

template<class EC>
class DL_PrivateKey_ECGDSA< EC >

Elliptic Curve German DSA key for ISO/IEC 15946.

Template Parameters
ECelliptic curve field
See also
ECGDSA
Since
Crypto++ 6.0

Definition at line 411 of file eccrypto.h.

Member Function Documentation

◆ Initialize() [1/4]

template<class EC >
void DL_PrivateKey_ECGDSA< EC >::Initialize ( const DL_GroupParameters_EC< EC > &  params,
const Integer x 
)
inline

Initialize an EC Private Key using {GP,x}.

Parameters
paramsgroup parameters
xthe private exponent

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

Definition at line 429 of file eccrypto.h.

◆ Initialize() [2/4]

template<class EC >
void DL_PrivateKey_ECGDSA< EC >::Initialize ( const EC &  ec,
const Element &  G,
const Integer n,
const Integer x 
)
inline

Initialize an EC Private Key using {EC,G,n,x}.

Parameters
ecthe elliptic curve
Gthe base point
nthe order of the base point
xthe private exponent

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

Definition at line 442 of file eccrypto.h.

◆ Initialize() [3/4]

template<class EC >
void DL_PrivateKey_ECGDSA< EC >::Initialize ( RandomNumberGenerator rng,
const DL_GroupParameters_EC< EC > &  params 
)
inline

Create an EC private key.

Parameters
rnga RandomNumberGenerator derived class
paramsthe EC group parameters

This function overload of Initialize() creates a new private key because it takes a RandomNumberGenerator() as a parameter. If you have an existing keypair, then use one of the other Initialize() overloads.

Definition at line 455 of file eccrypto.h.

◆ Initialize() [4/4]

template<class EC >
void DL_PrivateKey_ECGDSA< EC >::Initialize ( RandomNumberGenerator rng,
const EC &  ec,
const Element &  G,
const Integer n 
)
inline

Create an EC private key.

Parameters
rnga RandomNumberGenerator derived class
ecthe elliptic curve
Gthe base point
nthe order of the base point

This function overload of Initialize() creates a new private key because it takes a RandomNumberGenerator() as a parameter. If you have an existing keypair, then use one of the other Initialize() overloads.

Definition at line 466 of file eccrypto.h.


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