Scott CH Huang COM5336 Cryptography Lecture 10 Elliptic Curve Cryptography Scott CH Huang COM 5336 Cryptography Lecture 10.

Slides:



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

1 390-Elliptic Curves and Elliptic Curve Cryptography Michael Karls.
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 Shane Almeida Saqib Awan Dan Palacio.
November 1, 2006Sarah Wahl / Graduate Student UCCS1 Public Key Infrastructure By Sarah Wahl.
1 Cryptosystems Based on Discrete Logarithms. 2 Outline [1] Discrete Logarithm Problem [2] Algorithms for Discrete Logarithm –A trivial algorithm –Shanks’
CS470, A.SelcukElGamal Cryptosystem1 ElGamal Cryptosystem and variants CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
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:
ASYMMETRIC CIPHERS.
-Anusha Uppaluri.  ECC- A set of algorithms for key generation, encryption and decryption (public key encryption technique)  ECC was introduced by Victor.
By Abhijith Chandrashekar and Dushyant Maheshwary.
Ipsita Sahoo 10IT61B05 School of Information Technology IIT Kharagpur October 29, 2011 E LLIPTIC C URVES IN C RYPTOGRAPHY.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 21 “Public-Key Cryptography.
Elliptic Curve Cryptography
1 Network Security Lecture 6 Public Key Algorithms Waleed Ejaz
Lecture 10: Elliptic Curve Cryptography Wayne Patterson SYCS 653 Fall 2009.
Information Security and Management 4. Finite Fields 8
Digital Signatures: Mathematics Zdeněk Říha. Data authentication Data integrity + data origin Digital signature Asymmetric cryptography public and private.
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.
Prelude to Public-Key Cryptography Rocky K. C. Chang, February
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.
Elliptical Curve Cryptography Manish Kumar Roll No - 43 CS-A, S-7 SOE, CUSAT.
Cryptography and Network Security Chapter 13 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Data Security and Encryption (CSE348) 1. Lecture # 12 2.
1 離散對數密碼系統 交通大學資訊工程系 陳榮傑. 2 Outline 離散對數問題 (Discrete Logarithm Problem) 離散對數演算法 (DL Algorithms) –A trivial algorithm –Shanks’ algorithm –Pollard’s algorithm.
Chapter 3 (B) – Key Management; Other Public Key Cryptosystems.
Cryptography and Network Security Key Management and Other Public Key Cryptosystems.
Scott CH Huang COM 5336 Cryptography Lecture 6 Public Key Cryptography & RSA Scott CH Huang COM 5336 Cryptography Lecture 6.
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
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
An Introduction to Elliptic Curve Cryptography
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.
11 RSA Variants.  Scheme ◦ Select s.t. p and q = 3 mod 4 ◦ n=pq, public key =n, private key =p,q ◦ y= e k (x)=x (x+b) mod n ◦ x=d k (y)=  y mod n.
Lecture 11: Elliptic Curve Cryptography Wayne Patterson SYCS 653 Fall 2008.
15-499Page :Algorithms and Applications Cryptography II – Number theory (groups and fields)
1 Network Security Dr. Syed Ismail Shah
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
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.
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.
Giuseppe Bianchi Lecture 8: Elliptic Curve Crypto A (minimal) introduction.
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
Chapter 9 – Elliptic Curve Cryptography ver. November 3rd, 2009
Network Security Design Fundamentals Lecture-13
D. Cheung – IQC/UWaterloo, Canada D. K. Pradhan – UBristol, UK
Elliptic Curve Cryptography (ECC)
Elliptic Curve Cryptography (ECC)
The Application of Elliptic Curves Cryptography in Embedded Systems
CSCE 715: Network Systems Security
Introduction to Elliptic Curve Cryptography
CSCE 715: Network Systems Security
Cryptology Design Fundamentals
Network Security Design Fundamentals Lecture-13
Presentation transcript:

Scott CH Huang COM5336 Cryptography Lecture 10 Elliptic Curve Cryptography Scott CH Huang COM 5336 Cryptography Lecture 10

