Crypto++ 8.9
Free C++ class library of cryptographic schemes
|
Elliptic Curve Integrated Encryption Scheme. More...
#include <eccrypto.h>
Static Public Member Functions | |
static const char * | StaticAlgorithmName () |
Additional Inherited Members | |
Public Types inherited from DL_ES< KEYS, AA, DA, EA, ALG_INFO > | |
typedef PK_FinalTemplate< DL_DecryptorImpl< SchemeOptions > > | Decryptor |
implements PK_Decryptor interface | |
typedef PK_FinalTemplate< DL_EncryptorImpl< SchemeOptions > > | Encryptor |
implements PK_Encryptor interface | |
Elliptic Curve Integrated Encryption Scheme.
COFACTOR_OPTION | cofactor multiplication option |
HASH | HashTransformation derived class used for key derivation and MAC computation |
DHAES_MODE | flag indicating if the MAC includes additional context parameters such as u·V, v·U and label |
LABEL_OCTETS | flag indicating if the label size is specified in octets or bits |
ECIES is an Elliptic Curve based Integrated Encryption Scheme (IES). The scheme combines a Key Encapsulation Method (KEM) with a Data Encapsulation Method (DEM) and a MAC tag. The scheme is IND-CCA2, which is a strong notion of security. You should prefer an Integrated Encryption Scheme over homegrown schemes.
If you desire an Integrated Encryption Scheme with Crypto++ 4.2 compatibility, then use the ECIES_P1363. If you desire an Integrated Encryption Scheme compatible with Bouncy Castle 1.54 and Botan 1.11 compatibility, then use the ECIES template class with NoCofactorMultiplication
, DHAES_MODE=true
and LABEL_OCTETS=false
.
The default template parameters ensure compatibility with Bouncy Castle 1.54 and Botan 1.11. The combination of IncompatibleCofactorMultiplication
and DHAES_MODE=true
is recommended for best efficiency and security. SHA1 is used for compatibility reasons, but it can be changed if desired.
Definition at line 608 of file eccrypto.h.
|
inlinestatic |
Definition at line 617 of file eccrypto.h.