Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ECPublicKey Class Template Reference

Elliptic Curve Public Key. More...

#include <eccrypto.h>

Inheritance diagram for ECPublicKey:

ECParameters PK_Precomputation PK_Precomputation ECDigestVerifier ECEncryptor ECPrivateKey ECDecryptor ECDigestSigner List of all members.

Public Types

typedef EC::Point Point

Public Methods

 ECPublicKey (const ECParameters< EC > &params,const Point &Q)
 ECPublicKey (const OID &oidParams,const Point &Q)
 ECPublicKey (const EC &ec,const Point &G,const Integer &n,const Point &Q)
 ECPublicKey (BufferedTransformation &bt)
void DEREncode (BufferedTransformation &bt)const
void Precompute (unsigned int precomputationStorage=16)
void LoadPrecomputation (BufferedTransformation &storedPrecomputation)
 retrieve previously saved precomputation. More...

void SavePrecomputation (BufferedTransformation &storedPrecomputation)const
 save precomputation for later use. More...

const Point& GetPublicPoint ()const

Protected Methods

 ECPublicKey ()
Integer EncodeDigest (ECSignatureScheme ss,const byte *digest,unsigned int digestLen)const

Protected Attributes

Point m_Q
EcPrecomputation<EC> m_Qpc

Detailed Description

template<class EC> class ECPublicKey

Elliptic Curve Public Key.

Definition at line 165 of file eccrypto.h.


Member Typedef Documentation

template<class EC>
typedef EC::Point ECPublicKey<EC>::Point
 

Reimplemented from ECParameters.

Definition at line 168 of file eccrypto.h.


Constructor & Destructor Documentation

template<class EC>
ECPublicKey<EC>::ECPublicKey<EC> ( const ECParameters< EC > & params,
const Point & Q ) [inline]
 

Definition at line 170 of file eccrypto.h.

template<class EC>
ECPublicKey<EC>::ECPublicKey<EC> ( const OID & oidParams,
const Point & Q ) [inline]
 

Definition at line 172 of file eccrypto.h.

template<class EC>
ECPublicKey<EC>::ECPublicKey<EC> ( const EC & ec,
const Point & G,
const Integer & n,
const Point & Q ) [inline]
 

Definition at line 174 of file eccrypto.h.

template<class EC>
ECPublicKey< EC >::ECPublicKey<EC> ( BufferedTransformation & bt )
 

Definition at line 440 of file eccrypto.cpp.

template<class EC>
ECPublicKey<EC>::ECPublicKey<EC> ( ) [inline, protected]
 

Definition at line 189 of file eccrypto.h.


Member Function Documentation

template<class EC>
void ECPublicKey< EC >::DEREncode ( BufferedTransformation & bt ) const
 

Reimplemented from ECParameters.

Definition at line 459 of file eccrypto.cpp.

template<class EC>
Integer ECPublicKey< EC >::EncodeDigest ( ECSignatureScheme ss,
const byte * digest,
unsigned int digestLen ) const [protected]
 

Definition at line 495 of file eccrypto.cpp.

template<class EC>
const Point & ECPublicKey<EC>::GetPublicPoint ( ) const [inline]
 

Definition at line 186 of file eccrypto.h.

template<class EC>
void ECPublicKey< EC >::LoadPrecomputation ( BufferedTransformation & bt ) [virtual]
 

retrieve previously saved precomputation.

Reimplemented from PK_Precomputation.

Definition at line 481 of file eccrypto.cpp.

template<class EC>
void ECPublicKey< EC >::Precompute ( unsigned int precomputationStorage = 16 ) [virtual]
 

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 PK_Precomputation.

Definition at line 474 of file eccrypto.cpp.

template<class EC>
void ECPublicKey< EC >::SavePrecomputation ( BufferedTransformation & bt ) const [virtual]
 

save precomputation for later use.

Reimplemented from PK_Precomputation.

Definition at line 488 of file eccrypto.cpp.


Member Data Documentation

template<class EC>
Point ECPublicKey<EC>::m_Q [protected]
 

Definition at line 192 of file eccrypto.h.

template<class EC>
EcPrecomputation< EC > ECPublicKey<EC>::m_Qpc [protected]
 

Definition at line 193 of file eccrypto.h.


The documentation for this class was generated from the following files:
Generated at Mon Jan 15 01:16:47 2001 for Crypto++ by doxygen1.2.4 written by Dimitri van Heesch, © 1997-2000