Scott CH Huang Outline Elliptic Curve ( 橢圓函數 ) – Basic definition – Operations : addition & scalar Elliptic Curve Cryptosystem – Security considerations ECC vs. RSA comparison – Implementation considerations – Applications Conclusions

COM 5336 Cryptography Lecture 10 Scott CH Huang Holy Roman Empire vs Elliptic Curve Cryptosystem “ The Holy Roman Empire is neither holy, nor Roman, nor an empire. ” ~ Voltaire The Elliptic Curve Cryptosystem is neither related to ellipses nor itself a cryptosystem.

COM 5336 Cryptography Lecture 10 Scott CH Huang The arc length of a half circle -aa x 2 +y 2 =a 2 is given by the familiar integral is more complicated The arc length of a half ellipse x 2 /a 2 + y 2 /b 2 = 1 -a b a The Arc Length of an Ellipse

COM 5336 Cryptography Lecture 10 Scott CH Huang Let k 2 = 1 – b 2 /a 2 and change variables x  ax. Then the arc length of an ellipse is An Elliptic Curve! with y 2 = (1 – x 2 ) (1 – k 2 x 2 ) = quartic in x. An elliptic integral is an integral, where R(x,y) is a rational function of the coordinates (x,y) on an “elliptic curve” E : y 2 = f(x) = cubic or quartic in x.

COM 5336 Cryptography Lecture 10 Scott CH Huang Elliptic Curve Cryptography ECC itself is NOT a cryptosystem It uses EC to define a group. We can use this group to form an Elliptic Curve Discrete Log Problem (ECDLP) Any DLP-based system can replace its Z p by the EC group

COM 5336 Cryptography Lecture 10 Scott CH Huang ECC (cont) Thus, we can use EC on all DLP-based encryption/decryption/key exchange/signature algorithms: Diffie-Hellman, ElGamal, ElGamal signature, DSA There are no good attacks on ECDLP now, so ECC can use very short keys. – ECC uses 160-bit keys (cf RSA/ElGamal 1024 bits)

COM 5336 Cryptography Lecture 10 Scott CH Huang Elliptic Curves Elliptic curves are not ellipses (the name comes from elliptic integrals) Circle – x 2 + y 2 = r 2 Ellipsis – a·x 2 + b·y 2 = c Elliptic curve – y 2 = x 3 + a·x + b

COM 5336 Cryptography Lecture 10 Scott CH Huang Elliptic Curves Over Real Numbers An elliptic curve over reals is the set of points (x,y) which satisfy the equation y 2 = x 3 + a·x + b, where x, y, a, and b are real numbers If 4·a ·b 2 is not 0 (i.e. x 3 + a·x + b contains no repeated factors), then the elliptic curve can be used to form a group An elliptic curve group consists of the points on the curve and a special point O (point at infinity) Elliptic curves are additive groups – Addition can be defined geometrically or algebraically

COM 5336 Cryptography Lecture 10 Scott CH Huang Adding Points P and Q Draw a line that intersects distinct points P and Q – The line will intersect a third point -R Draw a vertical line through point -R – The line will intersect a fourth point R Point R is defined as the sum of points P and Q – R = P + Q

COM 5336 Cryptography Lecture 10 Scott CH Huang Adding Points P and -P Draw a line that intersects points P and -P – The line will not intersect a third point For this reason, elliptic curves include O, a point at infinity – P + (-P) = O – O is the additive identity

COM 5336 Cryptography Lecture 10 Scott CH Huang Doubling the Point P Draw a line tangent to point P – The line will intersect a second point -R Draw a vertical line through point -R – The line will intersect a third point R Point R is defined as the summation of point P with itself – R = 2·P

COM 5336 Cryptography Lecture 10 Scott CH Huang Doubling the Point P if yP = 0 Draw a line tangent to point P – If yP = 0, the line will not intersect a second point 2·P = O when yP = 0 – 3·P = P (2·P + P) – 4·P = O (2·P + 2·P) – 5·P = P (2·P + 2·P + P)

COM 5336 Cryptography Lecture 10 Scott CH Huang Algebraic Approach Point Addition – R = P + Q – s = (yP – yQ) / (xP – xQ) – xR = s 2 – xP – xQ – yR = -yP + s(xP – xR) Point Doubling – R = 2·P – s = (3·xP 2 + a) / (2·yP) – xR = s 2 – 2·xP – yR = -yP + s(xP – xR)

