ElGamalBase Class Reference

Inheritance diagram for ElGamalBase:

DL_KeyAgreementAlgorithm_DH< Integer, NoCofactorMultiplication > DL_KeyDerivationAlgorithm< Integer > DL_SymmetricEncryptionAlgorithm DL_KeyAgreementAlgorithm< Integer > ElGamalObjectImpl< BASE, SCHEME_OPTIONS, KEY > ElGamalObjectImpl< DL_DecryptorBase< Integer >, SchemeOptions, SchemeOptions::PrivateKey > ElGamalObjectImpl< DL_EncryptorBase< Integer >, SchemeOptions, SchemeOptions::PublicKey > ElGamal::DecryptorImpl ElGamal::EncryptorImpl List of all members.

Detailed Description

Definition at line 9 of file elgamal.h.

Public Types

typedef Integer Element

Public Member Functions

void Derive (const DL_GroupParameters< Integer > &groupParams, byte *derivedKey, unsigned int derivedLength, const Integer &agreedElement, const Integer &ephemeralPublicKey, const NameValuePairs &derivationParams) const
unsigned int GetSymmetricKeyLength (unsigned int plainTextLength) const
unsigned int GetSymmetricCiphertextLength (unsigned int plainTextLength) const
unsigned int GetMaxSymmetricPlaintextLength (unsigned int cipherTextLength) const
void SymmetricEncrypt (RandomNumberGenerator &rng, const byte *key, const byte *plainText, unsigned int plainTextLength, byte *cipherText, const NameValuePairs &parameters) const
DecodingResult SymmetricDecrypt (const byte *key, const byte *cipherText, unsigned int cipherTextLength, byte *plainText, const NameValuePairs &parameters) const
virtual const DL_GroupParameters_GFPGetGroupParameters () const =0
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 const char * StaticAlgorithmName ()


The documentation for this class was generated from the following file:
Generated on Thu Jun 22 03:36:25 2006 for Crypto++ by  doxygen 1.4.6