introduction to elliptic curve cryptography
play

Introduction to Elliptic Curve Cryptography Rana Barua Indian - PowerPoint PPT Presentation

Introduction to Elliptic Curve Cryptography Rana Barua Indian Statistical Institute Kolkata May 19, 2017 university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography ElGamal Public Key Cryptosystem, 1984 Key Generation: Choose


  1. Introduction to Elliptic Curve Cryptography Rana Barua Indian Statistical Institute Kolkata May 19, 2017 university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  2. ElGamal Public Key Cryptosystem, 1984 Key Generation: Choose a suitable large prime p 1 Choose a generator g of the cyclic group I Z ∗ 2 p Choose a cyclic G = < g > of prime order p 3 choose x A ∈ R Z p and compute y A = g x A mod p . 4 Public key of Alice is ( g , y A ) and secret key is x A . 5 Z ∗ Encryption: Given message m ∈ I p , choose r ∈ R Z p and compute h = g r mod p 1 send ciphertext ( h , y r A . m mod p ) 2 Decryption: On receiving ciphertext ( h , z ) , compute m = ( h x A ) − 1 . z mod p university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  3. Security of ElGamal Discrete Logarithm Problem. Diffie-Hellman Problem. Discrete Logarithm: Instance : A multiplicative group ( G , . ) , an element α ∈ G of order n , and an element β ∈ < α > , the cyclic group generated by α . Problem : Find the unique integer a , 0 ≤ a ≤ n − 1, s.t. α a = β . The integer a is called the discrete log of β to base α and is denoted by log α β . Computing the discrete log is probably difficult in suitable groups. Thus the exponentiation function is (probably) a one-way function in suitable groups G , i.e. a function which is easy university-logo-isi to compute but computationally infeasible to invert. Rana Barua Introduction to Elliptic Curve Cryptography

  4. Computational Diffie-Hellman Problem Instance : A multiplicative group ( G , . ) , an element α ∈ G of order n , and elements α a , α b ∈ < α > , the cyclic group generated by α . Problem : Compute α ab . Diffie-Hellman Problem is stronger than the DLP Questions What groups G should be chosen for ElGamal Cryptosystems? Obvious choice is Z ∗ p , for large primes p p should be carefully chosen to avoid known algorithms for DLP . e.g. p − 1 should contain at least one large prime factor. Elliptic Curves Hyperelliptic curves university-logo-isi Others Rana Barua Introduction to Elliptic Curve Cryptography

  5. Reasons for using ECC : Shorter secret key. Lenstra and Verheul made some comparative security estimates. They have argued that in order for a ECDLP based cryptosystem to be secure one should take p ≈ 2 160 . To achieve the same level of security in case of Z ∗ p p needs to be at least 2 1880 Memory efficient implementation. Higher speed. university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  6. Elliptic Curve over a Finite Field An elliptic curve E over a finite field K = F q ( Z p , p > 3) is given by an equation y 2 = x 3 + ax + b , a , b ∈ K , where 4 a 3 + 27 b 2 � = 0 The set of K -rational points on E is x 3 + ax + b } ∪ {O} . E ( K ) = { ( x , y ) ∈ K × K : y 2 = university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  7. Elliptic Curve over a Finite Field The set E ( L ) is an abelian group under the “chord-and-tangent law”. Consider E / K : y 2 = x 3 + ax + b . Addition formulae are as follows: P + O = O + P = P , for all P ∈ E ( L ) . 1 −O = O . 2 If P = ( x , y ) ∈ E ( L ) , then − P = ( x , − y ) . 3 If Q = − P , then P + Q = O . 4 If P = ( x 1 , y 1 ) ∈ E ( L ) , Q = ( x 2 , y 2 ) ∈ E ( L ) , P � = − Q , then 5 P + Q = ( x 3 , y 3 ) , where x 3 = λ 2 − x 1 − x 2 , y 3 = λ ( x 1 − x 3 ) − y 1 , and y 2 − y 1 λ = if P � = Q ; x 2 − x 1 3 x 2 1 + a λ = if P = Q . 2 y 1 university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  8. Elliptic Curve over a Finite Field Suppose P and Q are both points on the elliptic curve then P + Q is always another point on the elliptic curve which is defined as follows. Draw a line through P and Q (if P = Q take the Tangent line). The line intersects the curve in a third Point. Reflect that point through the x-axis to find R = P + Q university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  9. Elliptic Curve over a Finite Field F q ) = q + 1 − t , | t | ≤ 2 √ q . (Hasse’s Theorem) # E ( I Consequently, # E ( I F q ) ≈ q . (Schoof’s Algorithm) # E ( I F q ) can be computed in polynomial time. – Let E be an elliptic curve defined over I F q . Then F q ) ∼ E ( I = Z n 1 ⊕ Z n 2 , where n 2 | n 1 and n 2 | ( q − 1 ) . – E ( I F q ) is cyclic if and only if n 2 = 1. – P ∈ E is an n -torsion point if nP = O and E [ n ] is the set of all n -torsion points. – If gcd ( n , q ) = 1, then E [ n ] ∼ = Z n ⊕ Z n university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  10. POINT COMPRESS Let E be an elliptic curve over Z p . Define PC : E − {O} → Z p × Z 2 as follows PC ( P ) = ( x , y ( mod 2 )) , where P = ( x , y ) ∈ E . university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  11. Simplified ECIES Let E be an elliptic curve over Z p s.t. E contains a cyclic subgroup H = < P > of prime order n in which the DLP is infeasible Pick m ∈ R Z n and set Q = mP Public key : P , Q , n Private key; m Encrypt : Given message x ∈ Z ∗ p choose a secret random no. k ∈ Z ∗ n Compute y 1 = PC ( kP ) and kQ = ( x 0 , y 0 ) , x 0 � = 0. Compute y 2 = xx 0 ( mod p ) . Ciphertext is ( y 1 , y 2 ) Decrypt : Given cipher ( y 1 , y 2 ) Compute ( x 0 , y 0 ) = mPC − 1 y 1 Compute x = y 2 ( x − 1 0 ) ( mod p ) university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  12. Public Key Signature Scheme A signature scheme is given by following algorithms: Setup( 1 k ): A PPT algorithm which takes a security parameter as input and outputs public parameters Params . KG( Params ): A PPT algorithm which takes Params as input and outputs a public-private key pair ( PK , SK ). SIG( m , SK , Params ): A PPT algorithm which takes a message m , a secret key SK and Params as input and outputs a signature σ . VER( m , σ, PK , Params ): A deterministic polynomial time algorithm which takes a message m , a signature σ , a public key PK and Params as input and outputs T if σ is a valid signature on message m , else it returns F . university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  13. Security Notion of Signature Scheme A signature scheme is said to be EUF-CMA (existentially unforgeable against chosen message attack) secure if no probabilistic polynomial time algorithm has a non-negligible advantage in the following game. Game EUF − CMA ( 1 k ) SIG , A L ← φ Params ← Setup ( 1 k ) ( PK , SK ) ← KG ( Params ) ( m , σ ) ← A O ( SK , Params ) x ← VER ( m , σ, PK , Params ) Advantage of A is defined as A dv ( A ) = Pr ( x = true ∧ m / ∈ L ) university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  14. ECDSA Setup Select an elliptic curve E defined over Z p . The number of points in E ( Z p ) should be divisible by a large prime n . Select a point P ∈ E ( Z p ) of order n . Select an integer d in the interval [ 1 , n − 1 ] . Compute Q = dP . A’s public key is ( E ; P ; n ; Q ) ; A’s private key is d . university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  15. ECDSA(cont) ECDSA signature generation. To sign a message m , A does the following: Select a random integer k in the interval [ 1 , n − 1 ] . Compute kP = ( x 1 ; y 1 ) and r = x 1 ( mod n ) . Compute k − 1 mod n . Compute s = k − 1 [ h ( m ) + dr ] mod n , where h is the Secure Hash Algorithm (SHA-1). The signature for the message m is the pair of integers ( r ; s ) . university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

  16. ECDSA(cont) ECDSA signature verification. To verify A’s signature ( r ; s ) on m , B should: Compute w = s − 1 mod n and h ( m ) . Compute u 1 = h ( m ) w mod n and u 2 = rw mod n . Compute u 1 P + u 2 Q = ( x 0 ; y 0 ) and v = x 0 mod n . Accept the signature if and only if v = r . the parameter n should have about 160 bits. If this is the case, then ECDSA signatures have size 320 bits (same as DSA). university-logo-isi Rana Barua Introduction to Elliptic Curve Cryptography

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