Elliptic Curve Integrated Encryption Scheme (ECIES) (huecc.h)
Elliptic Curve Integrated Encryption Scheme (ECIES) is a public key encryption scheme. The ECIES functions are defined in huecc.h.
An ECC parameters object is required to encrypt or decrypt using ECIES. The hu_ECCParamsCreate() function creates these objects. An ECC key object is also required. An RNG context is required if key generation will be performed.
The functions hu_ECIESKDFXOREncrypt() and hu_ECIESKDFXORDecrypt() each take an argument eciesMode, where you can specify the mode in which the ECIES algorithm should be performed.
- When HU_ECIES_SEC1 is specified, the ECIES algorithm (in normal mode) in SEC1 is performed.
- When HU_ECIES_IEEE is specified, the ECIES algorithm in DHAES mode in IEEE 1363a-2004 is performed.
- When HU_ECIES_BACK_COMP is specified, the ECIES algorithm in the backwards compatibility mode in SEC1, which is equivalent to the ECIES algorithm in IEEE 1363-2000 (or in non-DHAES mode in IEEE 1363a-2004), is performed.