Crypto++  8.8
Free C++ class library of cryptographic schemes
Public Types | List of all members
ElGamalKeys Struct Reference

ElGamal key agreement and encryption schemes keys. More...

Public Types

typedef DL_CryptoKeys_ElGamal::GroupParameters GroupParameters
 Implements DL_GroupParameters interface.
typedef DL_PrivateKey_ElGamal< DL_CryptoKeys_ElGamal::PrivateKeyPrivateKey
 Implements DL_PrivateKey interface.
typedef DL_PublicKey_ElGamal< DL_CryptoKeys_ElGamal::PublicKeyPublicKey
 Implements DL_PublicKey interface.

Detailed Description

ElGamal key agreement and encryption schemes keys.

ElGamalKeys provide the algorithm implementation ElGamal key agreement and encryption schemes.

The ElGamalKeys class used DL_PrivateKey_GFP_OldFormat and DL_PublicKey_GFP_OldFormat for the PrivateKey and PublicKey from about Crypto++ 1.0 through Crypto++ 5.6.5. At Crypto++ 6.0 the serialization format was cutover to standard PKCS8 and X509 encodings.

The ElGamalKeys class [mistakenly] used the OID for DSA from about Crypto++ 1.0 through Crypto++ 8.2. At Crypto++ 8.3 the OID was fixed and now uses ElGamal encryption, which is If you need to Load an ElGamal key with the wrong OID then see ElGamal on the Crypto++ wiki.

At Crypto++ 8.6 ElGamalKeys were changed to use DL_CryptoKeys_ElGamal due to Issue 1069 and CVE-2021-40530. DL_CryptoKeys_ElGamal group parameters use the subgroup order, and not an estimated work factor.

See also
Issue 876, Issue 567, Issue 1059
Crypto++ 1.0

Definition at line 261 of file elgamal.h.

The documentation for this struct was generated from the following file: