Elliptic Curve Cryptography Lawrence Fallow 19 April 2007.

Slides:



Advertisements
Similar presentations
Diffie-Hellman Diffie-Hellman is a public key distribution scheme First public-key type scheme, proposed in 1976.
Advertisements

RSA COSC 201 ST. MARY’S COLLEGE OF MARYLAND FALL 2012 RSA.
1 Chapter 7-2 Signature Schemes. 2 Outline [1] Introduction [2] Security Requirements for Signature Schemes [3] The ElGamal Signature Scheme [4] Variants.
Chapter 4 Finite Fields. Introduction of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key concern operations on “numbers”
Chapter 4 – Finite Fields. Introduction will now introduce finite fields of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key.
1 390-Elliptic Curves and Elliptic Curve Cryptography Michael Karls.
22C:19 Discrete Structures Integers and Modular Arithmetic
22C:19 Discrete Math Integers and Modular Arithmetic Fall 2010 Sukumar Ghosh.
7. Asymmetric encryption-
Elliptic curve arithmetic and applications to cryptography By Uros Abaz Supervised by Dr. Shaun Cooper and Dr. Andre Barczak.
Efficient generation of cryptographically strong elliptic curves Shahar Papini Michael Krel Instructor : Barukh Ziv 1.
YSLInformation Security -- Public-Key Cryptography1 Elliptic Curve Cryptography (ECC) For the same length of keys, faster than RSA For the same degree.
Foundations of Network and Computer Security J J ohn Black Lecture #10 Sep 18 th 2009 CSCI 6268/TLEN 5550, Fall 2009.
OOP/Java1 Public Key Crytography From: Introduction to Algorithms Cormen, Leiserson and Rivest.
Elliptic Curve Cryptography (ECC) Mustafa Demirhan Bhaskar Anepu Ajit Kunjal.
HW6 due tomorrow Teams T will get to pick their presentation day in the order Teams T will get to pick their presentation day in the orderQuestions? Review.
Windows Core Security1© 2006 Microsoft Corp Cryptography: Helping Number Theorists Bring Home the Bacon Since 1977 Dan Shumow SDE Windows Core Security.
Public Key Crytography1 From: Introduction to Algorithms Cormen, Leiserson and Rivest.
Elliptic Curve. p2. Outline EC over Z p EC over GF(2 n )
Chapter 7-1 Signature Schemes.
1 Lecture #10 Public Key Algorithms HAIT Summer 2005 Shimrit Tzur-David.
Public Key Cryptography
Electronic Payment Systems Lecture 5: ePayment Security II
Chapter 4 – Finite Fields Introduction  will now introduce finite fields  of increasing importance in cryptography AES, Elliptic Curve, IDEA, Public.
Cryptography & Number Theory
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Introduction to Modern Cryptography Lecture 7 1.RSA Public Key CryptoSystem 2.One way Trapdoor Functions.
ELECTRONIC PAYMENT SYSTEMSFALL 2001COPYRIGHT © 2001 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
Asymmetric encryption. Asymmetric encryption, often called "public key" encryption, allows Alice to send Bob an encrypted message without a shared secret.
 Introduction  Requirements for RSA  Ingredients for RSA  RSA Algorithm  RSA Example  Problems on RSA.
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
By Abhijith Chandrashekar and Dushyant Maheshwary.
The RSA Algorithm Rocky K. C. Chang, March
Elliptic Curve Cryptography
10.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 10 Symmetric-Key Cryptography.
FINITE FIELDS 7/30 陳柏誠.
HW6 due tomorrow Teams T will get to pick their presentation day in the order Teams T will get to pick their presentation day in the order Teams mostly.
Prelude to Public-Key Cryptography Rocky K. C. Chang, February
Public-Key Cryptography CS110 Fall Conventional Encryption.
Introduction to Algorithms Second Edition by Cormen, Leiserson, Rivest & Stein Chapter 31.
Modular Arithmetic with Applications to Cryptography Lecture 47 Section 10.4 Wed, Apr 13, 2005.
RSA Slides by Kent Seamons and Tim van der Horst Last Updated: Oct 1, 2013.
Basic Elliptic Curve Cryptography 1Lt Peter Hefley 90 OSS Instructor Fall ‘06.
22C:19 Discrete Structures Integers and Modular Arithmetic Fall 2014 Sukumar Ghosh.
Lecture 6.1: Misc. Topics: Number Theory CS 250, Discrete Structures, Fall 2011 Nitesh Saxena.
1 Section Congruences In short, a congruence relation is an equivalence relation on the carrier of an algebra such that the operations of the algebra.
Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations.
CS 4803 Fall 04 Public Key Algorithms. Modular Arithmetic n Public key algorithms are based on modular arithmetic. n Modular addition. n Modular multiplication.
An Introduction to Elliptic Curve Cryptography
Elliptic Curves Number Theory and Cryptography. A Pile of Cannonballs A Square of Cannonballs.
Great Theoretical Ideas In Computer Science Anupam GuptaCS Fall 2006 Lecture 15Oct 17, 2006Carnegie Mellon University Algebraic Structures: Groups,
Introduction to Elliptic Curves CSCI 5857: Encoding and Encryption.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
Great Theoretical Ideas in Computer Science.
1 Cryptanalysis Lab Elliptic Curves. Cryptanalysis Lab Elliptic Curves 2 Outline [1] Elliptic Curves over R [2] Elliptic Curves over GF(p) [3] Properties.
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
1 Diffie-Hellman (Key Exchange) Protocol Rocky K. C. Chang 9 February 2007.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
Asymmetric-Key Cryptography
Public Key Cryptosystem
Prelude to Public-Key Cryptography
Advanced Algorithms Analysis and Design
Elliptic Curves.
Elliptic Curve Cryptography (ECC)
Topic 25: Discrete LOG, DDH + Attacks on Plain RSA
Number Theory and Euclidean Algorithm
Symmetric-Key Cryptography
Introduction to Elliptic Curve Cryptography
Symmetric-Key Cryptography
Presentation transcript:

