Crypto++
8.9
Free C++ class library of cryptographic schemes
|
ElGamal key agreement and encryption schemes base class. More...
Public Member Functions | |
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 ¶meters) const |
DecodingResult | SymmetricDecrypt (const byte *key, const byte *cipherText, size_t cipherTextLength, byte *plainText, const NameValuePairs ¶meters) const |
virtual const DL_GroupParameters_GFP & | GetGroupParameters () const =0 |
![]() | |
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 |
Additional Inherited Members | |
![]() | |
typedef Integer | Element |
![]() | |
typedef T | Element |
![]() | |
static const char * | StaticAlgorithmName () |
ElGamal key agreement and encryption schemes base class.