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.
typedef DL_PrivateKey_ElGamal< DL_CryptoKeys_ElGamal::PrivateKey > | PrivateKey
| Implements DL_PrivateKey interface.
typedef DL_PublicKey_ElGamal< DL_CryptoKeys_ElGamal::PublicKey > | PublicKey
| 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 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

typedef DL_CryptoKeys_ElGamal::GroupParameters ElGamalKeys::GroupParameters

Implements DL_GroupParameters interface.

Definition at line 264 of file elgamal.h.

## PrivateKey

typedef DL_PrivateKey_ElGamal<DL_CryptoKeys_ElGamal::PrivateKey> ElGamalKeys::PrivateKey

Implements DL_PrivateKey interface.

Definition at line 266 of file elgamal.h.

## PublicKey

typedef DL_PublicKey_ElGamal<DL_CryptoKeys_ElGamal::PublicKey> ElGamalKeys::PublicKey

Implements DL_PublicKey interface.

Definition at line 268 of file elgamal.h.

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

- elgamal.h