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

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

#include <elgamal.h>

Public Types

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

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 1.3.14.7.2.1.1. 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
Since
Crypto++ 1.0

Definition at line 261 of file elgamal.h.

Member Typedef Documentation

◆ GroupParameters

Implements DL_GroupParameters interface.

Definition at line 264 of file elgamal.h.

◆ PrivateKey

Implements DL_PrivateKey interface.

Definition at line 266 of file elgamal.h.

◆ PublicKey

Implements DL_PublicKey interface.

Definition at line 268 of file elgamal.h.


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