Fabcoin Core  0.16.2
P2P Digital Currency
Public Types | Public Member Functions | Private Types | List of all members
DL_PublicKey_ECGDSA_ISO15946< EC > Class Template Reference

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

#include <eccrypto.h>

Inheritance diagram for DL_PublicKey_ECGDSA_ISO15946< EC >:
[legend]
Collaboration diagram for DL_PublicKey_ECGDSA_ISO15946< EC >:
[legend]

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

virtual ~DL_PublicKey_ECGDSA_ISO15946 ()
 
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 More...
 
void DEREncodePublicKey (BufferedTransformation &bt) const
 encode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header More...
 
- Public Member Functions inherited from DL_PublicKeyImpl< DL_GroupParameters_EC< EC > >
virtual ~DL_PublicKeyImpl ()
 
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
 
DL_FixedBasePrecomputation< Element > & AccessPublicPrecomputation ()
 
bool operator== (const DL_PublicKeyImpl< DL_GroupParameters_EC< EC > > &rhs) const
 
- Public Member Functions inherited from DL_PublicKey< DL_GroupParameters_EC< EC >::Element >
virtual ~DL_PublicKey ()
 
bool GetVoidValue (const char *name, const std::type_info &valueType, void *pValue) const
 
void AssignFrom (const NameValuePairs &source)
 
virtual const ElementGetPublicElement () const
 
virtual void SetPublicElement (const Element &y)
 
virtual Element ExponentiatePublicElement (const Integer &exponent) const
 
virtual Element CascadeExponentiateBaseAndPublicElement (const Integer &baseExp, const Integer &publicExp) const
 
- Public Member Functions inherited from DL_Key< DL_GroupParameters_EC< EC >::Element >
virtual ~DL_Key ()
 
- Public Member Functions inherited from DL_KeyImpl< X509PublicKey, DL_GroupParameters_EC< EC > >
virtual ~DL_KeyImpl ()
 
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
virtual ~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 ~ASN1Object ()
 
virtual void BEREncode (BufferedTransformation &bt) const
 Encode this object into a BufferedTransformation. More...
 
- Public Member Functions inherited from CryptoMaterial
virtual ~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
virtual ~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...
 
CRYPTOPP_DLL std::string GetValueNames () const
 Get a list of value names that can be retrieved. More...
 
CRYPTOPP_DLL bool GetIntValue (const char *name, int &value) const
 Get a named value with type int. More...
 
CRYPTOPP_DLL int GetIntValueWithDefault (const char *name, int defaultValue) const
 Get a named value with type int, with default. More...
 
template<class T >
void GetRequiredParameter (const char *className, const char *name, T &value) const
 Retrieves a required name/value pair. More...
 
CRYPTOPP_DLL void GetRequiredIntParameter (const char *className, const char *name, int &value) const
 Retrieves a required name/value pair. More...
 

Private Types

typedef DL_PublicKey_ECGDSA_ISO15946< EC > ThisClass
 

Additional Inherited Members

- Static Public Member Functions inherited from NameValuePairs
static CRYPTOPP_DLL void CRYPTOPP_API 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_ISO15946< EC >

Elliptic Curve German DSA key for ISO/IEC 15946.

Template Parameters
ECelliptic curve field
See also
ECGDSA_ISO15946
Since
Crypto++ 5.7

Definition at line 409 of file eccrypto.h.

Member Typedef Documentation

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

Definition at line 498 of file eccrypto.h.

template<class EC>
typedef DL_PublicKey_ECGDSA_ISO15946<EC> DL_PublicKey_ECGDSA_ISO15946< EC >::ThisClass
private

Definition at line 495 of file eccrypto.h.

Constructor & Destructor Documentation

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

Definition at line 500 of file eccrypto.h.

Member Function Documentation

template<class EC>
virtual void DL_PublicKey_ECGDSA_ISO15946< EC >::AssignFrom ( const NameValuePairs source)
inlinevirtual

Assign values to this object.

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

Implements CryptoMaterial.

Definition at line 518 of file eccrypto.h.

Here is the call graph for this function:

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

decode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header

Implements X509PublicKey.

Definition at line 721 of file eccrypto.cpp.

Here is the call graph for this function:

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

encode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header

Implements X509PublicKey.

Definition at line 732 of file eccrypto.cpp.

template<class EC>
void DL_PublicKey_ECGDSA_ISO15946< 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 506 of file eccrypto.h.

Here is the call graph for this function:

template<class EC>
void DL_PublicKey_ECGDSA_ISO15946< 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 515 of file eccrypto.h.

Here is the call graph for this function:

template<class EC>
virtual void DL_PublicKey_ECGDSA_ISO15946< EC >::SetPublicElement ( const Element y)
inlinevirtual

Definition at line 532 of file eccrypto.h.

Here is the call graph for this function:

Here is the caller graph for this function:


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