DL_PublicKey_EC< EC > Class Template Reference

#include <eccrypto.h>

Inheritance diagram for DL_PublicKey_EC< EC >:

DL_PublicKeyImpl< DL_GroupParameters_EC< EC > > DL_PublicKey< DL_GroupParameters_EC< EC >::Element > DL_KeyImpl< X509PublicKey, DL_GroupParameters_EC< EC > > DL_Key< DL_GroupParameters_EC< EC >::Element > X509PublicKey ASN1CryptoMaterial< PublicKey > ASN1Object PublicKey CryptoMaterial NameValuePairs List of all members.

Detailed Description

template<class EC>
class DL_PublicKey_EC< EC >

EC public key.

Definition at line 142 of file eccrypto.h.

Public Types

typedef EC::Point Element
typedef DL_GroupParameters_EC<
EC > 
GroupParameters

Public Member Functions

void Initialize (const DL_GroupParameters_EC< EC > &params, const Element &Q)
void Initialize (const EC &ec, const Element &G, const Integer &n, const Element &Q)
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
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
void AssignFrom (const NameValuePairs &source)
bool SupportsPrecomputation () const
 
Returns:
whether this object supports precomputation

void Precompute (unsigned int precomputationStorage=16)
 do 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
DL_GroupParameters< Element > & AccessAbstractGroupParameters ()
const DL_FixedBasePrecomputation<
Element > & 
GetPublicPrecomputation () const
DL_FixedBasePrecomputation<
Element > & 
AccessPublicPrecomputation ()
bool operator== (const DL_PublicKeyImpl< DL_GroupParameters_EC< EC > > &rhs) const
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
OID GetAlgorithmID () const
bool BERDecodeAlgorithmParameters (BufferedTransformation &bt)
bool DEREncodeAlgorithmParameters (BufferedTransformation &bt) const
const DL_GroupParameters_EC<
EC > & 
GetGroupParameters () const
DL_GroupParameters_EC< EC > & AccessGroupParameters ()
void BERDecode (BufferedTransformation &bt)
 decode this object from a BufferedTransformation, using BER (Basic Encoding Rules)
void DEREncode (BufferedTransformation &bt) const
 encode this object into a BufferedTransformation, using DER (Distinguished Encoding Rules)
void Save (BufferedTransformation &bt) const
 save key into a BufferedTransformation
void Load (BufferedTransformation &bt)
 load key from a BufferedTransformation
virtual void BEREncode (BufferedTransformation &bt) const
 encode this object into a BufferedTransformation, using BER


Member Function Documentation

bool DL_PublicKeyImpl< DL_GroupParameters_EC< EC > >::Validate ( RandomNumberGenerator rng,
unsigned int  level 
) const [inline, virtual, inherited]

check this object for errors

Parameters:
level denotes the level of thoroughness: 0 - using this object won't cause a crash or exception (rng is ignored) 1 - this object will probably function (encrypt, sign, etc.) correctly (but may not check for weak keys and such) 2 - make sure this object will function correctly, and do reasonable security checks 3 - do checks that may take a long time
Returns:
true if the tests pass

Implements CryptoMaterial.

Definition at line 845 of file pubkey.h.

References DL_PublicKeyImpl< GP >::GetAbstractGroupParameters(), and DL_PublicKeyImpl< GP >::GetPublicPrecomputation().

void DL_PublicKeyImpl< DL_GroupParameters_EC< EC > >::Precompute ( unsigned int  precomputationStorage = 16  )  [inline, virtual, inherited]

do precomputation

The exact semantics of Precompute() is varies, but typically it means calculate a table of n objects that can be used later to speed up computation.

Reimplemented from CryptoMaterial.

Definition at line 864 of file pubkey.h.

References DL_PublicKeyImpl< GP >::AccessAbstractGroupParameters(), DL_PublicKeyImpl< GP >::AccessPublicPrecomputation(), and DL_PublicKeyImpl< GP >::GetAbstractGroupParameters().

void ASN1CryptoMaterial< PublicKey >::Load ( BufferedTransformation bt  )  [inline, virtual, inherited]

Reimplemented from CryptoMaterial.

Reimplemented in InvertibleRSAFunction.

Definition at line 240 of file asn.h.

References ASN1Object::BERDecode().

virtual void ASN1Object::BEREncode ( BufferedTransformation bt  )  const [inline, virtual, inherited]

encode this object into a BufferedTransformation, using BER

this may be useful if DEREncode() would be too inefficient

Definition at line 1579 of file cryptlib.h.

Referenced by ASN1CryptoMaterial< PublicKey >::Save().


The documentation for this class was generated from the following files:
Generated on Sat Dec 23 02:07:21 2006 for Crypto++ by  doxygen 1.5.1-p1