Satoh's Algorithm: A P-Adic Method For Point Counting: Darcie Milliken
Satoh's Algorithm: A P-Adic Method For Point Counting: Darcie Milliken
Darcie Milliken
Goal
We want use p-adic arithmetic to count #E (Fq ) where q = p N
Goal
We want use p-adic arithmetic to count #E (Fq ) where q = p N
The Plan:
1 Introduction to the p-adic numbers 2 The big idea: the canonical lift 3 Modular Polynomials 4 Isogeny Cycles 5 The Verschiebung 6 Satohs algorithm
Example (p = 3)
= Qp :
m
ai p i ,
mZ
Example (p = 3)
2 3 + 2 32 24 = = 3 + 33 + 2 35 + 37 + 38 + ... 17 2 + 2 3 + 32 We dene distance in the usual way, d(x, y ) = |x y |p , then =
Example
|3 2|3 = 1, and |244 4|3 =
1 3
Picturing Z3
Think of p-adic numbers as innite power series or sequences: Like R, choose a level of precision, M. Then do arithmetic mod p M . Compute the p-adic approximation of the canonical lift of Frobenius, use it to get t mod p M . If p M > 4 q, then t is unique.
Theorem (Deuring)
The canonical lift always exists, and is unique up to isomorphism. Idea: Tr ( ) = Tr () = t, where #E (Fq ) = q + 1 t
Satohs Algorithm: a p-adic method for point counting
Modular Polynomials
The p-th modular polynomial p (X , Y ) Z[X , Y ] Property: p (j(E1 ), j(E2 )) = 0 E1 , E2 are isogenous.
Modular Polynomials
The p-th modular polynomial p (X , Y ) Z[X , Y ] Property: p (j(E1 ), j(E2 )) = 0 E1 , E2 are isogenous.
Example
Using sage, we can nd the 3rd modular polynomial: 3 (j0 , j1 ) = j03 j13 + 2232 j03 j12 + 2232 j02 j13 + j04 1069956 j03 j1 + 2587918086 j02 j12 1069956 j0 j13 + j14 + ... + 1855425871872000000000 j1
An unramied extension Qq \Qp is Galois and its Galois group is generated by an element that reduces to frobenius in the residue eld. is called the Frobenius substitution on Qq .
Isogeny Cycles
For each 0 < i < N, we have a congugate Ei = E , and p,i : Ei Ei+1 (p-powering). q = p,N1 p,N2 p,0 E0
p,0
i
/ E1
p,1
/ EN1 p,N1 / E0
Isogeny Cycles
For each 0 < i < N, we have a congugate Ei = E , and p,i : Ei Ei+1 (p-powering). q = p,N1 p,N2 p,0 E0 Lifting the cycle: E0
p,0 p,0
i
/ E1
p,1
/ EN1 p,N1 / E0
/E 1
p,1
p,N2
/E
p,N1 N1
/E 0
E0
p,0
Example
If p = 7, N = 5, M = 10, dene the eld extension Fpn with t 5 + t + 4. The j-invariant j = 3x 4 + 6x 3 + 2x lifts to J = 249888299x 4 + ... + 169542361x + 26531974 mod 710
Lemma
Tr (q ) = Tr (V )
Lemma
Tr (q ) = Tr (V )
mod q
Satoh: Use the division polynomial p (x) of E over Zq \p M Zq to lift the kernel of V . This kernel is described by a factor H(x) of p (x).
Satoh: Use the division polynomial p (x) of E over Zq \p M Zq to lift the kernel of V . This kernel is described by a factor H(x) of p (x).
Example
See Cohen-Frey, p 428.
The Algorithm(sketch)
1 Let M be minimal satisfying p M > 4 q 2 For each 0 < i < M, compute the canonical lifts of the j-invariants 3 Lift the kernel of V and factor p (x) 4 compute the leading coecient c = lc(V ) 5 compute t = NK /Qp (c) 6 return t Z satisfying t t mod p M where |t| < 2 q
Remarks
Small characteristic p 5 Runtime: O(N 3+ ) Memory: O(N 3 ). Has been improved to O(N 2 ).
References
Cohen, Henri and Gerhard Frey, 2006. Handbook of Elliptic and Hyperelliptic Curve Crytography: Theory and Practice. CRC Press, 808 p. Gouvea, Fernando Q. 2003. p-adic numbers : an introduction. Springer, 302 p. Satoh, Takakazu, 2002. On p-adic Point Counting Algorithms for Elliptic Curves over Finite Fields. Algorithmic number theory, Lecture Notes in Comput. Sci. pp. 43-66. Springer. Vercauteren, Frederik; Preneel, Bart; Vandewalle, Joos, 2001. A memory ecient version of Satohs algorithm. Advances in cryptology: EUROCRYPT 2001 (Innsbruck), 1 - 13, Lecture Notes in Comput. Sci, 2045, Springer, Berlin. Photo Credit: Dr. Katrin Tent, University of Munster, http://wwwmath.uni-muenster.de/u/tent/
Satohs Algorithm: a p-adic method for point counting