a brief introduction to elliptic curve cryptography
play

A Brief Introduction to Elliptic Curve Cryptography Or: A headache - PowerPoint PPT Presentation

A Brief Introduction to Elliptic Curve Cryptography A Brief Introduction to Elliptic Curve Cryptography Or: A headache in 15 minutes Don Owen March 21 st , 2016 1/13 A Brief Introduction to Elliptic Curve Cryptography Elliptic Curve 2/13 A


  1. A Brief Introduction to Elliptic Curve Cryptography A Brief Introduction to Elliptic Curve Cryptography Or: A headache in 15 minutes Don Owen March 21 st , 2016 1/13

  2. A Brief Introduction to Elliptic Curve Cryptography Elliptic Curve 2/13

  3. A Brief Introduction to Elliptic Curve Cryptography Elliptic Curve Cryptography (ECC) ◮ More energy efficient than legacy asymmetric cryptosystems, such as RSA ◮ Smaller keys ◮ Smaller signatures ◮ Easier keygen Due to sub-exponential attacks on RSA, ECC requires smaller keys for equivalent security Key Length (Bits) RSA 1024 2048 3072 8192 15360 ECC 160 224 256 384 512 3/13

  4. A Brief Introduction to Elliptic Curve Cryptography ECC Basics ◮ ECC uses Finite Field Arithmetic and the geometry of elliptic curves built on finite fields to create an asymmetric cryptosystem. ◮ The Elliptic Curve Discrete Logarithm Problem (ECDLP) is considered hard . ◮ ECDLP: Given points Q , P , find an integer d such that Q = d ∗ P 4/13

  5. A Brief Introduction to Elliptic Curve Cryptography ECC Building Blocks: Point Double 5 4 3 2 P 1 0 0 1 2 3 -1 2P -2 -3 -4 -5 Curve: y 2 = x 3 + ax + b x 3 = ( 3 ∗ x 2 1 + a 2 ∗ y 1 ) − 2 ∗ x 1 y 3 = ( 3 ∗ x 2 1 + a 2 ∗ y 1 )( x 1 − x 3 ) − y 1 5/13

  6. A Brief Introduction to Elliptic Curve Cryptography ECC Building Blocks: Point Add 5 4 3 2 1 Q 0 0 1 2 3 P -1 -2 P+Q -3 -4 -5 Curve: y 2 = x 3 + ax + b x 2 − x 1 ) 2 − x 1 − x 2 x 3 = ( y 2 − y 1 y 3 = ( y 2 − y 1 x 2 − x 1 )( x 1 − x 3 ) − y 1 6/13

  7. A Brief Introduction to Elliptic Curve Cryptography Finite-field Arithmetic ◮ a.k.a modular arithmetic ◮ ECC can utilize both GF ( p ) and GF (2 m ) ◮ Multi-precision computations such that key-size ≫ machine width ◮ Add, subtract, multiply, and inversion ◮ Requires a reduction step to map result back into field 7/13

  8. A Brief Introduction to Elliptic Curve Cryptography Prime Fields, GF ( p ) The following are examples of GF(7) computations: ◮ Addition: (2 + 5) modulo 7 = 0 ◮ Subtraction: (3 − 6) modulo 7 = 4 ◮ Multiplication: (5 × 4) modulo 7 = 6 ◮ Division: (2 ÷ 4) modulo 7 = 4 These operations, in conjunction with the geometric definitions of point double and add, can form more complex algorithms like point multiplication. 8/13

  9. A Brief Introduction to Elliptic Curve Cryptography Crypto Operations: Keygen Given a standardized curve ◮ Pick a random integer d between 1 , n − 1 ◮ Compute Q = d ∗ P ◮ Q = Public Key ◮ d = Private Key 9/13

  10. A Brief Introduction to Elliptic Curve Cryptography Crypto Operations: ECDSA Given a standardized curve, private key d, message m ◮ Select k randomly between 1 , n − 1 ◮ Compute k ∗ P = ( x 1 , y 1 ) ◮ Compute r = x 1 mod n ◮ If r = 0, start again. ◮ Compute e = Hash ( m ) ◮ Compute s = k − 1 ( e + d ∗ r )mod n ◮ If s = 0, start again. ◮ Signature = ( r , s ) 10/13

  11. A Brief Introduction to Elliptic Curve Cryptography Crypto Operations: EC Diffie-Hellman Given a standardized curve, Alice’s keys d A , Q A , Bob’s keys d B , Q B ◮ Alice computes d A ∗ Q B ◮ Bob computes d B ∗ Q A ◮ shared secret = d A Q B = d A d B G = d B d A G = d B Q A 11/13

  12. A Brief Introduction to Elliptic Curve Cryptography Crypto Operations: EC ElGamal Given a standardized curve ◮ Map message m into a point M on curve. ◮ Pick a random integer k between 1 , n − 1 ◮ Compute C 1 = k ∗ P ◮ Compute C 2 = M + k ∗ Q ◮ Ciphertext = C 1 , C 2 12/13

  13. A Brief Introduction to Elliptic Curve Cryptography Standards ◮ NIST FIPS 186-4: Defines ECDSA and 10 Curves + Parameters ◮ NSA Suite B: P-384 used for US Gov. ◮ Curve25519: A non-government-affiliated, widely-used curve ◮ ...and others 13/13

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend