ElGamalObjectImpl< BASE, SCHEME_OPTIONS, KEY > Class Template Reference

Inheritance diagram for ElGamalObjectImpl< BASE, SCHEME_OPTIONS, KEY >:

DL_ObjectImplBase< BASE, SCHEME_OPTIONS, KEY > ElGamalBase AlgorithmImpl< BASE, SCHEME_OPTIONS::AlgorithmInfo > DL_KeyAgreementAlgorithm_DH< ELEMENT, COFACTOR_OPTION > DL_KeyDerivationAlgorithm< Integer > DL_SymmetricEncryptionAlgorithm DL_KeyAgreementAlgorithm< ELEMENT > List of all members.

Detailed Description

template<class BASE, class SCHEME_OPTIONS, class KEY>
class ElGamalObjectImpl< BASE, SCHEME_OPTIONS, KEY >

Definition at line 78 of file elgamal.h.

Public Types

typedef SCHEME_OPTIONS SchemeOptions
typedef KEY::Element Element
typedef ELEMENT Element

Public Member Functions

size_t FixedMaxPlaintextLength () const
size_t FixedCiphertextLength () const
const DL_GroupParameters_GFPGetGroupParameters () const
DecodingResult FixedLengthDecrypt (RandomNumberGenerator &rng, const byte *cipherText, byte *plainText) const
PrivateKeyAccessPrivateKey ()
PublicKeyAccessPublicKey ()
const KEY & GetKey () const
KEY & AccessKey ()
std::string AlgorithmName () const
void Derive (const DL_GroupParameters< Integer > &groupParams, byte *derivedKey, size_t derivedLength, const Integer &agreedElement, const Integer &ephemeralPublicKey, const NameValuePairs &derivationParams) const
size_t GetSymmetricKeyLength (size_t plainTextLength) const
size_t GetSymmetricCiphertextLength (size_t plainTextLength) const
size_t GetMaxSymmetricPlaintextLength (size_t cipherTextLength) const
void SymmetricEncrypt (RandomNumberGenerator &rng, const byte *key, const byte *plainText, size_t plainTextLength, byte *cipherText, const NameValuePairs &parameters) const
DecodingResult SymmetricDecrypt (const byte *key, const byte *cipherText, size_t cipherTextLength, byte *plainText, const NameValuePairs &parameters) const
Element AgreeWithEphemeralPrivateKey (const DL_GroupParameters< Element > &params, const DL_FixedBasePrecomputation< Element > &publicPrecomputation, const Integer &privateExponent) const
Element AgreeWithStaticPrivateKey (const DL_GroupParameters< Element > &params, const Element &publicElement, bool validateOtherPublicKey, const Integer &privateExponent) const
virtual bool ParameterSupported (const char *name) const
virtual bool ParameterSupported (const char *name) const

Static Public Member Functions

static std::string __cdecl StaticAlgorithmName ()
static const char *__cdecl StaticAlgorithmName ()

Protected Member Functions

const DL_KeyAgreementAlgorithm<
Integer > & 
GetKeyAgreementAlgorithm () const
const DL_KeyDerivationAlgorithm<
Integer > & 
GetKeyDerivationAlgorithm () const
const DL_SymmetricEncryptionAlgorithmGetSymmetricEncryptionAlgorithm () const
BASE::KeyInterface & AccessKeyInterface ()
const BASE::KeyInterface & GetKeyInterface () const
HashIdentifier GetHashIdentifier () const
size_t GetDigestSize () const


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