COM 5336 Cryptography Lecture 10 Scott CH Huang Characteristic of a Ring Let R be a ring. The characteristic of R, denoted by char( R ), is defined to be the smallest number n such that a+ … +a = 0 for all a  R. If R contains 1, then the characteristic is the smallest number n such that 1+ … +1=0 If such number do not exists, then char( R ) is defined to be 0. n times

COM 5336 Cryptography Lecture 10 Scott CH Huang Elliptic Curves Over Finite Fields Calculations with real numbers are slow and rounding causes inaccuracy Speed and accuracy are important for cryptography Use elliptic curve groups over the finite field F p or F 2 m

COM 5336 Cryptography Lecture 10 Scott CH Huang Elliptic Curves Over Finite Fields Because it’s a finite field, a finite number of points make up the curve – This means there is no curve anymore – But also no more rounding Geometric definitions of addition and doubling don’t work on these curves Algebraic definitions still hold

COM 5336 Cryptography Lecture 10 Scott CH Huang Elliptic Curves in Weierstrass Form y 2 +a 1 xy+a 3 y= x 3 + a 2 x 2 + a 4 x + a 6 All coefficients and variables are assumed to be in a field F. Depending on the characteristic of F, different forms of elliptic curves are used. In particular, if the char( F )= 2, special treatment is necessary. Fields with characteristic 3 are usually not important in applications and are often omitted.

COM 5336 Cryptography Lecture 10 Scott CH Huang Elliptic Curves over F w/ char( F )≠2,3 Elliptic curve over F : y 2 = x 3 + ax + b, where x, y, a, b  F. 4a b 2 ≠ 0 (i.e. x 3 + ax + b contains no repeated factors). Everything is the same as the elliptic curve over reals except that there ’ s no curve anymore and their definitions are purely algebraic. As usual, the elements are the (x,y) pairs satisfying the above equation along with O.

COM 5336 Cryptography Lecture 10 Scott CH Huang Algebraic Definition of Addition, Inverse, and Doubling Inverse: P=(x 1,y 1 ) – -P=(x 1,-y 1 ) Addition: P=(x 1,y 1 ), Q=(x 2,y 2 ), R =(x 3,y 3 ) = P + Q – λ = (y 2 - y 1 ) / (x 2 - x 1 ) – x 3 = λ 2 - x 1 - x 2 – y 3 = -y 1 + λ( x 1 - x 3 ) Doubling: R =(x 3,y 3 ) = 2P – λ = (3x a) / (2y 1 ) – x 3 = λ 2 - 2x 1 – y 3 = -y 1 + λ( x 1 - x 3 )

COM 5336 Cryptography Lecture 10 Scott CH Huang Elliptic Curves Over F w/ char( F )=2 Usually we only consider two types of elliptic curves: zero j- invariant & nonzero j-invariant. Zero j-invariant : y 2 +a 3 y= x 3 + a 4 x + a 6, where x, y, a 3, a 4, a 6  F. Nonzero j-invariant : y 2 +xy= x 3 + a 2 x 2 + a 6, where x, y, a 3, a 4, a 6  F.

COM 5336 Cryptography Lecture 10 Scott CH Huang Inverse, Addition, & Doubling of Zero j-invariant Elliptic Curves Zero j-invariant Elliptic Curve: y 2 +a 3 y= x 3 + a 4 x + a 6 Inverse: P=(x 1,y 1 ) – -P=(x 1,-y 1 +a 3 ) Addition: P=(x 1,y 1 ), Q=(x 2,y 2 ), R =(x 3,y 3 ) = P + Q – λ = (y 1 + y 2 ) / (x 1 + x 2 ) – x 3 = λ 2 + x 1 + x 2 – y 3 = λ( x 1 + x 3 ) + y 1 + a 3 Doubling: R =(x 3,y 3 ) = 2P – λ = (x a 4 ) / a 3 – x 3 = λ 2 – y 3 = λ( x 1 + x 3 ) + y 1 + a 3

