le_iks_ecc_common.h
Go to the documentation of this file.
31 //--------------------------------------------------------------------------------------------------35 //--------------------------------------------------------------------------------------------------38 //--------------------------------------------------------------------------------------------------42 //--------------------------------------------------------------------------------------------------45 //--------------------------------------------------------------------------------------------------49 //--------------------------------------------------------------------------------------------------53 //--------------------------------------------------------------------------------------------------57 //--------------------------------------------------------------------------------------------------64 //--------------------------------------------------------------------------------------------------68 //--------------------------------------------------------------------------------------------------75 //--------------------------------------------------------------------------------------------------79 //--------------------------------------------------------------------------------------------------86 //--------------------------------------------------------------------------------------------------93 * This function may be used as part of a key exchange protocol. The shared secret is unpredictable100 * If the buffer is too small to hold the shared secret the shared secret will be truncated to fit.110 //--------------------------------------------------------------------------------------------------124 //--------------------------------------------------------------------------------------------------132 * bytes. Note that when the key size is 521 bits, zero-valued high-order padding bits are added to147 //--------------------------------------------------------------------------------------------------163 //--------------------------------------------------------------------------------------------------171 * bytes. Note that when the key size is 521 bits, zero-valued high-order padding bits are added to182 //--------------------------------------------------------------------------------------------------198 //--------------------------------------------------------------------------------------------------203 * Hybrid encryption combines an asymmetric encryption system with a symmetric encryption system to208 * ECIES provides hybrid encryption through a method that is more efficient than manually performing210 * generate a shared secret, the shared secret is then used to generate a symmetric key using a KDF229 //--------------------------------------------------------------------------------------------------265 //--------------------------------------------------------------------------------------------------270 * Hybrid encryption combines an asymmetric encryption system with a symmetric encryption system to275 * ECIES provides hybrid encryption through a method that is more efficient than manually performing277 * generate a shared secret, the shared secret is then used to generate a symmetric key using a KDF293 //--------------------------------------------------------------------------------------------------329 //--------------------------------------------------------------------------------------------------331 * Starts a process to encrypt and integrity protect a message with ECIES (Elliptic Curve Integrated334 * Hybrid encryption combines an asymmetric encryption system with a symmetric encryption system to362 * only HKDF requires a salt. If present the salt will be the same size as the hash function output375 //--------------------------------------------------------------------------------------------------395 //--------------------------------------------------------------------------------------------------410 //--------------------------------------------------------------------------------------------------422 //--------------------------------------------------------------------------------------------------435 //--------------------------------------------------------------------------------------------------451 //--------------------------------------------------------------------------------------------------456 * larger than or equal to the maximum authentication tag size then the full authentication tag is470 //--------------------------------------------------------------------------------------------------482 //--------------------------------------------------------------------------------------------------487 * Hybrid encryption combines an asymmetric encryption system with a symmetric encryption system to488 * encrypt (possibly long) messages that can only be decrypted with the holder of the private key.489 * Hybrid encryption is usually accomplished by using a symmetric encryption system to bulk encrypt492 * ECIES provides hybrid encryption through a method that is more efficient than manually performing494 * generate a shared secret, the shared secret is then used to generate a symmetric key using a KDF527 //--------------------------------------------------------------------------------------------------547 //--------------------------------------------------------------------------------------------------560 //--------------------------------------------------------------------------------------------------576 //--------------------------------------------------------------------------------------------------