The 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 DLIES

edit

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.

  1. Alice learns Bob's public key through a public key infrastructure or some other distribution method.
    Bob knows his own private key .
  2. Alice generates a fresh, ephemeral value , and its associated public value .
  3. Alice then computes a symmetric key using this information and a key derivation function (KDF) as follows:
  4. Alice computes her ciphertext from her actual message (by symmetric encryption of ) encrypted with the key (using an authenticated encryption scheme) as follows:
  5. Alice transmits (in a single message) both the public ephemeral and the ciphertext .
  6. 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

edit

Required information

edit

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 (e.g., ANSI-X9.63-KDF with SHA-1 option), a message authentication code system (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 is the private key he chooses at random.
  • Some optional shared information: and
  • which denotes the point at infinity.

Encryption

edit

To encrypt a message Alice does the following:

  1. generates a random number and calculates
  2. derives a shared secret: , where (and )
  3. uses a KDF to derive symmetric encryption keys and MAC keys:
  4. encrypts the message:
  5. computes the tag of encrypted message and :
  6. outputs

Decryption

edit

To decrypt the ciphertext Bob does the following:

  1. derives the shared secret: , where (it is the same as the one Alice derived because ), or outputs failed if
  2. derives keys the same way as Alice did:
  3. uses MAC to check the tag and outputs failed if
  4. uses symmetric encryption scheme to decrypt the message

References

edit

📚 Artikel Terkait di Wikipedia

Diffie–Hellman key exchange

replay-attacks. ephemeral, static: For example, used in ElGamal encryption or Integrated Encryption Scheme (IES). If used in key agreement it could provide implicit

Key encapsulation mechanism

reacts. The difference between a public-key encryption scheme and a KEM is that a public-key encryption scheme allows a sender to choose an arbitrary message

Disk encryption theory

been integrated into the Linux kernel since version 2.6.10, though a similar scheme has been used to generate IVs for OpenBSD's swap encryption since

Elliptic-curve cryptography

Curve Integrated Encryption Scheme (ECIES), also known as Elliptic Curve Augmented Encryption Scheme or simply the Elliptic Curve Encryption Scheme, The

IEEE P1363

Curve Integrated Encryption Scheme): Essentially the "DHAES" variant of ElGamal encryption. IFES-EPOC (Integer Factorization Encryption Scheme, EPOC version)

Key (cryptography)

outsiders cannot obtain the key. A key establishment scheme (or key exchange) is used to transfer an encryption key among entities. Key agreement and key transport

Data Encryption Standard

The Data Encryption Standard (DES /ˌdiːˌiːˈɛs, dɛz/) is a symmetric-key algorithm for the encryption of digital data. Although its short key length of

Pretty Good Privacy

Pretty Good Privacy (PGP) is an encryption program that provides cryptographic privacy and authentication for data communication. PGP is used for signing