- Main Page
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# DL_PublicKeyImpl< GP > Class Template Reference

`#include <pubkey.h>`

Inheritance diagram for DL_PublicKeyImpl< GP >:

List of all members.

## Detailed Description

### template<class GP>
class DL_PublicKeyImpl< GP >

_

Definition at line 839 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)
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< GP > &rhs) const
virtual const Element & | GetPublicElement () 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 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 | BERDecodePublicKey (BufferedTransformation &bt, bool parametersPresent, size_t size)=0
| decode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header
virtual void | DEREncodePublicKey (BufferedTransformation &bt) const =0
| encode subjectPublicKey part of subjectPublicKeyInfo, without the BIT STRING header
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

template<class GP>

bool DL_PublicKeyImpl< 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 845 of file pubkey.h.

template<class GP>

void DL_PublicKeyImpl< 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 864 of file pubkey.h.

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 file:

- pubkey.h