elliptic curve cryptography
play

Elliptic Curve Cryptography Applications of Elliptic Curve - PowerPoint PPT Presentation

Cryptography Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Elliptic Curve Cryptography Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography Cryptography in OpenSSL School of Engineering and


  1. Cryptography Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Elliptic Curve Cryptography Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography Cryptography in OpenSSL School of Engineering and Technology CQUniversity Australia Prepared by Steven Gordon on 15 Apr 2020, elliptic.tex, r1850 1/17

  2. Cryptography Contents Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL 2/17

  3. Cryptography Elliptic Curve (definition) Elliptic Curve Cryptography An elliptic curve is defined by: Overview of y 2 = x 3 + ax + b Elliptic Curve Cryptography Applications of (with some constraints of constants a and b ) Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL 3/17

  4. Elliptic Curve for y 2 = x 3 − 3 x + 5 Cryptography Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL Credit: Generated based on MIT Licensed code by Fang-Pen Lin 4/17

  5. Cryptography Addition Operation with an Elliptic Curve Elliptic Curve (definition) Cryptography Overview of Select two points on the curve, A and B, and draw a straight Elliptic Curve Cryptography line through them. The line will intersect with the curve at a Applications of third point, R (and no other points). The horizontal inverse Elliptic Curve Cryptography of point R, is defined as the addition of A and B. Elliptic Curve Cryptography in OpenSSL A + B = − R 5/17

  6. Cryptography Addition Operation on Elliptic Curve Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL Credit: Generated based on MIT Licensed code by Fang-Pen Lin 6/17

  7. Cryptography Self Addition on Elliptic Curve Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL Credit: Generated based on MIT Licensed code by Fang-Pen Lin 7/17

  8. Cryptography P + 2P on Elliptic Curve Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL Credit: Generated based on MIT Licensed code by Fang-Pen Lin 8/17

  9. Cryptography NP on Elliptic Curve Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL Credit: Generated based on MIT Licensed code by Fang-Pen Lin 9/17

  10. Cryptography How is Point Addition used in Elliptic Curve Elliptic Curve Cryptography? Cryptography Overview of Elliptic Curve ◮ User chooses a point P (global public parameter) Cryptography ◮ User chooses a large, random N (private key) Applications of Elliptic Curve ◮ User calculates NP (public key) Cryptography Elliptic Curve ◮ Easy, since there is a shortcut (described shortly) Cryptography in OpenSSL ◮ Challenge for attacker: given NP , find N ◮ Computationally hard for large N 10/17

  11. Cryptography Shortcut for Calculating NP Elliptic Curve Cryptography ◮ Assume N is large, e.g. 256-bit random number Overview of ◮ Naive point addition: P + P + P + P + . . . + P + P Elliptic Curve Cryptography (2 256 − 1 additions) Applications of Elliptic Curve ◮ Shortcut algorithm for point addition: Cryptography ◮ Calculate P , P + P = 2 P = 2 1 P , 2 P + 2 P = 4 P = 2 2 P , Elliptic Curve Cryptography in 4 P + 4 P = 8 P = 2 3 P , . . . , 2 255 P (255 additions) OpenSSL ◮ Write N as binary expansion, e.g.: ◮ N = 233 = 2 7 + 2 6 + 2 5 + 2 3 + 2 0 ◮ NP = 2 7 P + 2 6 P + 2 5 P + 2 3 P + 2 0 P ◮ In this example, there are 4 point additions ◮ Maximum number of point additions for 256-bit N is 255 ◮ Calculate NP using the binary expansion ◮ Maximum number of point additions for 256-bit N : 255 + 255 = 510 11/17

  12. Cryptography Elliptic Curve with Modular Arithmetic Elliptic Curve Cryptography ◮ The above discussed a normal elliptic curve Overview of ◮ But to ensure all values contained within finite Elliptic Curve Cryptography coordinate space, modular arithmetic is used Applications of ◮ y 2 mod p = ( x 3 + ax + b ) mod p Elliptic Curve Cryptography Elliptic Curve ◮ p is a prime number Cryptography in OpenSSL 12/17

  13. Cryptography Contents Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL 13/17

  14. Cryptography Applications of ECC Elliptic Curve Cryptography ◮ Secret key exchange, e.g. ECDH, ECMQV Overview of ◮ Digital signatures, e.g. ECDSA, EC-KCDSA Elliptic Curve Cryptography ◮ Public key encryption, e.g. ECIES, PSEC Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL 14/17

  15. Cryptography Elliptic Curve Diffie-Hellman Key Exchange Elliptic Curve (algorithm) Cryptography Overview of Assume users A and B have EC key pairs: PU A = NP , Elliptic Curve Cryptography PR A = N , PU B = MP , PR B = M . Applications of 1. User A calculates secret S A = N · PU B = NMP using Elliptic Curve Cryptography shortcut point addition. Elliptic Curve Cryptography in 2. User B calculates secret S B = M · PU A = MNP using OpenSSL shortcut point addition. 15/17

  16. Cryptography Choosing Parameters for ECC Elliptic Curve Cryptography ◮ Parameters for ECC are usually standardised Overview of ◮ Base point, P (also referred to as generator, G ) Elliptic Curve Cryptography ◮ Curve parameters, a and b ◮ Prime, p Applications of Elliptic Curve ◮ Other parameters also included Cryptography ◮ Common curves (see also Elliptic Curve Cryptography in https://safecurves.cr.yp.to/ ): OpenSSL ◮ NIST FIPS 186: P-256, P-384 and 13 others ◮ SECG: secp160k1, secp160r1, . . . (NIST curves are a subset) ◮ ANSI X9.62: prime192, prime256, . . . ◮ Other curves: Curve25519, Brainpool 16/17

  17. Cryptography Contents Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Overview of Elliptic Curve Cryptography Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL Applications of Elliptic Curve Cryptography Elliptic Curve Cryptography in OpenSSL 17/17

Recommend


More recommend