1 Network Security Dr. Syed Ismail Shah

Slides:



Advertisements
Similar presentations
Key Management Nick Feamster CS 6262 Spring 2009.
Advertisements

Cryptography and Network Security
1 390-Elliptic Curves and Elliptic Curve Cryptography Michael Karls.
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.
Elliptic Curve Cryptography (ECC) Mustafa Demirhan Bhaskar Anepu Ajit Kunjal.
1 Efficient Algorithms for Elliptic Curve Cryptosystems Original article by Jorge Guajardo and Christof Paar Of WPI ECE Department Presentation by Curtis.
Elliptic Curve Cryptography Shane Almeida Saqib Awan Dan Palacio.
Elliptic Curve Cryptography Jen-Chang Liu, 2004 Adapted from lecture slides by Lawrie Brown Ref: RSA Security ’ s Official Guide to Cryptography.
Dr. Lo’ai Tawalbeh Fall 2005 Chapter 10 – Key Management; Other Public Key Cryptosystems Dr. Lo’ai Tawalbeh Computer Engineering Department Jordan University.
Electronic Payment Systems Lecture 5: ePayment Security II
Cryptography and Network Security Chapter 10 Fourth Edition by William Stallings.
ELECTRONIC PAYMENT SYSTEMSFALL 2001COPYRIGHT © 2001 MICHAEL I. SHAMOS Electronic Payment Systems Lecture 6 Epayment Security II.
CPE5021 Advanced Network Security --- Advanced Cryptography: Elliptic Curve Cryptography --- Lecture 3 CPE5021 Advanced Network Security --- Advanced Cryptography:
Cryptography and Network Security Chapter 10. Chapter 10 – Key Management; Other Public Key Cryptosystems No Singhalese, whether man or woman, would venture.
ASYMMETRIC CIPHERS.
By Abhijith Chandrashekar and Dushyant Maheshwary.
Public Key ECC, Hash. Elliptic Curve Cryptography  majority of public-key crypto (RSA, D-H) use either integer or polynomial arithmetic with very large.
Lecture 10: Elliptic Curve Cryptography Wayne Patterson SYCS 653 Fall 2009.
FINITE FIELDS 7/30 陳柏誠.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Application of Elliptic Curves to Cryptography
CS 627 Elliptic Curves and Cryptography Paper by: Aleksandar Jurisic, Alfred J. Menezes Published: January 1998 Presented by: Sagar Chivate.
Computer Science CSC 774 Advanced Network Security Topic 2.6 ID Based Cryptography #2 Slides by An Liu.
Elliptic Curve Cryptography Implementation & PKI Adoption Brian Saville Jonathan Mitchell.
Cryptography and Network Security (CS435) Part Eight (Key Management)
Cryptography and Network Security Chapter 10 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
10.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 10 Asymmetric-Key Cryptography.
Elliptical Curve Cryptography Manish Kumar Roll No - 43 CS-A, S-7 SOE, CUSAT.
Public Key Cryptography. symmetric key crypto requires sender, receiver know shared secret key Q: how to agree on key in first place (particularly if.
Data Security and Encryption (CSE348) 1. Lecture # 12 2.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Cryptography and Network Security Chapter 10
Cryptography and Network Security Key Management and Other Public Key Cryptosystems.
Understanding Cryptography by Christof Paar and Jan Pelzl These slides were prepared by Tim Güneysu, Christof Paar and Jan Pelzl.
Cryptography and Network Security
Elliptic Curve Cryptography Celia Li Computer Science and Engineering November 10, 2005.
Lecture 9 Elliptic Curves. In 1984, Hendrik Lenstra described an ingenious algorithm for factoring integers that relies on properties of elliptic curves.
Lecture 11: Elliptic Curve Cryptography Wayne Patterson SYCS 653 Fall 2008.
FUNCTIONS AND MODELS Exponential Functions FUNCTIONS AND MODELS In this section, we will learn about: Exponential functions and their applications.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Cryptography and Network Security Chapter 10 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
CIM3681: PKI 02 - Key Management1 Key Management Ch 10 of Cryptography and Network Security Third Edition by William Stallings Modified from lecture slides.
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
Chapter 9 – Public Key Cryptography and RSA Every Egyptian received two names, which were known respectively as the true name and the good name, or the.
Cryptography and Network Security Chapter 10 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography Hyunsung Kim, PhD University of Malawi, Chancellor College Kyungil University February, 2016.
Motivation Basis of modern cryptosystems
Key Management public-key encryption helps address key distribution problems have two aspects of this: – distribution of public keys – use of public-key.
Public Key Cryptography. Asymmetric encryption is a form of cryptosystem in which Encryption and decryption are performed using the different keys—one.
Information Security Lab. Dept. of Computer Engineering 251/ 278 PART II Asymmetric Ciphers Key Management; Other CHAPTER 10 Key Management; Other Public.
Elliptic Curve Public Key Cryptography Why ? ● ECC offers greater security for a given key size. ● The smaller key size also makes possible much more compact.
Elliptic Curve Public Key Cryptography
CSCE 715: Network Systems Security
Network Security Design Fundamentals Lecture-13
D. Cheung – IQC/UWaterloo, Canada D. K. Pradhan – UBristol, UK
Chapter 10 – Key Management; Other Public Key Cryptosystems
Elliptic Curve Cryptography (ECC)
Elliptic Curve Cryptography (ECC)
The Application of Elliptic Curves Cryptography in Embedded Systems
Diffie-Hellman Key Exchange
CSCE 715: Network Systems Security
Introduction to Elliptic Curve Cryptography
CSCE 715: Network Systems Security
Cryptology Design Fundamentals
CSCE 715: Network Systems Security
Computer Security Elliptic Curve Cryptosystems
Network Security Design Fundamentals Lecture-13
Elliptic-Curve Cryptography (ECC)
Presentation transcript:

1 Network Security Dr. Syed Ismail Shah

2 Chapter 10 – Key Management; Other Public Key Cryptosystems No Singhalese, whether man or woman, would venture out of the house without a bunch of keys in his hand, for without such a talisman he would fear that some devil might take advantage of his weak state to slip into his body. —The Golden Bough, Sir James George Frazer

3 Elliptic Curve Cryptography Majority of public-key crypto (RSA, D-H) use either integer or polynomial arithmetic with very large numbers/polynomials Imposes a significant load in storing and processing keys and messages An alternative is to use elliptic curves Offers same security with smaller bit sizes

4 An elliptic curve over real numbers may be defined as the set of points (x,y) which satisfy an elliptic curve equation of the form: y 2 = x 3 + ax + b, where x, y, a and b are real numbers. Each choice of the numbers a and b yields a different elliptic curve. For example, a = -4 and b =0.67 gives the elliptic curve with equation y 2 = x 3 - 4x ; the graph of this curve is shown on the next slide. Elliptic Curve Groups over Real Numbers

5 Elliptic Curve If x 3 + ax + b contains no repeated factors, or equivalently if 4a b 2 is not 0, then the elliptic curve y 2 = x 3 + ax + b can be used to form a group. An elliptic curve group over real numbers consists of the points on the corresponding elliptic curve, together with a special point O called the point at infinity.

6 Adding distinct points P and Q P + Q = R is the additive property defined geometrically. Suppose that P and Q are two distinct points on an elliptic curve, and the P is not -Q. To add the points P and Q, a line is drawn through the two points. This line will intersect the elliptic curve in exactly one more point, call -R. The point -R is reflected in the x-axis to the point R. The law for addition in an elliptic curve group is P + Q = R.

7 Example

8 The line through P and -P is a vertical line which does not intersect the elliptic curve at a third point; thus the points P and -P cannot be added as previously. It is for this reason that the elliptic curve group includes the point at infinity O. By definition, P + (-P) = O. As a result of this equation, P + O = P in the elliptic curve group. O is called the additive identity of the elliptic curve group; all elliptic curves have an additive identity. Adding the points P and -P

9 To add a point P to itself, a tangent line to the curve is drawn at the point P. If y P is not 0, then the tangent line intersects the elliptic curve at exactly one other point, -R. -R is reflected in the x-axis to R. This operation is called doubling the point P; the law for doubling a point on an elliptic curve group is defined by: P + P = 2P = R. Doubling the point P

10 If a point P is such that y P = 0, then the tangent line to the elliptic curve at P is vertical and does not intersect the elliptic curve at any other point. By definition, 2P = O for such a point P. If one wanted to find 3P in this situation, one can add 2P + P. This becomes P + O = P. Thus 3P = P. 3P = P, 4P = O, 5P = P, 6P = O, 7P = P, etc. Doubling the point P if yP = 0

11 Although the previous geometric descriptions of elliptic curves provides an excellent method of illustrating elliptic curve arithmetic, it is not a practical way to implement arithmetic computations. Algebraic formulae are constructed to efficiently compute the geometric arithmetic. Elliptic Curve Addition: An Algebraic Approach Adding distinct points P and Q When P = (x P,y P ) and Q = (x Q,y Q ) are not negative of each other, P + Q = R where s = (y P - y Q ) / (x P - x Q ) x R = s 2 - x P - x Q and y R = -y P + s(x P - x R ) Note that s is the slope of the line through P and Q.

12 Recall that “a” is one of the parameters chosen with the elliptic curve and that “s” is the tangent on the point “P”. Doubling the point P

13 Problems related to Elliptic Curve Groups over real numbers 1. Does the elliptic curve equation y 2 = x 3 - 7x - 6 over real numbers define a group? 2. What is the additive identity of regular integers? 3. Is (4,7) a point on the elliptic curve y 2 = x 3 - 5x + 5 over real numbers? 4. What are the negatives of the following elliptic curve points over real numbers? P(-4,-6), Q(17,0), R(3,9), S(0,-4) 5. In the elliptic curve group defined by y 2 = x x + 16 over real numbers, what is P + Q if P = (0,-4) and Q = (1,0)? 6. In the elliptic curve group defined by y 2 = x x + 16 over real numbers, what is 2P if P = (4, 3.464)?

14 Finite Elliptic Curves Elliptic curve cryptography uses curves whose variables & coefficients are finite have two families commonly used: –prime curves E p (a,b) defined over Z p use integers modulo a prime best in software –binary curves E 2 m (a,b) defined over GF(2 n ) use polynomials with binary coefficients best in hardware

15 Elliptic Curve Groups over F p Calculations over the real numbers are slow and inaccurate due to round- off error. Cryptographic applications require fast and precise arithmetic; thus elliptic curve groups over the finite fields of F p and F 2 m are used in practice. Recall that the field F p uses the numbers from 0 to p - 1, and computations end by taking the remainder on division by p. For example, in F 23 the field is composed of integers from 0 to 22, and any operation within this field will result in an integer also between 0 and 22. An elliptic curve with the underlying field of F p can formed by choosing the variables a and b within the field of F p. The elliptic curve includes all points (x,y) which satisfy the elliptic curve equation modulo p (where x and y are numbers in F p ). For example: y 2 mod p = x 3 + ax + b mod p has an underlying field of F p if “a” and “b” are in F p.

16 Example of an Elliptic Curve Group over Fp As a very small example, consider an elliptic curve over the field F 23. With a = 1 and b = 0, the elliptic curve equation is y 2 = x 3 + x. The point (9,5) satisfies this equation since: y 2 mod p = x 3 + x mod p 25 mod 23 = mod mod 23 = 738 mod 23 2 = 2 The 23 points which satisfy this equation are: (0,0) (1,5) (1,18) (9,5) (9,18) (11,10) (11,13) (13,5) (13,18) (15,3) (15,20) (16,8) (16,15) (17,10) (17,13) (18,10) (18,13) (19,1) (19,22) (20,4) (20,19) (21,6) (21,17)

17

18 Note that there is two points for every x value. Even though the graph seems random, there is still symmetry about y = Recall that elliptic curves over real numbers, there exists a negative point for each point which is reflected through the x-axis. Over the field of F 23, the negative components in the y- values are taken modulo 23, resulting in a positive number as a difference from 23. Here -P = (x P, (-y P Mod 23))

19 Arithmetic in an Elliptic Curve Group over Fp There are several major differences between elliptic curve groups over Fp and over real numbers. Elliptic curve groups over Fp have a finite number of points, which is a desirable property for cryptographic purposes. Since these curves consist of a few discrete points, it is not clear how to "connect the dots" to make their graph look like a curve. It is not clear how geometric relationships can be applied. As a result, the geometry used in elliptic curve groups over real numbers cannot be used for elliptic curve groups over Fp. However, the algebraic rules for the arithmetic can be adapted for elliptic curves over Fp. Unlike elliptic curves over real numbers, computations over the field of Fp involve no round off error - an essential property required for a cryptosystem.

20 Adding distinct points P and Q The negative of the point P = (xP, yP) is the point -P = (xP, -yP mod p). If P and Q are distinct points such that P is not -Q, then P + Q = R where s = (yP - yQ) / (xP - xQ) mod p xR = s 2 - xP - xQ mod p and yR = -yP + s(xP - xR) mod p Note that s is the slope of the line through P and Q.

21 Doubling the point P Provided that yP is not 0, 2P = R where s = (3x P 2 + a) / (2y P ) mod p x R = s 2 - 2x P mod p and y R = -y P + s(x P - x R ) mod p Recall that “a” is one of the parameters chosen with the elliptic curve and that “s” is the slope of the line through P and Q.

22 Problems Elliptic Curve Groups over Fp 1. Does the elliptic curve equation y 2 = x x + 5 define a group over F 17 ? 2. Do the points P(2,0) and Q(6,3) lie on the elliptic curve y 2 = x 3 + x + 7 over F 17 ? 3. What are the negatives of the following elliptic curve points over F 17 ? P(5,8) Q(3,0) R(0,6) 4. In the elliptic curve group defined by y 2 = x 3 + x + 7 over F 17, what is P + Q if P = (2,0) and Q = (1,3)? 5. In the elliptic curve group defined by y 2 = x 3 + x + 7 over F 17, what is 2P if P = (1, 3)?

23

24

25

26

27

28

29

30 5 Elliptic Curve groups and the Discrete Logarithm Problem At the foundation of every cryptosystem is a hard mathematical problem that is computationally infeasible to solve. The discrete logarithm problem is the basis for the security of many cryptosystems including the Elliptic Curve Cryptosystem. More specifically, the ECC relies upon the difficulty of the Elliptic Curve Discrete Logarithm Problem (ECDLP). Recall that we examined two geometrically defined operations over certain elliptic curve groups. These two operations were point addition and point doubling. By selecting a point in a elliptic curve group, one can double it to obtain the point 2P. After that, one can add the point P to the point 2P to obtain the point 3P. The determination of a point nP in this manner is referred to as Scalar Multiplication of a point. The ECDLP is based upon the intractability of scalar multiplication products.

Scalar Multiplication The figures on the next slide demonstrates scalar multiplication through the combination of point doubling and point addition. While it is customary to use additive notation to describe an elliptic curve group (as has been done previously in this classroom), some insight is provided by using multiplicative notation. Specifically, consider the operation called "scalar multiplication" under additive notation: that is,computing kP by adding together k copies of the point P. Using multiplicative notation, this operation consists of multiplying together k copies of the point P, yielding the point P*P*P*P&.*P = kP.

32

The Elliptic Curve Discrete Logarithm Problem In the multiplicative group Zp*, the discrete logarithm problem is: given elements r and q of the group, and a prime p, find a number k such that r = qk mod p. If the elliptic curve groups is described using multiplicative notation, then the elliptic curve discrete logarithm problem is: Given points P and Q in the group, find a number that kP = Q; k is called the discrete logarithm of Q to the base P. When the elliptic curve group is described using additive notation, the elliptic curve discrete logarithm problem is: given points P and Q in the group, find a number k such that kP = Q

34 Elliptic Curve Cryptography ECC addition is analog of modulo multiply ECC repeated addition is analog of modulo exponentiation Need “hard” problem equiv to discrete log –Q=kP, where Q,P belong to a prime curve –is “easy” to compute Q given k,P –but “hard” to find k given Q,P –known as the elliptic curve logarithm problem Example: E 23 (9,17): Next Page

35

36 ECC Diffie-Hellman Can do key exchange analogous to D-H Users select a suitable curve E p (a,b) select base point G=(x 1,y 1 ) with large order n s.t. nG=O A & B select private keys n A <n, n B <n compute public keys: P A =n A ×G, P B =n B ×G compute shared key: K=n A ×P B, K=n B ×P A –same since K=n A ×n B ×G

37 ECC Encryption/Decryption several alternatives, will consider simplest must first encode any message M as a point on the elliptic curve P m select suitable curve & point G as in D-H each user chooses private key n A <n and computes public key P A =n A ×G to encrypt P m : C m ={kG, P m +k P b }, k random decrypt C m compute: P m +kP b –n B (kG) = P m +k(n B G)–n B (kG) = P m