Elliptic Curve Cryptography Lawrence Fallow 19 April 2007

What’s wrong with RSA? RSA is based upon the ‘belief’ that factoring is ‘difficult’ – never been proven RSA is based upon the ‘belief’ that factoring is ‘difficult’ – never been proven Prime numbers are getting too large Prime numbers are getting too large Amount of research currently devoted to factoring algorithms Amount of research currently devoted to factoring algorithms Quantum computing will make RSA obsolete overnight Quantum computing will make RSA obsolete overnight

What exactly is an elliptic curve? Let a ∈  ℝ,  b ∈  ℝ, be constants such that Let a ∈  ℝ,  b ∈  ℝ, be constants such that 4a³ + 27b² ≠ 0. A non-singular elliptic curve is the set E of solutions (x,y) ∈  ℝ x ℝ to the equation: 4a³ + 27b² ≠ 0. A non-singular elliptic curve is the set E of solutions (x,y) ∈  ℝ x ℝ to the equation: y² = x³ + ax + b y² = x³ + ax + b together with a special point O called the point at infinity. together with a special point O called the point at infinity.

Singular Elliptic Curve If 4a³ + 27b² = 0, then we have a singular elliptic curve If 4a³ + 27b² = 0, then we have a singular elliptic curve This could potentially lead to having to not having 3 distinct roots This could potentially lead to having to not having 3 distinct roots Therefore, we must deal with non-singular elliptic curves with the condition 4a³ + 27b² ≠ 0, in order to assure that we have 3 distinct roots. Therefore, we must deal with non-singular elliptic curves with the condition 4a³ + 27b² ≠ 0, in order to assure that we have 3 distinct roots. This will allow us to establish the fact that the solution set E forms an Abelian group. This will allow us to establish the fact that the solution set E forms an Abelian group.

