cryptographie a base de courbes elliptiques algorithmes
play

Cryptographie ` a base de courbes elliptiques : algorithmes et impl - PowerPoint PPT Presentation

Cryptographie ` a base de courbes elliptiques : algorithmes et impl ementation Sorina Ionica IMB, Universit e de Bordeaux Sorina Ionica (IMB) Elliptic Curve Cryptography 1 / 23 Public key cryptography Sharing a common secret over an


  1. Cryptographie ` a base de courbes elliptiques : algorithmes et impl´ ementation Sorina Ionica IMB, Universit´ e de Bordeaux Sorina Ionica (IMB) Elliptic Curve Cryptography 1 / 23

  2. Public key cryptography Sharing a common secret over an insecure channel Sorina Ionica (IMB) Elliptic Curve Cryptography 2 / 23

  3. Public key cryptography and groups Diffie-Hellman Key Exchange : ( G , + , P ) public P A Alice Bob P B a , P A = aP b , P B = bP K = aP B K = bP B K = abP Security: the Discrete Logarithm Problem (DLP) in G Given P , Q ∈ G find (if it exists) λ such that Q = λ P Sorina Ionica (IMB) Elliptic Curve Cryptography 3 / 23

  4. Elliptic Curve Cryptography 10 R 5 Consider F q , char ( F q ) � = 2 , 3 P Q Weierstrass form − 2 2 4 y 2 = x 3 + ax + b ⊖ R = P ⊕ Q − 5 − 10 Secure implementation : DLP is hard if r = # G is a large prime number. Shorter keys (compared to RSA, group cryptography over finite fields) Sorina Ionica (IMB) Elliptic Curve Cryptography 4 / 23

  5. Security Table : Complexity of generic attacks method Fastest known attack 1 2 Number Field Sieve exp ( 1 3 ( log log N ) 3 ) RSA 2 ( logN ) Pollard-rho √ r = exp ( 1 ECC 2 log r ) Table : Key sizes Security level RSA ECC 80 bits 1024 160 128 bits 3072 256 256 bits 15360 512 Sorina Ionica (IMB) Elliptic Curve Cryptography 5 / 23

  6. ECC in the real world key exchange, signatures, identification Sorina Ionica (IMB) Elliptic Curve Cryptography 6 / 23

  7. Elliptic versus genus 2 curves Genus 2 addition Genus 1 addition C 1 ( F q ) : y 2 = x 5 − 3 x 3 + x , E ( F q ) : y 2 = x 3 − 3 x + 1 10 10 5 R 5 P Q − 2 2 4 − 2 2 4 ⊖ R = P ⊕ Q − 5 − 5 − 10 − 10 # J C ( F q ) ∼ q 2 # E ( F q ) ∼ q Sorina Ionica (IMB) Elliptic Curve Cryptography 7 / 23

  8. Scalar multiplication multiplication-by- m map: P �→ [ m ] P on E ( F q ), D �→ [ m ] D on J C ( F q ) optimized binary double-and-add scalar multiplication: 1 write m in binary rep. m = � log m − 1 m i 2 i , m i ∈ { 0 , 1 } i =0 2 R ← P 3 for i from log m − 1 to 0 do R ← 2 R (Doubling) 1 if m i = 1 then R ← R + P (Addition) 2 4 return R cost: log m doublings + ∼ 1 2 log m additions in average Sorina Ionica (IMB) Elliptic Curve Cryptography 8 / 23

  9. Multi-scalar multiplication [ m ] P + [ ℓ ] Q ∈ G ⊂ E ( F q ) 1 write m � ℓ in binary rep. m = � log m − 1 m i 2 i , i =0 ℓ = � log ℓ − 1 ℓ i 2 i , m i , ℓ i ∈ { 0 , 1 } i =0 2 precompute T = P + Q 3 if log ℓ > log m then R ← Q 4 else R ← T 5 for i from log ℓ − 1 to 0 do R ← 2 R (Doubling) 1 if m i = ℓ i = 1 then R ← R + T (Addition) 2 else if m i = 1 and ℓ i = 0 then R ← R + P (Addition) 3 else if m i = 0 and ℓ i = 1 then R ← R + Q (Addition) 4 6 return R cost: log ℓ doublings + ∼ 3 4 log ℓ additions in average Sorina Ionica (IMB) Elliptic Curve Cryptography 9 / 23

  10. Algorithme GLV pour la multiplication scalaire Assume there is an efficient (almost free) endomorphism φ : G → G , φ ( P ) = λ φ P λ φ is large → decompose m = m 0 + λ φ m 1 mod r with log m 0 ∼ log m 1 ∼ log m / 2 Multi-exponentiation m 0 Compute mP = m 0 P + m 1 φ ( P ) in m 1 (log m ) / 2 operations. Save half doublings for a cost of a quarter of additions. Sorina Ionica (IMB) Elliptic Curve Cryptography 10 / 23

  11. Endomorphisms: an example √ E α ( F q ) : y 2 = x 3 + α x , j ( E α ) = 1728 ( i . e . CM by − 1 , D = 4) q ≡ 1 mod 4, let i ∈ F q s.t. i 2 = − 1 ∈ F q φ : ( x , y ) �→ ( − x , iy ) is an endomorphism φ ◦ φ ( x , y ) = ( x , − y ) φ 2 + Id = 0 on E ( F q ) eigenvalue: λ φ ≡ √− 1 mod # E ( F q ) this means for P of prime-order r , φ ( P ) = [ λ φ mod r ] P Sorina Ionica (IMB) Elliptic Curve Cryptography 11 / 23

  12. Endomorphism: Frobenius map Frobenius map, E ( F q ), ( x , y ) ∈ E ( F q n ) �→ ( x q , y q ) ∈ E ( F q n ). Why ? E ( F q ) : y 2 = x 3 + a 4 x + a 6 , a 4 , a 6 ∈ F q Not directly useful in this way. Used with twisted curves (Galbraith-Lin-Scott GLS curves) → φ = √− 1 , √− 2 , 1+ √− 7 j ( E ) = 1728 , 8000 , − 3375 ← . 2 → φ = − 1+ √− 3 , √− 3 , 1+ √− 11 j ( E ) = 0 , 54000 , − 32768 ← . 2 2 Galbraith-Lin-Scott (GLS) curves (2009): defined over F q 2 instead of F q , j ∈ F q , one endomorphism φ : φ 2 = − Id on E ( F q 2 ). but still j ∈ F q These are all available fast endomorphisms. Sorina Ionica (IMB) Elliptic Curve Cryptography 12 / 23

  13. Implementation Fast algorithms for scalar multiplication: GLV Fast group law computation Fast modular arithmetic : special primes (ex. p = 2 127 − 1) Example: No curve E / F q 2 with p = 2 127 − 1 and GLV of dimension 4. Challenge: the fastest implementation for a given security level Sorina Ionica (IMB) Elliptic Curve Cryptography 13 / 23

  14. Our contribution Four dimensional GLV via the Weil restriction joint work with Aurore Guillevic Sorina Ionica (IMB) Elliptic Curve Cryptography 14 / 23

  15. GLV friendly curve zoo Genus 1 Genus 2 Mestre, Kohel-Smith, GLV 2001 : complex Takashima : explicit real multiplication by √ √ √− 1 , √− 2 , 1+ √− 7 multiplication by 2, 5 , 2 √− 3 , 1+ √− 11 4-dim. : Buhler-Koblitz, . 2 Furukawa-Takahashi Galbraith-Lin-Scott 2009: curves curves/ F q 2 , j ∈ F q . Longa-Sica 2012: 4-dim GLV+GLS Sorina Ionica (IMB) Elliptic Curve Cryptography 15 / 23

  16. GLV friendly curve zoo Genus 1 Genus 2 Mestre, Kohel-Smith, GLV 2001 : complex Takashima : explicit real multiplication by √ √ √− 1 , √− 2 , 1+ √− 7 multiplication by 2, 5 , 2 √− 3 , 1+ √− 11 4-dim. : Buhler-Koblitz, . 2 Furukawa-Takahashi Galbraith-Lin-Scott 2009: curves curves/ F q 2 , j ∈ F q . This work: 4-dim.-GLV on Longa-Sica 2012: 4-dim Satoh/Satoh-Freeman GLV+GLS curves 2009 Sorina Ionica (IMB) Elliptic Curve Cryptography 15 / 23

  17. GLV friendly curve zoo Genus 1 Genus 2 Mestre, Kohel-Smith, GLV 2001 : complex Takashima : explicit real multiplication by √ √ √− 1 , √− 2 , 1+ √− 7 multiplication by 2, 5 , 2 √− 3 , 1+ √− 11 4-dim. : Buhler-Koblitz, . 2 Furukawa-Takahashi Galbraith-Lin-Scott 2009: curves curves/ F q 2 , j ∈ F q . This work: 4-dim.-GLV on Longa-Sica 2012: 4-dim Satoh/Satoh-Freeman GLV+GLS curves 2009 This work: 4 dim.-GLV on two families of curves/ F q 2 , but j ∈ F q 2 . Sorina Ionica (IMB) Elliptic Curve Cryptography 15 / 23

  18. 4-GLV, . . . , 2 i -GLV: time-memory trade-off We would like a 4-dimensional decomposition of m when computing mP 2 endomophisms φ, ψ of eigenvalues λ φ , λ ψ decompose m ≡ m 1 + m 2 λ φ + m 3 λ ψ + m 4 λ φ λ ψ mod r with log m i ∼ 1 4 log m Store P , φ ( P ) , ψ ( P ) , φψ ( P ) , . . . ⇒ 16 points 4-dim. multiexponentiation → Save 3 4 log m doublings and ∼ 17 32 log m additions. Sorina Ionica (IMB) Elliptic Curve Cryptography 16 / 23

  19. Dimension 4 - Longa and Sica 2012 Curves are ordinary, i.e. endomorphisms form a lattice of dimension 2 ⇒ [1 , φ ] we need ψ s.t. λ ψ ≡ α + βλ φ mod r and α, β > r 1 / 4 to have a decomposition How to construct ψ efficiently computable? Longa-Sica curves (2012) Consider GLS curves with small D → 2 endomorphisms ψ : ψ 2 + 1 = 0, φ : φ 2 + D = 0 for points over F q 2 . Sorina Ionica (IMB) Elliptic Curve Cryptography 17 / 23

  20. Satoh’s curves I J C 1 ( F q 8 ) E c × E c ( F q 8 ) ˆ I E c × E c ( F q 2 ) J C 1 ( F q ) C 1 : y 2 = x 5 + ax 3 + bx , a , b ∈ F q J C 1 is the Weil restriction of √ E c / F q 2 : y 2 = x 3 + 27(3 c − 10) x + 108(14 − 9 c ) , c = a / b Sorina Ionica (IMB) Elliptic Curve Cryptography 18 / 23

  21. Satoh’s Jacobians I J C 1 ( F q 8 ) E c × E c ( F q 8 ) ˆ I E c × E c ( F q 2 ) J C 1 ( F q ) D = 2 D ′ − → E c ? I 2 We start by computing a degree 2 isogeny (i.e. a map between curves) I 2 from E c . Sorina Ionica (IMB) Elliptic Curve Cryptography 19 / 23

  22. 4-dim GLV on elliptic curves We computed with V´ elu’s formulas this 2-isogeny I 2 : E c → E − c � � �� 2 + 162+81 c − y 1 − 162+81 c − x ( x , y ) �→ − 2( x − 12) , 2 √− 2 ( x − 12) 2 I 2 E c E − c E c / F q 2 : y 2 = x 3 + 27(3 c − 10) x + 108(14 − 9 c ) E − c / F q 2 : y 2 = x 3 + 27( − 3 c − 10) x + 108(14 + 9 c ) Sorina Ionica (IMB) Elliptic Curve Cryptography 20 / 23

  23. 4-dim GLV on elliptic curves We computed with V´ elu’s formulas this 2-isogeny I 2 : E c → E − c � � �� 2 + 162+81 c − y 1 − 162+81 c − x ( x , y ) �→ − 2( x − 12) , 2 √− 2 ( x − 12) 2 I 2 E c E − c E c / F q 2 : y 2 = x 3 + 27(3 c − 10) x + 108(14 − 9 c ) E − c / F q 2 : y 2 = x 3 + 27( − 3 c − 10) x + 108(14 + 9 c ) In F q 2 , π q ( c ) = − c Go back from E − c to E c with the Frobenius map Sorina Ionica (IMB) Elliptic Curve Cryptography 20 / 23

  24. 4-dim GLV on elliptic curves We computed with V´ elu’s formulas this 2-isogeny I 2 : E c → E − c � � �� 2 + 162+81 c − y 1 − 162+81 c − x ( x , y ) �→ − 2( x − 12) , 2 √− 2 ( x − 12) 2 π q ◦ I 2 I 2 = φ 2 E c E − c ≡ [ √± 2] π q E c / F q 2 : y 2 = x 3 + 27(3 c − 10) x + 108(14 − 9 c ) E − c / F q 2 : y 2 = x 3 + 27( − 3 c − 10) x + 108(14 + 9 c ) In F q 2 , π q ( c ) = − c Go back from E − c to E c with the Frobenius map Sorina Ionica (IMB) Elliptic Curve Cryptography 20 / 23

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