Integrated Encryption Scheme (IES) is a
hybrid encryption scheme which provides
semantic security In cryptography, a semantically secure cryptosystem is one where only negligible information about the plaintext can be feasibly extracted from the ciphertext. Specifically, any probabilistic, polynomial-time algorithm (PPTA) that is given the cip ...
against an
adversary
An adversary is generally considered to be a person, group, or force that opposes and/or attacks.
Adversary may also refer to:
* Satan ("adversary" in Hebrew), in Judeo-Christian religion
Entertainment Fiction
* Adversary (comics), villain fr ...
who is able to use
chosen-plaintext or
chosen-ciphertext attacks. The security of the scheme is based on the computational
Diffie–Hellman problem
The Diffie–Hellman problem (DHP) is a mathematical problem first proposed by Whitfield Diffie and Martin Hellman in the context of cryptography. The motivation for this problem is that many security systems use one-way functions: mathematical ...
.
Two variants of IES are specified:
Discrete Logarithm
In mathematics, for given real numbers ''a'' and ''b'', the logarithm log''b'' ''a'' is a number ''x'' such that . Analogously, in any group ''G'', powers ''b'k'' can be defined for all integers ''k'', and the discrete logarithm log' ...
Integrated Encryption Scheme (DLIES) and
Elliptic Curve
In mathematics, an elliptic curve is a smooth, projective, algebraic curve of genus one, on which there is a specified point . An elliptic curve is defined over a field and describes points in , the Cartesian product of with itself. If ...
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.
Informal description of DLIES
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
Alice may refer to:
* Alice (name), most often a feminine given name, but also used as a surname
Literature
* Alice (''Alice's Adventures in Wonderland''), a character in books by Lewis Carroll
* ''Alice'' series, children's and teen books by ...
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
In cryptography, a key derivation function (KDF) is a cryptographic algorithm that derives one or more secret keys from a secret value such as a master key, a password, or a passphrase using a pseudorandom function (which typically uses a cryp ...
(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 ECIES
Required information
To send an encrypted message to Bob using ECIES, Alice needs the following information:
* The cryptography suite to be used, including a
key derivation function
In cryptography, a key derivation function (KDF) is a cryptographic algorithm that derives one or more secret keys from a secret value such as a master key, a password, or a passphrase using a pseudorandom function (which typically uses a cryp ...
(e.g., ''ANSI-X9.63-KDF with SHA-1 option''), a
message authentication code
In cryptography, a message authentication code (MAC), sometimes known as a ''tag'', is a short piece of information used for authenticating a message. In other words, to confirm that the message came from the stated sender (its authenticity) and ...
(e.g., ''HMAC-SHA-1-160 with 160-bit keys'' or ''HMAC-SHA-1-80 with 80-bit keys'') and a
symmetric encryption scheme (e.g., ''
TDEA in
CBC mode'' or ''XOR encryption scheme'') — noted
.
* The elliptic curve domain parameters:
for a curve over a prime field or
for a curve over a binary field.
* Bob's public key
, which Bob generates it as follows:
, where