ebooksgratis.com

See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Integrated Encryption Scheme - Wikipedia, the free encyclopedia

Integrated Encryption Scheme

From Wikipedia, the free encyclopedia

Integrated Encryption Scheme (IES) is a public-key encryption scheme which provides semantic security against an adversary who is allowed to use chosen-plaintext and chosen-ciphertext attacks. The scheme is based on Diffie-Hellman problem. Two incarnations of the IES are standardized: 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 incarnations are identical up to the change of an underlying group and so to be concrete we concentrate on the latter.

To send an encrypted message to Bob using ECIES Alice needs the following information:

  • cryptographic suite to be used:
    • KDF, e.g., ANSI-X9.63-KDF with SHA-1 option;
    • MAC, e.g., HMAC-SHA-1-160 with 160-bit keys or HMAC-SHA-1-80 with 160-bit keys;
    • symmetric encryption scheme E, e.g., 3-key TDES in CBC mode or XOR encryption scheme;
  • EC domain parameters: (p,a,b,G,n,h) for a curve over prime field or (m,f(x),a,b,G,n,h) for a curve over binary field;
  • Bob's public key: KB (Bob generates it as follows: KB = kBG, where kB is the private key he chooses at random: k_B \in [1, n-1]);
  • optional shared information: S1 and S2.

To encrypt a message m Alice does the following:

  1. generates a random number r \in [1, n-1] and calculates R = rG;
  2. derives a shared secret: S = Px, where P = (Px,Py) = rKB (and P \ne O);
  3. uses KDF to derive a symmetric encryption and a MAC keys: k_E \| k_M = \textrm{KDF}(S\|S_1);
  4. encrypts the message: c = E(kE;m);
  5. computes the tag of encrypted message and S2: d = \textrm{MAC}(k_M; c \| S_2);
  6. outputs R \| c \| d.

To decrypt the ciphertext R \| c \| d Bob does the following:

  1. derives the shared secret: S = Px, where P = (Px,Py) = kBR (it is the same as the one Alice derived because P = kBR = kBrG = rkBG = rKB), or outputs failed if P = O;
  2. derives keys the same way as Alice did: k_E \| k_M = \textrm{KDF}(S\|S_1);
  3. uses MAC to check the tag and outputs failed if d \ne \textrm{MAC}(k_M; c \| S_2);
  4. uses symmetric encryption scheme to decrypt the message m = E − 1(kE;c).

[edit] References



aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -