curve based cryptography
play

Curve-Based Cryptography Nicolas Thriault - PowerPoint PPT Presentation

Curve-Based Cryptography Nicolas Thriault nicolas.theriault@usach.cl Departamento de Matemtica y Ciencia de la Computacin Universidad de Santiago de Chile Discrete Log Problem Computational Diffie-Hellman Problem: Given g 1 , [ a ] g 1 ,


  1. Curve-Based Cryptography Nicolas Thériault nicolas.theriault@usach.cl Departamento de Matemática y Ciencia de la Computación Universidad de Santiago de Chile

  2. Discrete Log Problem Computational Diffie-Hellman Problem: Given g 1 , [ a ] g 1 , and [ b ] g 1 , compute [ ab ] g 1 . For a generic (additive) group G and for well chosen values of a et b , the fastest known method consists in solving the discrete log problem. – p.1.

  3. Discrete Log Problem Computational Diffie-Hellman Problem: Given g 1 , [ a ] g 1 , and [ b ] g 1 , compute [ ab ] g 1 . For a generic (additive) group G and for well chosen values of a et b , the fastest known method consists in solving the discrete log problem. Given two elements g 1 and g λ of a group G such that g λ ∈ � g 1 � , the discrete logarithm problem for the pair ( g 1 , g λ ) in G consist in computing the smallest positive integer λ such that g λ = [ λ ] g 1 . The security of many public key cryptosystems relies on the difficulty of the discrete log. – p.1.

  4. Generic Attacks Three main types of attack: Shank’s Baby Step - Giant Step algorithm; Pollard’s ρ method; Pollard’s kangaroo method. They work for every abelian group. They require �� � O group order group operations to solve the discrete log. – p.2.

  5. Example: Pollard’s ρ ✯✲❍ ✯✲✲✟ ❥ ❍ ✯ ✟ ❥ ✟ ❘ ❅ ✯� ✒ ❯ ❆ ✟ ✒ � ❅ ❘ ✕ ✁ ❄ ✁ ☛ ✕ ✁ ❅ ■ � ✠ ✯� ✒ ❨ ❍ ✙ ✟ ✟ ■ ❅ � ✠ ✯� ✒ ❨ ❍ ✙ ✟ ✛ ✛ ✟ ❨ ❍ ✙ ✟ ✛ ✛ ✯� ✒ ✟ � ✒ ✒ � � ✒ ✁ ✕ ✁ ✕ ✒ � ✕ ✁ – p.3.

  6. Security For cryptographic applications, we would like square root algorithms to be the best possible attacks. – p.4.

  7. Security For cryptographic applications, we would like square root algorithms to be the best possible attacks. For some groups, it’s false: The additive group Z /p Z (we can divide by g 1 ). Groups that decompose into small subgroups. – p.4.

  8. Security For cryptographic applications, we would like square root algorithms to be the best possible attacks. For some groups, it’s false: The additive group Z /p Z (we can divide by g 1 ). Groups that decompose into small subgroups. For others, it seems true (most of the time): Elliptic curves (of prime order). Hyperelliptic curves of genus 2 (of prime order). – p.4.

  9. Security For cryptographic applications, we would like square root algorithms to be the best possible attacks. For some groups, it’s false: The additive group Z /p Z (we can divide by g 1 ). Groups that decompose into small subgroups. For others, it seems true (most of the time): Elliptic curves (of prime order). Hyperelliptic curves of genus 2 (of prime order). For others, it’s false, but not too much: Hyperelliptic curves of genus 3 and 4 . Non-hyperelliptic curves of genus 4 . – p.4.

  10. Elliptic Curves Curve: Has an equation of the form y 2 = x 3 + ax + b (Weierstrass form) over a field of q elements, q = p k . such that 4 a 3 + 27 b 2 � = 0 mod p (non-singular) Group: The (affine) rational points on the curve of the form ( x i , y i ) where y 2 i = x 3 i + ax i + b an extra point “at infinity”, P ∞ , which will be the zero/neutral of the group a group operation between pairs of points – p.5.

  11. Point Addition for E ( R ) y 2 = x 3 − x – p.6.

  12. Point Addition for E ( R ) y 2 = x 3 − x P R – p.6.

  13. Point Addition for E ( R ) y 2 = x 3 − x P R − P − R – p.6.

  14. Point Addition for E ( R ) y 2 = x 3 − x P + R P R − P − R – p.6.

  15. Group operation Special cases: two distinct points on the same vertical add to P ∞ if the y -coordinate is 0 , the double of the point is P ∞ adding P ∞ to any point returns the same point General case, the chord-and-tangent method: ( x 1 , y 1 ) + ( x 2 , y 2 ) = ( x 3 , y 3 ) x 3 = λ 2 − x 1 − x 2 , y 3 = − y 1 − λ ( x 3 − x 1 ) λ is the slope of the line between the two initial points (of the tangent if both points are the same) x 1 − x 2 (general addition) or 3 x 2 1 + a λ = y 1 − y 2 (doubling) 2 y 1 – p.7.

  16. Varia There are other ways to represent elliptic curves, which can give different group operations A popular representation is Edwards curves: x 2 + y 2 = 1 − dx 2 y 2 Projective coordinates: represent points as triples (or more) of coordinates, to avoid field divisions maps: The complete (extended) group should include all points over the algebraic closure of the field Isomorphisms: to change the equation but keep the exact same group Isogenies: maps between curves with a finite kernel – p.8.

  17. Hyperelliptic Curves A hyperelliptic curve C of genus g is defined by an equation of the form: C : Y 2 + h ( X ) Y = f ( X ) with deg( h ) ≤ g ; deg( f ) = 2 g + 1 ; a tangent to the curve defined at every point. Elliptic curves are hyperelliptic curves of genus 1. In genus greater than 1, points do not form a group. – p.9.

  18. HEC over R , genus 2 y 2 = x 5 − 5 x 4 − 9 4 x 3 + 101 4 x 2 + 1 2 x − 6 – p.10.

  19. HEC over R , genus 2 y 2 = x 5 − 5 x 4 − 9 4 x 3 + 101 4 x 2 + 1 2 x − 6 R P – p.10.

  20. HEC over R , genus 2 y 2 = x 5 − 5 x 4 − 9 4 x 3 + 101 4 x 2 + 1 2 x − 6 R P – p.10.

  21. HEC over R , genus 2 y 2 = x 5 − 5 x 4 − 9 4 x 3 + 101 4 x 2 + 1 2 x − 6 ? R ? ? P – p.10.

  22. Divisor Class Group Divisors (sums of points, including ∞ ) of degree zero ( � coefficients = 0 ) form an infinite additive group. A principal divisor is the sum of the points of intersection between the curve and a polynomial in x and y . Principal divisors are a normal subgroup of the divisors of degree zero. The Jacobian is the group of divisor classes (i.e. divisors of degree zero modulo principal divisors). A reduced divisor is the sum of at most g points ( −∞ ) and does not contain any pair of points ( x, y ) , ( x, − y − h ( x )) . The element of the Jacobian of C (the divisor classes) are represented by reduced divisors. – p.11.

  23. Jacobian Addition Going back to the genus 2 curve, with two divisors Q 2 ( P 1 + P 2 − 2 ∞ ) and ( Q 1 + Q 2 − 2 ∞ ) . P 2 Q 1 P 1 – p.12.

  24. Jacobian Addition There exists a unique cubic which fits Q 2 these four points. P 2 Q 1 P 1 – p.12.

  25. Jacobian Addition Q 2 The cubic intersects C in two more points. P 2 − R 1 Q 1 P 1 − R 2 – p.12.

  26. Jacobian Addition We reflect these points with the x -axis and obtain: Q 2 ( P 1 + P 2 − 2 ∞ ) + ( Q 1 + Q 2 − 2 ∞ ) = = R 1 + R 2 − 2 ∞ R 2 P 2 − R 1 Q 1 P 1 R 1 − R 2 – p.12.

  27. Curve of Genus 4 Q 4 P 1 Q 2 P 4 Q 3 Q 1 P 3 P 2 – p.13.

  28. Curve of Genus 4 – p.13.

  29. Curve of Genus 4 – p.13.

  30. Curve of Genus 4 – p.13.

  31. Curve of Genus 4 – p.13.

  32. Curve of Genus 4 Q 4 S 4 P 1 Q 2 P 4 S 2 Q 3 S 1 Q 1 S 3 P 3 P 2 – p.13.

  33. Courbe de genre 3 y 2 = x 7 + 1 2 x 6 − 847 144 x 5 − 325 144 x 4 192 x 3 + 403 144 x 2 − 1667 + 1763 576 x + 35 96 – p.14.

  34. Courbe de genre 3 On veut additionner les diviseurs D 1 = P 1 + P 2 + P 3 − 3 ∞ et D 2 = Q 1 + Q 2 + Q 3 − 3 ∞ Q 1 P 1 P 3 Q 2 P 2 Q 3 – p.14.

  35. Courbe de genre 3 La première réduction n’est pas suffisante (on attend pour la réflexion avec l’axe des x ) − R 4 Q 1 P 1 − R 2 P 3 − R 3 Q 2 P 2 Q 3 − R 1 – p.14.

  36. Courbe de genre 3 On obtient: D 1 + D 2 = S 1 + S 2 + S 3 − 3 ∞ − R 4 Q 1 P 1 − R 2 P 3 S 1 S 3 − R 3 Q 2 P 2 S 2 Q 3 − R 1 – p.14.

  37. Ring of Polynomials We consider at the ring of polynomials F q [ x, y ] R = ( y 2 + h ( x ) y − f ( x )) and we look at ideals of this ring. The ideal I = ( p 1 ( x, y ) , p 2 ( x, y )) is the set of all polynomials of the form mod y 2 + h ( x ) y − f ( x ) . r 1 ( x, y ) p 1 ( x, y ) + r 2 ( x, y ) p 2 ( x, y ) p 1 and p 2 are the generators of I . – p.15.

  38. Ideals The ideals of R form an infinite multiplicative group. A principal ideal is an ideal with a single generator, for example ( y − 3 x 2 + 8 x − 4) . The principal ideals of R are a normal subgroup of the ideals of R . The ideal class group is the group: ideals of R principal ideals of R This is a finite multiplicative group. – p.16.

  39. Ideal Classes Each class of ideals contains a unique reduced ideal of the form I = ( u ( x ) , y − v ( x )) with deg( u ) ≤ g , u monic and deg( v ) < deg( u ) . (By construction, u ( x ) divides v ( x ) 2 + h ( x ) v ( x ) − f ( x ) .) For hyperelliptic curves, the ideal class group is isomorphic to the divisor class group ( Jac ( C )( F q ) ). Working with the ideal class group is easier!!! – p.17.

  40. Why HEC? The group order of a curve of genus g over a field of q elements is: | Jac ( C )( F q ) | = q g + O gq g − 1 / 2 � � , so to have the same group order as ECC, we divide the number of bits of the field order by g . Field multiplications are then ∼ g 2 times faster (and use less energy). On the other hand, a group operation takes O ( g 2 ) field operations. At a first glance, the difference should be small. – p.18.

  41. Composition Input: ideals I 1 = ( u 1 ( x ) , y − v 1 ( x )) and I 2 = ( u 2 ( x ) , y − v 2 ( x )) . Output: ideal I C = ( u C ( x ) , y − v C ( x )) (not reduced). – p.19.

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