COM 5336 Cryptography Lecture 10 Scott CH Huang Inverse, Addition, & Doubling of Nonzero j-invariant Elliptic Curves Nonzero j-invariant Elliptic Curve: y 2 +xy= x 3 + a 2 x 2 + a 6 Inverse: P=(x 1,y 1 ) – -P=(x 1,y 1 +x 1 ) Addition: P=(x 1,y 1 ), Q=(x 2,y 2 ), R =(x 3,y 3 ) = P + Q – λ = (y 1 + y 2 ) / (x 1 + x 2 ) – x 3 = λ 2 +λ+ x 1 + x 2 + a 2 – y 3 = λ( x 1 + x 3 ) + x 3 + y 1 Doubling: R =(x 3,y 3 ) = 2P – x 3 = (a 6 /x 1 2 ) + x 1 2 – y 3 = x 1 2 +( x 1 + y 1 /x 1 ) x 3 + x 3

COM 5336 Cryptography Lecture 10 Scott CH Huang Number of Points on E ( F ) #E ( F ): number of points on E ( F ). #E ( F ) represents how many different pieces of information can be coded. Hesse ’ s Theorem: | #E ( F p )-(p+1)|≤2 The Weil Conjecture: Let t=p+1- #E ( F p ), then #E ( F p k )=p k +1-α k -β k, where 1-tx+px 2 =(1-αx)(1-βx). If the Weil Conjecture is true, then we can determine #E ( F p k ) based on #E ( F p ).

COM 5336 Cryptography Lecture 10 Scott CH Huang Operations Zp*Zp* E(F)E(F) MultiplicationAddition ExponentiationScalar (Multiple)

COM 5336 Cryptography Lecture 10 Scott CH Huang Elliptic curves are interesting because they provide a way of constructing “elements” and “rules of combining” that produce groups. These groups have enough familiar properties to build cryptographic algorithms, but they don’t have certain properties that may facilitate cryptanalysis. For example, there is no good notion of “smooth.” That is, there is no set of small elements in terms of which a random element has a good chance of being expressed by a simple algorithm. Hence, index calculus discrete logarithm algorithm do not work. Elliptic curves over the finite field GF(2 n ) are particularly interesting. The arithmetic processors for the underlying field are easy to construct and are relatively simple to implement for n in the range of 130 to 200. These systems have the potential to provide small and low-cost public-key cryptosystems. Many public-key algorithms, like Diffie-Hellman, ElGamal, and Schnorr, can be implemented in elliptic curves over finite fields.

COM 5336 Cryptography Lecture 10 Scott CH Huang Correspondence between Z p * and E( F ) notation GroupZp*Zp* E(F)E(F) Group elements Integers {1, 2, …, p-1} Points (x, y) on E ( F ) plus O Group operation Multiplication modulo p Addition of points Notation Elements : g, h Multiplication : gh Inverse : g -1 Division : g / h Exponentiation : g a Elements : P, Q Addition : P+Q Negative : -P Subtraction : P-Q Multiple : aP Discrete Logarithm Problem Given g  Z p * and h = g a mod p, find a Given P  E ( F ) and Q = aP, find a

COM 5336 Cryptography Lecture 10 Scott CH Huang Elliptic Curve Cryptosystem Proposed by Neal Koblitz and V. S. Miller (independently)in 1985.They did not invent a cryptographic algorithm using ECs. Standards : – ANSI X9.62 — ECDSA – ANSI X9.63 — EC Key Agreement and Transport Protocols – IEEE P1363 standard—Standard Specifications for PKI Hard problem : – Elliptic curve discrete logarithm problem (ECDLP) Given P, Q to find k such that Q=kP

COM 5336 Cryptography Lecture 10 Scott CH Huang ECC Security Considerations Attacks : – Attacks on the elliptic curve discrete logarithm problem Naive exhaustive search Pohlig-hellman algorithm Baby-step Giant-step algorithm : (n) 1/2 steps Pollard’s rho algorithm : (  n/2) 1/2 steps Parallelized Pollard’s rho algorithm : (  n) 1/2 /2r steps – Attacks on the hash function employed – Other attacks Experimental Results Parallelized Pollard’s rho algorithm : (  n) 1/2 /2r steps (r processors, n is the order of the point P) The fastest so far

COM 5336 Cryptography Lecture 10 Scott CH Huang Comparison : ECC vs. RSA ECCRSA Key length (bits) Breaking time (MIPS-Years) Key length (bits) Breaking time (MIPS-Years) x x x x x x x x x Pollard rho method to attack ECDLP Generalized number field sieve method to attack factorization 160

COM 5336 Cryptography Lecture 10 Scott CH Huang ECC Implementation Considerations Security considerations Suitability of methods available for optimizing finite field arithmetic(addition, multiplication, squaring, and inversion) Suitability of methods available for optimizing elliptic curve arithmetic (point addition, point doubling, and scalar multiplication) Application platform (software, hardware, or firmware) Constraints of a particular computing environment (e.g., processor speed, storage, code size, gate count, power consumption) Constraints of a particular communications environment (e.g., bandwidth, response time)

COM 5336 Cryptography Lecture 10 Scott CH Huang Applications Key Exchange (Diffie Hellman) Encryption & Decryption (ElGamal) Digital Signature (ElGamal, DSA) Authentication

COM 5336 Cryptography Lecture 10 Scott CH Huang EC Diffie-Hellman Key Exchange Diffie-Hellman Key Exchange AlgorithmKey Exchange Using Elliptic Curve Cryptography Public info a point G User AUser B xaxa xbxb Y X X=x a G Y=x b G K ab =x a Y =x a x b G Public info q prime number   <q and is a primitive root of q User AUser B xaxa xbxb Y X X=  x a mod q Y=  x b mod q K ab =Y X a mod q =  X b X a mod q K ab =X X b mod q =  X a X b mod q = K ab =x b X =x a x b G =

COM 5336 Cryptography Lecture 10 Scott CH Huang EC ElGamal Encryption ElGamal encryption EC ElGamal encryption Key generation Generate a prime p of length k bits. Compute a generator g for Z p * Select x, 2  x  p-2 public key : (g, p, y) private key : x Select (p, a, b, G), G  E ( F ) such that the smallest n for nG=O is large. Select n a <n public key : (p, a, b, P a ) private key : n a Encryption Select k, 1  k  p-2 Select n k < n. Decryption Receive C = {a, b}Receive C m = {P k, P b } C={g k mod p, My k mod p} C m = {n k G, P m +n k P a } M = b/a x mod p P m =P b - n a P k = P m +n k P a -n a P k y = g x mod pPa=naGPa=naG

COM 5336 Cryptography Lecture 10 Scott CH Huang DSA vs. ECDSA DSAECDSA Key generation Select p, q, x and q | p-1, 1  d < q. Select h  Z p * and compute g = h (p-1)/q mod p until g  1. public key : (p, q, g, y) private key : d Select E over E ( F ), select d, 1  d < n. Select P  E ( F ) of order n. public key : (E, n, P, Q) private key : d Signature generation Select k, 1  k < q. s = k -1 ( h(m) + dr) mod q Select k, 1  k < n. s = k -1 ( h(m) + dr) mod n Signature verification w = s -1 mod q u 1 = h(m)w mod q u 2 = rw mod q If v = r, (r,s) passes w = s -1 mod n u 1 = h(m)w mod n u 2 = rw mod n If v = r, (r,s) passes y = g d mod pQ = dP kP = (x 1,y 1 ) and r = x 1 mod nr = (g k mod p) mod q v = (g u 1 y u 2 mod p) mod q u 1 P+u 2 Q=(x 0, y 0 ), v = x 0 mod n

COM 5336 Cryptography Lecture 10 Scott CH Huang Conclusions ECC Advantages : Offers the highest strength-per-key-bit of any known public- key system Offers the same level of security with smaller key sizes Computational power High-speed S/W and H/W implementations Integrated circuit space is limited smart card, wireless devices

COM 5336 Cryptography Lecture 10 Scott CH Huang References ECC Whitepapers Elliptic Curves and Cryptography Dr. Dobb’s Journal April 1997 The Elliptic Curve Digital Signature Algorithm (ECDSA) ECC Tutorial rial.html rial.html