What is a Group? Suppose we have any binary operation, such as addition (+), that is defined for every element in a set G, which is denoted (G, +) Suppose we have any binary operation, such as addition (+), that is defined for every element in a set G, which is denoted (G, +) Then G is a group with respect to addition if the following conditions hold: Then G is a group with respect to addition if the following conditions hold: 1.) G is closed under addition: x ∈  G, y ∈  G, 1.) G is closed under addition: x ∈  G, y ∈  G, imply x + y ∈  G imply x + y ∈  G 2.) + is associative. For all x, y, z, ∈  G, 2.) + is associative. For all x, y, z, ∈  G, x + (y + z) = (x + y) + z x + (y + z) = (x + y) + z 3.) G has an identity element e. There is an e in G such that x + e = e + x = x for all x ∈  G. 3.) G has an identity element e. There is an e in G such that x + e = e + x = x for all x ∈  G. 4.) G contains inverses. For each x ∈  G, there exists y ∈  G, such that x + y = y + x = e. 4.) G contains inverses. For each x ∈  G, there exists y ∈  G, such that x + y = y + x = e.

What is an Abelian Group An Abelian group contains all the rules of a group, but also must meet the following criteria: An Abelian group contains all the rules of a group, but also must meet the following criteria: 5.) + is commutative. For all x ∈  G, y ∈ G, x + y = y + x.

3 Cases for Solutions Suppose P, Q ∈  E, where P = (x 1,y 1 ) and Q = (x 2,y 2 ), we must consider three cases: Suppose P, Q ∈  E, where P = (x 1,y 1 ) and Q = (x 2,y 2 ), we must consider three cases: 1.) x 1 ≠ x 2 2.) x 1 = x 2 and y 1 = - y 2 3.) x 1 = x 2 and y 1 = y 2 These cases must be considered when defining “addition” for our solution set These cases must be considered when defining “addition” for our solution set

Defining Addition on E: Case 1 For the case x 1 ≠ x 2, addition is defined as follows: (x 1,y 1 ) + (x 2,y 2 ) = (x 3,y 3 ) ∈  E where x 3 = λ² - x 1 - x 2 x 3 = λ² - x 1 - x 2 y 3 = λ(x 1 – x 3 ) - y 1, and y 3 = λ(x 1 – x 3 ) - y 1, and λ = (y 2 – y 1 ) / (x 2 – x 1 ) λ = (y 2 – y 1 ) / (x 2 – x 1 )

Defining Addition on E : Case 2 For the case x 1 = x 2 and y 1 = - y 2, addition is defined as follows: (x 1,y 1 ) + (x 2,y 2 ) = (x 3,y 3 ) ∈  E where (x,y) + (x,-y) = O, the point at infinity

Defining Addition on E : Case 3 For the case x 1 = x 2 and y 1 = y 2, addition is defined as follows: (x 1,y 1 ) + (x 2,y 2 ) = (x 3,y 3 ) ∈  E where x 3 = λ² - x 1 - x 2 x 3 = λ² - x 1 - x 2 y 3 = λ(x 1 – x 3 ) - y 1, and y 3 = λ(x 1 – x 3 ) - y 1, and λ = (3x a) / 2y 1 λ = (3x a) / 2y 1

Defining the Identity The point at infinity O, is the identity element. P + O = O + P = P, for all P ∈  E. The point at infinity O, is the identity element. P + O = O + P = P, for all P ∈  E. From Case 2, and the Identity Element, we now have the existence of inverses From Case 2, and the Identity Element, we now have the existence of inverses Beyond the scope here to prove that we have commutativity and associativity as well Beyond the scope here to prove that we have commutativity and associativity as well Therefore the set of solutions E, forms an Abelian group (Importance of this will be shown later) Therefore the set of solutions E, forms an Abelian group (Importance of this will be shown later)

