280 likes | 535 Views
Basic s of Elliptic Curve Cryptography. İbrahim EBELER BİL617 / Spring ‘ 10. Content Overview. Elliptic Curve (Mathematical) Overview Key Development Encryption Scheme Why Elliptic Curve?. What is an elliptic curve?. A type of cubic curve General elliptic curve Over a field K
E N D
Basics of Elliptic Curve Cryptography İbrahim EBELER BİL617 / Spring ‘10
Content Overview • Elliptic Curve (Mathematical) Overview • Key Development • Encryption Scheme • Why Elliptic Curve?
What is an elliptic curve? • A type of cubic curve • General elliptic curve • Over a field K • Field Characteristic ¹ 2,3 • Can be expressed in the form: y2 = x3 + ax + b • Usually denoted as E(a,b) y2 = x3 - 4x + .67
Law of Addition • P1 + P2 = P3
Law of Addition • P1 + P2 = P3 • Establish P1 and P2
Law of Addition • P1 + P2 = P3 • Establish P1 and P2 • Draw a line between the two
Law of Addition • P1 + P2 = P3 • Establish P1 and P2 • Draw a line between the two • Let the intersect point be Q
Law of Addition • P1 + P2 = P3 • Establish P1 and P2 • Draw a line between the two • Let the intersect point be Q • Drop down from Q vertically to find P3
Law of Addition – Special Cases • Identity Element – ¥ • Adding a point to itself • Take a TANGENT line to the curve at that point • Now consider all of this Modulo a prime!
Multiplication on Elliptic Curves • Multiplication is intuitive • Take a point P • 3P = (P + P) + P
Key Generation • Alice chooses two large primes • Such that p º q º 2 (mod 3) • Alice calculates n = p * q • Alice calculates Nn = lcm( p+1, q+1 ) • Alice chooses e such that gcd( e, Nn ) = 1
More Key Generation • Alice computes d such that… • e*d º 1 (mod Nn) • Alice’s Private Key : d, p, q, and Nn • Alice’s Public Key : n, e
Encryption Scheme • Plaintext M = ( mx, my ) where mx, myÎ Zn • M must be on the Elliptic Curve En(0,b) • b is determined by M • Bob encrypts M to Alice • C = E(M) = e * M over En(0,b) • Bob sends the ciphertext C = ( cx, cy ) to Alice
Decryption Scheme • Alice decrypts C from Bob • M = D(C) = d * C over En(0,b)
Diffie-Hellman Key Exchange (E,P) • Public: Elliptic curve E and point P • Private • Alice: a • Bob: b • Agreed upon key is K=abP Alice Bob a b A=aP B=bP K=a(B)=abP=b(A)
Why Elliptic Curve? • It seems so complex… • Why go to all the trouble…
Comparison… • Lets look at RSA! • Widely accepted • Still used • Growing size of keys to accommodate increased computing power
Why Elliptic Curve? • It is strong for its size! • Easily implemented in embedded systems • NSA Suite B uses this for half of its algorithms
Basics of Elliptic Curve Cryptography İbrahim EBELER BİL617 / Spring ‘10
Resources • “New Public-Key Schemes Based on Elliptic Curves over the Ring Zn” by Koyama et ali. • “The State of Elliptic Curve Cryptography” by Koblitz et ali. • MathWorld Online • ICSA Guide to Cryptography (Tables) • IEEE Standard 1364
More Resources • Introduction to Cryptography with Coding Theory by Wade Trappe and Lawrence Washington This document is a reassessment over ECC2006 by Peter Hefley.