DL_PrivateKeyImpl< GP > Class Template Reference

#include <pubkey.h>

Inheritance diagram for DL_PrivateKeyImpl< GP >:

DL_PrivateKey< GP::Element > DL_KeyImpl< PKCS8PrivateKey, GP > DL_Key< GP::Element > PKCS8PrivateKey ASN1CryptoMaterial< PrivateKey > ASN1Object PrivateKey GeneratableCryptoMaterial CryptoMaterial NameValuePairs DL_PrivateKey_GFP< GP > List of all members.

Detailed Description

template<class GP>
class DL_PrivateKeyImpl< GP >

_

Definition at line 750 of file pubkey.h.

Public Types

typedef GP::Element Element
typedef GP GroupParameters

Public Member Functions

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)
void GenerateRandom (RandomNumberGenerator &rng, const NameValuePairs &params)
 generate a random key or crypto parameters
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 IntegerGetPrivateExponent () const
void SetPrivateExponent (const Integer &x)
void BERDecodePrivateKey (BufferedTransformation &bt, bool, size_t)
 decode privateKey part of privateKeyInfo, without the OCTET STRING header
void DEREncodePrivateKey (BufferedTransformation &bt) const
 encode privateKey part of privateKeyInfo, without the OCTET STRING header
void MakePublicKey (DL_PublicKey< GP::Element > &pub) const
OID GetAlgorithmID () const
bool BERDecodeAlgorithmParameters (BufferedTransformation &bt)
bool DEREncodeAlgorithmParameters (BufferedTransformation &bt) const
const GP & GetGroupParameters () const
GP & 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)
virtual void BERDecodeOptionalAttributes (BufferedTransformation &bt)
 decode optional attributes including context-specific tag
virtual void DEREncodeOptionalAttributes (BufferedTransformation &bt) const
 encode optional attributes including context-specific tag
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

Protected Attributes

ByteQueue m_optionalAttributes


Member Function Documentation

template<class GP>
bool DL_PrivateKeyImpl< GP >::Validate ( RandomNumberGenerator rng,
unsigned int  level 
) const [inline, virtual]

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 756 of file pubkey.h.

template<class GP>
void DL_PrivateKeyImpl< GP >::GenerateRandom ( RandomNumberGenerator rng,
const NameValuePairs params 
) [inline, virtual]

generate a random key or crypto parameters

Exceptions:
KeyingErr if algorithm parameters are invalid, or if a key can't be generated (e.g., if this is a public key object)

Reimplemented from GeneratableCryptoMaterial.

Definition at line 779 of file pubkey.h.

Referenced by DL_PrivateKey_GFP< GP >::Initialize().

template<class GP>
void DL_PrivateKeyImpl< GP >::Precompute ( unsigned int  precomputationStorage = 16  )  [inline, virtual]

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 792 of file pubkey.h.

void PKCS8PrivateKey::BERDecodeOptionalAttributes ( BufferedTransformation bt  )  [virtual, inherited]

decode optional attributes including context-specific tag

/note default implementation stores attributes to be output in DEREncodeOptionalAttributes

Definition at line 583 of file asn.cpp.

References PKCS8PrivateKey::m_optionalAttributes.

Referenced by PKCS8PrivateKey::BERDecode().

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

Reimplemented from CryptoMaterial.

Reimplemented in InvertibleRSAFunction.

Definition at line 240 of file asn.h.

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 file:
Generated on Sat Dec 23 02:07:20 2006 for Crypto++ by  doxygen 1.5.1-p1