Inheritance diagram for ElGamalObjectImpl< BASE, SCHEME_OPTIONS, KEY >:
Definition at line 78 of file elgamal.h.
Public Types | |
typedef SCHEME_OPTIONS | SchemeOptions |
typedef KEY::Element | Element |
typedef Integer | Element |
Public Member Functions | |
unsigned int | FixedMaxPlaintextLength () const |
unsigned int | FixedCiphertextLength () const |
const DL_GroupParameters_GFP & | GetGroupParameters () const |
DecodingResult | FixedLengthDecrypt (RandomNumberGenerator &rng, const byte *cipherText, byte *plainText) const |
PrivateKey & | AccessPrivateKey () |
PublicKey & | AccessPublicKey () |
const KEY & | GetKey () const |
KEY & | AccessKey () |
std::string | AlgorithmName () const |
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 ¶meters) const |
DecodingResult | SymmetricDecrypt (const byte *key, const byte *cipherText, unsigned int cipherTextLength, byte *plainText, const NameValuePairs ¶meters) const |
Element | AgreeWithEphemeralPrivateKey (const DL_GroupParameters< Element > ¶ms, const DL_FixedBasePrecomputation< Element > &publicPrecomputation, const Integer &privateExponent) const |
Element | AgreeWithStaticPrivateKey (const DL_GroupParameters< Element > ¶ms, 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 | StaticAlgorithmName () |
static const char * | StaticAlgorithmName () |
Protected Member Functions | |
const DL_KeyAgreementAlgorithm< Integer > & | GetKeyAgreementAlgorithm () const |
const DL_KeyDerivationAlgorithm< Integer > & | GetKeyDerivationAlgorithm () const |
const DL_SymmetricEncryptionAlgorithm & | GetSymmetricEncryptionAlgorithm () const |
BASE::KeyInterface & | AccessKeyInterface () |
const BASE::KeyInterface & | GetKeyInterface () const |
HashIdentifier | GetHashIdentifier () const |
unsigned int | GetDigestSize () const |