(Learn how and when to remove this template message)
Integrated Encryption Scheme (IES) is a hybrid encryption scheme which provides semantic security against an adversary who is able to use chosen-plaintext or chosen-ciphertext attacks. The security of the scheme is based on the computational Diffie–Hellman problem.
Two variants of IES are specified: Discrete Logarithm Integrated Encryption Scheme (DLIES) and Elliptic Curve Integrated Encryption Scheme (ECIES), which is also known as the Elliptic Curve Augmented Encryption Scheme or simply the Elliptic Curve Encryption Scheme. These two variants are identical up to the change of an underlying group[clarification needed].
Informal description of DLIESedit
As a brief and informal description and overview of how IES works, a Discrete Logarithm Integrated Encryption Scheme (DLIES) is used, focusing on illuminating the reader's understanding, rather than precise technical details.
Alice learns Bob's public key through a public key infrastructure or some other distribution method. Bob knows his own private key .
Alice generates a fresh, ephemeral value , and its associated public value .
Alice then computes a symmetric key using this information and a key derivation function (KDF) as follows:
Alice computes her ciphertext from her actual message (by symmetric encryption of ) encrypted with the key (using an authenticated encryption scheme) as follows:
Alice transmits (in a single message) both the public ephemeral and the ciphertext .
Bob, knowing and , can now compute and decrypt from .
Note that the scheme does not provide Bob with any assurance as to who really sent the message: This scheme does nothing to stop anyone from pretending to be Alice.
Formal description of ECIESedit
Required informationedit
To send an encrypted message to Bob using ECIES, Alice needs the following information:
uses symmetric encryption scheme to decrypt the message
Referencesedit
SECG, Standards for efficient cryptography, SEC 1: Elliptic Curve Cryptography, Version 2.0, May 21, 2009.
Gayoso Martínez, Hernández Encinas, Sánchez Ávila: A Survey of the Elliptic Curve Integrated Encryption Scheme, Journal of Computer Science and Engineering, 2, 2 (2010), 7–13.
Ladar Levison: Code for using ECIES to protect data (ECC + AES + SHA), openssl-devel mailing list, August 6, 2010.
IEEE 1363a (non-public standard) specifies DLIES and ECIES
ANSI X9.63 (non-public standard)
ISO/IEC 18033-2 (non-public standard)
Victor Shoup, A proposal for an ISO standard for public key encryption, Version 2.1, December 20, 2001.
Abdalla, Michel and Bellare, Mihir and Rogaway, Phillip: DHIES: An Encryption Scheme Based on the Diffie–Hellman Problem, IACR Cryptology ePrint Archive, 1999.