smaller class invariants for constructing curves of genus
play

Smaller class invariants for constructing curves of genus 2 Marco - PowerPoint PPT Presentation

Smaller class invariants for constructing curves of genus 2 Marco Streng The 15th workshop on Elliptic Curve Cryptography ECC 2011 INRIA, Nancy, France Sep 19 21, 2011 Overview genus 1 genus 2 constructing curves part 1 part 2 smaller


  1. Smaller class invariants for constructing curves of genus 2 Marco Streng The 15th workshop on Elliptic Curve Cryptography ECC 2011 INRIA, Nancy, France Sep 19 21, 2011

  2. Overview genus 1 genus 2 constructing curves part 1 part 2 smaller class invariants part 3 part 4

  3. Part 1: The Hilbert class polynomial Definition: The j-invariant is 2 8 3 3 b 3 E : y 2 = x 3 + bx + c . j ( E ) = for 2 2 b 3 + 3 3 c 2 ⇒ E ∼ Fact: j ( E ) = j ( F ) ⇐ = k F Definition: Let K be an imaginary quadratic number field. Its Hilbert class polynomial is � � � H K = X − j ( E ) ∈ Z [ X ] . E / C End( E ) ∼ = O K Application 1: roots generate Hilbert class field of K Application 2: elliptic curves of prescribed order

  4. Elliptic curves of prescribed order Algorithm: (given π ∈ O K imag. quadr. with p = ππ prime) 1. Compute H K mod p , it splits into linear factors. 2. Let j 0 ∈ F p be a root and let E 0 / F p have j ( E 0 ) = j 0 . 3. Select the twist E of E 0 with “Frob = π ”. It satisfies # E ( F p ) = N ( π − 1) = p + 1 − tr( π ) . By choosing K and p well, get elliptic curves for cryptography, even for pairing based cryptography.

  5. The size ◮ The Hilbert class polynomial of K = Q ( √− 71) is X 7 + 313645809715 X 6 − 3091990138604570 X 5 + 98394038810047812049302 X 4 − 823534263439730779968091389 X 3 + 5138800366453976780323726329446 X 2 − 425319473946139603274605151187659 X + 737707086760731113357714241006081263 . ◮ Weber (around 1900) replaces this by X 7 + X 6 − X 5 − X 4 − X 3 + X 2 + 2 X − 1 .

  6. Part 2: curves of genus 2 “Definition” (char. � = 2): A curve of genus 2 is y 2 = f ( x ) , deg( f ) ∈ { 5 , 6 } , where f has no double roots.

  7. Igusa invariants Igusa gave a genus-2 analogue of the j -invariant, ◮ i.e., a model for the moduli space of genus-2 curves. ◮ Mestre’s algorithm (available in Magma and soon in Sage) constructs an equation for the curve from its invariants. ◮ Generically, it suffices to use a triple of absolute Igusa invariants i 1 , i 2 , i 3 ∈ Q ( M 2 ). ◮ See my preprint “Computing Igusa class polynomials” arXiv:0903.4766 for the “best” triple.

  8. Complex multiplication Abelian varieties: ◮ An elliptic curve is a 1-dim. ab. var. ◮ The Jacobian of a genus-2 curve is a 2-dim. ab. var. CM-fields: ◮ A CM-field is a field K = K 0 ( √ r ) with K 0 a totally real number field and r ∈ K 0 totally negative. ◮ Let A / C be a g -dim. ab. var. We say that A has CM if O = End( A ) is an order in a CM-field K of degree 2 g . Examples: ◮ g = 1, K 0 = Q , K imaginary quadratic ◮ g = 2, K 0 is real quadratic, K = Q [ X ] / ( X 4 + AX 2 + B )

  9. � CM-types ◮ To every CM abelian variety, we associate a CM type Φ. ◮ To Φ, we associate the reflex field K r and reflex type norm N Φr K r K K r K 0 0 Q ◮ If deg K = 2, then N Φ r : K → K r is an isomorphism, so we don’t talk about it.

  10. Igusa class polynomials Preliminary definition: Let K be a CM field of degree 4. Its Igusa class polynomials are � H i 1 = ( X − i 1 ( C )) ∈ Q [ X ] C � � H i 1 , i n = i n ( C ) ( X − i 1 ( D )) ∈ Q [ X ] ( n ∈ { 2 , 3 } ) D �∼ C = C with products and sums taken over all isom. classes of C / C with CM by O K . Assume: (simplicity only, and true in practice) H i 1 no double roots. i n ( C ) = H i 1 , i n ( i 1 ( C )) Then H i 1 ( i 1 ( C )) = 0 and i 1 ( i 1 ( C )) . H ′

  11. Igusa class polynomials Definition: Let K be a CM field of degree 4. Its Igusa class polynomials are � ( X − i 1 ( C )) ∈ K r H i 1 = 0 [ X ] C � � ( X − i 1 ( D )) ∈ K r H i 1 , i n = i n ( C ) 0 [ X ] ( n ∈ { 2 , 3 } ) D �∼ C = C with products and sums taken over isom. classes of C / C with CM by O K of a given CM-type Φ. Assume: (simplicity only, and true in practice) H i 1 no double roots. i n ( C ) = H i 1 , i n ( i 1 ( C )) Then H i 1 ( i 1 ( C )) = 0 and i 1 ( i 1 ( C )) . H ′

  12. Igusa class polynomials Definition: Let K be a CM field of degree 4. Its Igusa class polynomials are � ( X − i 1 ( C )) ∈ K r H i 1 = 0 [ X ] C � � ( X − i 1 ( D )) ∈ K r H i 1 , i n = i n ( C ) 0 [ X ] ( n ∈ { 2 , 3 } ) D �∼ C = C with products and sums taken over one Gal ( K r / K r ) -orbit of isom. classes of C / C with CM by O K of a given CM-type Φ. Assume: (simplicity only, and true in practice) H i 1 no double roots. i n ( C ) = H i 1 , i n ( i 1 ( C )) Then H i 1 ( i 1 ( C )) = 0 and i 1 ( i 1 ( C )) . H ′

  13. Example √ √ √ � K r = Q ( K = Q ( − 14 + 2 5) , ω = 11 , − 7 + 2 ω ) H i 1 = y 4 − 16906968 y 3 + 54245326531032 y 2 + 6990615303516000 y − 494251688841750000 7 4 H i 1 , i 2 = 1181176456752 y 3 − 6134558308934655456 y 2 − 1236449605135697928000 y + 79084224228190734000000 7 4 H i 1 , i 3 = 1782128620567774368 y 3 − 9232752428041223776093632 y 2 − 1189728258050864079984816000 y + 84118511880173912009148000000

  14. Example √ √ √ � K r = Q ( K = Q ( − 14 + 2 5) , ω = 11 , − 7 + 2 ω ) H i 1 = y 2 + (1250964 ω − 8453484) y + 374134464 ω − 1022492484 7 4 H i 1 , i 2 = ( − 139899783096 ω + 590588228376) y − 45253281038112 ω + 143469827584272 7 4 H i 1 , i 3 = ( − 211915358558075664 ω + 891064310283887184) y − 44591718318414329664 ω + 138345299573665361184

  15. Genus-2 curves with prescribed Frobenius Fix a CM-type Φ and let H ··· be Igusa class polynomials for Φ. Algorithm: (given π ∈ O K quartic CM with p = ππ prime) 1. write ( π ) = N Φ r ( P ) for some P ⊂ O K r 2. compute ( H i 1 mod P ), which splits into linear factors over F p 3. let i 0 1 be a root, let n = H i 1 , i n ( i 0 1 ) i 0 i n ( C 0 ) = i 0 1 ) , and let n ; i 1 ( i 0 H ′ then a twist C of C 0 has “Frob = π ”. It satisfies # J ( C )( F p ) = N ( π − 1) and # C ( F p ) = p + 1 − tr( π ) . Note: with our definitions, any root i 0 1 is ok (instead of only half of them).

  16. Part 3: back to genus 1 Over C , every elliptic curve is C / Λ. By choosing a Z -basis of Λ (and scaling C ), get Λ = τ Z + Z , Im τ > 0. Compute H K numerically as � H K = ( X − j ( τ )) ∈ Z [ X ] τ with CM by O K up to change of basis ◮ j is a function of τ , invariant under all changes of bases. ◮ Weber: get smaller polynomial by replacing j by a “smaller” modular function f . ◮ f is invariant only under some changes of bases, so something needs to be done.

  17. Modular forms Definition: ◮ Let H = { τ ∈ C : Im τ > 0 } . ◮ For any A = ( a b d ) ∈ SL 2 ( Z ), let A τ = a τ + b c τ + d . c ◮ A modular form of weight k and level N is a holomorphic map f : H → C satisfying f ( A τ ) = ( c τ + d ) k f ( τ ) for all A ∈ SL 2 ( Z ) with A ≡ 1 mod N , and a convergence condition at the cusps. n =0 a n q n / N with q = e 2 π i τ . ◮ It has a q-expansion f ( τ ) = � ∞ ∞ Example: η ( z ) = q 1 / 24 � (1 − q n ) for N = 24 , k = 1 / 2 n =1

  18. Modular functions Definition: � g 1 � : g i of level N and of equal weight, with Let F N = q -expansion coefficients in Q ( ζ N ) g 2 ◮ recall g i ( A τ ) = ( c τ + d ) k g i ( τ ) if A ≡ 1 mod N ◮ so f ( A τ ) = f ( τ ) if f ∈ F N and A ≡ 1 mod N Fact: Action of SL 2 ( Z / N Z ) on F N by f A ( τ ) := f ( A τ ) Examples: ◮ F 1 = Q ( j ) η ( z +1 2 ) ◮ Weber used f ( z ) = ζ − 1 ∈ F 48 , where ζ 48 = e 2 π i / 48 . 48 η ( z )

  19. Galois groups of modular functions Actions: ◮ SL 2 ( Z / N Z ) acts on F N by f A ( τ ) := f ( A τ ) ◮ Gal( Q ( ζ N ) / Q ) = ( Z / N Z ) ∗ acts on F N by acting on the q -expansion coefficients: v : ζ N �→ ζ v N ◮ Let ( Z / N Z ) ∗ ⊂ GL 2 ( Z / N Z ) via v �→ ( 1 0 v ). 0 Note: Given A ∈ GL 2 ( Z / N Z ), let v = det( A ). Then A = ( 1 0 v )[( 1 0 v ) − 1 A ]. 0 0 Fact: Gal( F N / F 1 ) = GL 2 ( Z / N Z ) / {± 1 }

  20. Class invariants ◮ Let H 1 = K ( j ( τ )), where Z τ + Z has CM by O K . ◮ H 1 is the Hilbert class field of K . ◮ For f ∈ F N , we call f ( τ ) a class invariant if K ( f ( τ )) = H 1 . Examples: ◮ j ( τ ) ◮ Weber: if disc( K ) ≡ 1 , 17 mod 24, then ∃ τ such that f ( τ ) is a class invariant

  21. � Galois groups of values of modular functions ◮ Let H N = K ( f ( τ ) : f ∈ F N ), where τ Z + Z has CM by O K . ◮ H N is the ray class field of K mod N . ◮ Gal( H N / H 1 ) = ( O K / N O K ) ∗ / O ∗ K . τ F N H N GL 2 ( Z / N Z ) / ± 1 ( O K / N O K ) ∗ / O ∗ K τ � H 1 Q ( j )

  22. � Galois groups of values of modular functions τ F N H N ( O K / N O K ) ∗ / O ∗ GL 2 ( Z / N Z ) / ± 1 K τ � H 1 Q ( j ) Shimura’s reciprocity law: We have f ( τ ) x = f g τ ( x ) ( τ ) for some map g τ : ( O K / N O K ) ∗ → GL 2 ( Z / N Z ) Explicitly: g τ ( x ) is the transpose of the matrix of multiplication by x w.r.t. the Q -basis τ , 1 of K Note: If f is fixed under g τ (( O K / N O K ) ∗ ), then f ( τ ) ∈ H 1 .

  23. The minimal polynomial of a class invariant The full version of Shimura’s reciprocity law also gives the action of G = Gal( H 1 / K ) on f ( τ ) ∈ H 1 . This allows us to ◮ check if f ( τ ) is a class invariant, i.e., K ( f ( τ )) = H 1 (assume this is the case from now on), ◮ compute the minimal polynomial of f ( τ ) over K : � ( X − f ( τ ) x ) ∈ K [ X ] H f = x ∈ G In the CM method, go from f 0 ∈ F p to j 0 ∈ F p using a modular polynomial .

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