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.

Recommend


More recommend