Elliptic Curves modulo p Let p > 3 be prime. The elliptic curve y² = x³ + ax + b over ℤ p is the set of solutions (x,y) ∈  ℤ p x ℤ p to the congruence: Let p > 3 be prime. The elliptic curve y² = x³ + ax + b over ℤ p is the set of solutions (x,y) ∈  ℤ p x ℤ p to the congruence: y² ≡ x³ + ax + b (mod p) where a ∈  ℤ p,  b ∈  ℤ p, are constants such that 4a³ + 27b² ≢ 0 (mod p), together with a special point O called the point at infinity. where a ∈  ℤ p,  b ∈  ℤ p, are constants such that 4a³ + 27b² ≢ 0 (mod p), together with a special point O called the point at infinity. Solutions still form an Abelian group Solutions still form an Abelian group

So now for an example Let’s examine the following elliptic curve as an example: Let’s examine the following elliptic curve as an example: y² = x³ + x + 6 over ℤ 11 y² = x³ + x + 6 over ℤ 11 X x³ + x + 6 mod QR?NNYYNYNYYNY Y4,75,62,92,93,82,9

Generating our group From the previous chart, and including the point at infinity O, we have a group with 13 points. From the previous chart, and including the point at infinity O, we have a group with 13 points. Since the O(E) is prime, the group is cyclic. Since the O(E) is prime, the group is cyclic. We can generate the group by choosing any point other then the point at infinity. We can generate the group by choosing any point other then the point at infinity. Let our generator =  = (2,7) Let our generator =  = (2,7)

The Group We can generate this by using the rules of addition we defined earlier where      

Encryption Rules Suppose we let  = (2,7) and choose the private key to be 7 Suppose we let  = (2,7) and choose the private key to be 7 then  = 7  = (7,2) then  = 7  = (7,2) Encryption: Encryption: e K (x,k) = (k(  ), x + k(  )) e K (x,k) = (k(2,7), x+k(7,2)), where x ∈ E and 0 ≤ k ≤ 12

Decryption Rule Decryption: Decryption: d K (y 1, y 2 ) = y 2 – K priv y 1 d K (y 1, y 2 ) = y 2 – 7y 1 d K (y 1, y 2 ) = y 2 – 7y 1 This is based on the ElGamal scheme of elliptic curve encryption This is based on the ElGamal scheme of elliptic curve encryption

Using this Scheme Suppose Alice wants to send a message to Bob. Suppose Alice wants to send a message to Bob. Plaintext is x = (10,9) which is a point in E Plaintext is x = (10,9) which is a point in E Choose a random value for k, k = 3 Choose a random value for k, k = 3 So now calculate (y 1, y 2 ): So now calculate (y 1, y 2 ): y 1 = 3(2,7) = (8,3) y 1 = 3(2,7) = (8,3) y 2 = (10,9) + 3(7,2) = (10,9) + (3,5) = (10,2) y 2 = (10,9) + 3(7,2) = (10,9) + (3,5) = (10,2) Alice transmits y = ((8,3),(10,2)) Alice transmits y = ((8,3),(10,2))

Bob Decrypts Bob receives y = ((8,3),(10,2)) Bob receives y = ((8,3),(10,2)) Calculates Calculates x = (10,2) – 7(8,3) x = (10,2) – 7(8,3) = (10,2) – (3,5) = (10,2) – (3,5) = (10,2) + (3,6) = (10,9) Which was the plaintext

Real example from the NSA Curve P-192 Curve P-192 p = r = a = 3099d2bb bfcb dcd5f b078b6ef 5f3d6fe2 c745de65 b = e59c80e7 0fa7e9ab feb8deec c146b9b1 G x = 188da89e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012 G y = 07192b95 ffc8da ed 6b24cdd5 73f977a1 1e794811

Sources Used “Recommended Elliptic Curves For Federal Government Use” July 1999 “Recommended Elliptic Curves For Federal Government Use” July 1999 Cryptography Theory and Practice. Douglas Stinson, 3 rd ed Cryptography Theory and Practice. Douglas Stinson, 3 rd ed A Friendly Introduction to Number Theory. Joseph Silverman, 3 rd ed A Friendly Introduction to Number Theory. Joseph Silverman, 3 rd ed Elements of Modern Algebra. Gilbert and Gilbert, 6 th edition Elements of Modern Algebra. Gilbert and Gilbert, 6 th edition