fbpx
Wikipedia

Schoof's algorithm

Schoof's algorithm is an efficient algorithm to count points on elliptic curves over finite fields. The algorithm has applications in elliptic curve cryptography where it is important to know the number of points to judge the difficulty of solving the discrete logarithm problem in the group of points on an elliptic curve.

The algorithm was published by René Schoof in 1985 and it was a theoretical breakthrough, as it was the first deterministic polynomial time algorithm for counting points on elliptic curves. Before Schoof's algorithm, approaches to counting points on elliptic curves such as the naive and baby-step giant-step algorithms were, for the most part, tedious and had an exponential running time.

This article explains Schoof's approach, laying emphasis on the mathematical ideas underlying the structure of the algorithm.

Introduction edit

Let   be an elliptic curve defined over the finite field  , where   for   a prime and   an integer  . Over a field of characteristic   an elliptic curve can be given by a (short) Weierstrass equation

 

with  . The set of points defined over   consists of the solutions   satisfying the curve equation and a point at infinity  . Using the group law on elliptic curves restricted to this set one can see that this set   forms an abelian group, with   acting as the zero element. In order to count points on an elliptic curve, we compute the cardinality of  . Schoof's approach to computing the cardinality   makes use of Hasse's theorem on elliptic curves along with the Chinese remainder theorem and division polynomials.

Hasse's theorem edit

Hasse's theorem states that if   is an elliptic curve over the finite field  , then   satisfies

 

This powerful result, given by Hasse in 1934, simplifies our problem by narrowing down   to a finite (albeit large) set of possibilities. Defining   to be  , and making use of this result, we now have that computing the value of   modulo   where  , is sufficient for determining  , and thus  . While there is no efficient way to compute   directly for general  , it is possible to compute   for   a small prime, rather efficiently. We choose   to be a set of distinct primes such that  . Given   for all  , the Chinese remainder theorem allows us to compute  .

In order to compute   for a prime  , we make use of the theory of the Frobenius endomorphism   and division polynomials. Note that considering primes   is no loss since we can always pick a bigger prime to take its place to ensure the product is big enough. In any case Schoof's algorithm is most frequently used in addressing the case   since there are more efficient, so called   adic algorithms for small-characteristic fields.

The Frobenius endomorphism edit

Given the elliptic curve   defined over   we consider points on   over  , the algebraic closure of  ; i.e. we allow points with coordinates in  . The Frobenius endomorphism of   over   extends to the elliptic curve by  .

This map is the identity on   and one can extend it to the point at infinity  , making it a group morphism from   to itself.

The Frobenius endomorphism satisfies a quadratic polynomial which is linked to the cardinality of   by the following theorem:

Theorem: The Frobenius endomorphism given by   satisfies the characteristic equation

  where  

Thus we have for all   that  , where + denotes addition on the elliptic curve and   and   denote scalar multiplication of   by   and of   by  .

One could try to symbolically compute these points  ,   and   as functions in the coordinate ring   of   and then search for a value of   which satisfies the equation. However, the degrees get very large and this approach is impractical.

Schoof's idea was to carry out this computation restricted to points of order   for various small primes  . Fixing an odd prime  , we now move on to solving the problem of determining  , defined as  , for a given prime  . If a point   is in the  -torsion subgroup  , then   where   is the unique integer such that   and  . Note that   and that for any integer   we have  . Thus   will have the same order as  . Thus for   belonging to  , we also have   if  . Hence we have reduced our problem to solving the equation

 

where   and   have integer values in  .

Computation modulo primes edit

The lth division polynomial is such that its roots are precisely the x coordinates of points of order l. Thus, to restrict the computation of   to the l-torsion points means computing these expressions as functions in the coordinate ring of E and modulo the lth division polynomial. I.e. we are working in  . This means in particular that the degree of X and Y defined via   is at most 1 in y and at most   in x.

The scalar multiplication   can be done either by double-and-add methods or by using the  th division polynomial. The latter approach gives:

 

where   is the nth division polynomial. Note that   is a function in x only and denote it by  .

We must split the problem into two cases: the case in which  , and the case in which  . Note that these equalities are checked modulo  .

Case 1:   edit

By using the addition formula for the group   we obtain:

 

Note that this computation fails in case the assumption of inequality was wrong.

We are now able to use the x-coordinate to narrow down the choice of   to two possibilities, namely the positive and negative case. Using the y-coordinate one later determines which of the two cases holds.

We first show that X is a function in x alone. Consider  . Since   is even, by replacing   by  , we rewrite the expression as

 

and have that

 

Here, it seems not right, we throw away  ?

Now if   for one   then   satisfies

 

for all l-torsion points P.

As mentioned earlier, using Y and   we are now able to determine which of the two values of   (  or  ) works. This gives the value of  . Schoof's algorithm stores the values of   in a variable   for each prime l considered.

Case 2:   edit

We begin with the assumption that  . Since l is an odd prime it cannot be that   and thus  . The characteristic equation yields that  . And consequently that  . This implies that q is a square modulo l. Let  . Compute   in   and check whether  . If so,   is   depending on the y-coordinate.

If q turns out not to be a square modulo l or if the equation does not hold for any of w and  , our assumption that   is false, thus  . The characteristic equation gives  .

Additional case   edit

If you recall, our initial considerations omit the case of  . Since we assume q to be odd,   and in particular,   if and only if   has an element of order 2. By definition of addition in the group, any element of order 2 must be of the form  . Thus   if and only if the polynomial   has a root in  , if and only if  .

The algorithm edit

 Input: 1. An elliptic curve  . 2. An integer q for a finite field   with  . Output: The number of points of E over  . Choose a set of odd primes S not containing p such that   Put   if  , else  . Compute the division polynomial  . All computations in the loop below are performed in the ring   For   do: Let   be the unique integer such that   and  . Compute  ,   and  . if   then  Compute  .  for   do:  if   then  if   then    ;  else    . else if q is a square modulo l then  compute w with    compute    if   then     else if   then     else    else    Use the Chinese Remainder Theorem to compute t modulo N from the equations  , where  . Output  . 

Complexity edit

Most of the computation is taken by the evaluation of   and  , for each prime  , that is computing  ,  ,  ,   for each prime  . This involves exponentiation in the ring   and requires   multiplications. Since the degree of   is  , each element in the ring is a polynomial of degree  . By the prime number theorem, there are around   primes of size  , giving that   is   and we obtain that  . Thus each multiplication in the ring   requires   multiplications in   which in turn requires   bit operations. In total, the number of bit operations for each prime   is  . Given that this computation needs to be carried out for each of the   primes, the total complexity of Schoof's algorithm turns out to be  . Using fast polynomial and integer arithmetic reduces this to  .

Improvements to Schoof's algorithm edit

In the 1990s, Noam Elkies, followed by A. O. L. Atkin, devised improvements to Schoof's basic algorithm by restricting the set of primes   considered before to primes of a certain kind. These came to be called Elkies primes and Atkin primes respectively. A prime   is called an Elkies prime if the characteristic equation:   splits over  , while an Atkin prime is a prime that is not an Elkies prime. Atkin showed how to combine information obtained from the Atkin primes with the information obtained from Elkies primes to produce an efficient algorithm, which came to be known as the Schoof–Elkies–Atkin algorithm. The first problem to address is to determine whether a given prime is Elkies or Atkin. In order to do so, we make use of modular polynomials, which come from the study of modular forms and an interpretation of elliptic curves over the complex numbers as lattices. Once we have determined which case we are in, instead of using division polynomials, we are able to work with a polynomial that has lower degree than the corresponding division polynomial:   rather than  . For efficient implementation, probabilistic root-finding algorithms are used, which makes this a Las Vegas algorithm rather than a deterministic algorithm. Under the heuristic assumption that approximately half of the primes up to an   bound are Elkies primes, this yields an algorithm that is more efficient than Schoof's, with an expected running time of   using naive arithmetic, and   using fast arithmetic. Although this heuristic assumption is known to hold for most elliptic curves, it is not known to hold in every case, even under the GRH.

Implementations edit

Several algorithms were implemented in C++ by Mike Scott and are available with source code. The implementations are free (no terms, no conditions), and make use of the library which is distributed under the AGPLv3.

  • Schoof's algorithm implementation for   with prime  .
  • Schoof's algorithm implementation for  .

See also edit

References edit

  • R. Schoof: Elliptic Curves over Finite Fields and the Computation of Square Roots mod p. Math. Comp., 44(170):483–494, 1985. Available at http://www.mat.uniroma2.it/~schoof/ctpts.pdf
  • R. Schoof: Counting Points on Elliptic Curves over Finite Fields. J. Theor. Nombres Bordeaux 7:219–254, 1995. Available at http://www.mat.uniroma2.it/~schoof/ctg.pdf
  • G. Musiker: Schoof's Algorithm for Counting Points on  . Available at http://www.math.umn.edu/~musiker/schoof.pdf
  • V. Müller : Die Berechnung der Punktanzahl von elliptischen kurven über endlichen Primkörpern. Master's Thesis. Universität des Saarlandes, Saarbrücken, 1991. Available at http://lecturer.ukdw.ac.id/vmueller/publications.php
  • A. Enge: Elliptic Curves and their Applications to Cryptography: An Introduction. Kluwer Academic Publishers, Dordrecht, 1999.
  • L. C. Washington: Elliptic Curves: Number Theory and Cryptography. Chapman & Hall/CRC, New York, 2003.
  • N. Koblitz: A Course in Number Theory and Cryptography, Graduate Texts in Math. No. 114, Springer-Verlag, 1987. Second edition, 1994

schoof, algorithm, efficient, algorithm, count, points, elliptic, curves, over, finite, fields, algorithm, applications, elliptic, curve, cryptography, where, important, know, number, points, judge, difficulty, solving, discrete, logarithm, problem, group, poi. Schoof s algorithm is an efficient algorithm to count points on elliptic curves over finite fields The algorithm has applications in elliptic curve cryptography where it is important to know the number of points to judge the difficulty of solving the discrete logarithm problem in the group of points on an elliptic curve The algorithm was published by Rene Schoof in 1985 and it was a theoretical breakthrough as it was the first deterministic polynomial time algorithm for counting points on elliptic curves Before Schoof s algorithm approaches to counting points on elliptic curves such as the naive and baby step giant step algorithms were for the most part tedious and had an exponential running time This article explains Schoof s approach laying emphasis on the mathematical ideas underlying the structure of the algorithm Contents 1 Introduction 2 Hasse s theorem 3 The Frobenius endomorphism 4 Computation modulo primes 4 1 Case 1 UNIQ postMath 00000071 QINU 4 2 Case 2 UNIQ postMath 00000087 QINU 4 3 Additional case UNIQ postMath 00000097 QINU 5 The algorithm 6 Complexity 7 Improvements to Schoof s algorithm 8 Implementations 9 See also 10 ReferencesIntroduction editLet E displaystyle E nbsp be an elliptic curve defined over the finite field F q displaystyle mathbb F q nbsp where q p n displaystyle q p n nbsp for p displaystyle p nbsp a prime and n displaystyle n nbsp an integer 1 displaystyle geq 1 nbsp Over a field of characteristic 2 3 displaystyle neq 2 3 nbsp an elliptic curve can be given by a short Weierstrass equation y 2 x 3 A x B displaystyle y 2 x 3 Ax B nbsp with A B F q displaystyle A B in mathbb F q nbsp The set of points defined over F q displaystyle mathbb F q nbsp consists of the solutions a b F q 2 displaystyle a b in mathbb F q 2 nbsp satisfying the curve equation and a point at infinity O displaystyle O nbsp Using the group law on elliptic curves restricted to this set one can see that this set E F q displaystyle E mathbb F q nbsp forms an abelian group with O displaystyle O nbsp acting as the zero element In order to count points on an elliptic curve we compute the cardinality of E F q displaystyle E mathbb F q nbsp Schoof s approach to computing the cardinality E F q displaystyle E mathbb F q nbsp makes use of Hasse s theorem on elliptic curves along with the Chinese remainder theorem and division polynomials Hasse s theorem editMain article Hasse s theorem on elliptic curves Hasse s theorem states that if E F q displaystyle E mathbb F q nbsp is an elliptic curve over the finite field F q displaystyle mathbb F q nbsp then E F q displaystyle E mathbb F q nbsp satisfies q 1 E F q 2 q displaystyle mid q 1 E mathbb F q mid leq 2 sqrt q nbsp This powerful result given by Hasse in 1934 simplifies our problem by narrowing down E F q displaystyle E mathbb F q nbsp to a finite albeit large set of possibilities Defining t displaystyle t nbsp to be q 1 E F q displaystyle q 1 E mathbb F q nbsp and making use of this result we now have that computing the value of t displaystyle t nbsp modulo N displaystyle N nbsp where N gt 4 q displaystyle N gt 4 sqrt q nbsp is sufficient for determining t displaystyle t nbsp and thus E F q displaystyle E mathbb F q nbsp While there is no efficient way to compute t mod N displaystyle t pmod N nbsp directly for general N displaystyle N nbsp it is possible to compute t mod l displaystyle t pmod l nbsp for l displaystyle l nbsp a small prime rather efficiently We choose S l 1 l 2 l r displaystyle S l 1 l 2 l r nbsp to be a set of distinct primes such that l i N gt 4 q displaystyle prod l i N gt 4 sqrt q nbsp Given t mod l i displaystyle t pmod l i nbsp for all l i S displaystyle l i in S nbsp the Chinese remainder theorem allows us to compute t mod N displaystyle t pmod N nbsp In order to compute t mod l displaystyle t pmod l nbsp for a prime l p displaystyle l neq p nbsp we make use of the theory of the Frobenius endomorphism ϕ displaystyle phi nbsp and division polynomials Note that considering primes l p displaystyle l neq p nbsp is no loss since we can always pick a bigger prime to take its place to ensure the product is big enough In any case Schoof s algorithm is most frequently used in addressing the case q p displaystyle q p nbsp since there are more efficient so called p displaystyle p nbsp adic algorithms for small characteristic fields The Frobenius endomorphism editGiven the elliptic curve E displaystyle E nbsp defined over F q displaystyle mathbb F q nbsp we consider points on E displaystyle E nbsp over F q displaystyle bar mathbb F q nbsp the algebraic closure of F q displaystyle mathbb F q nbsp i e we allow points with coordinates in F q displaystyle bar mathbb F q nbsp The Frobenius endomorphism of F q displaystyle bar mathbb F q nbsp over F q displaystyle mathbb F q nbsp extends to the elliptic curve by ϕ x y x q y q displaystyle phi x y mapsto x q y q nbsp This map is the identity on E F q displaystyle E mathbb F q nbsp and one can extend it to the point at infinity O displaystyle O nbsp making it a group morphism from E F q displaystyle E bar mathbb F q nbsp to itself The Frobenius endomorphism satisfies a quadratic polynomial which is linked to the cardinality of E F q displaystyle E mathbb F q nbsp by the following theorem Theorem The Frobenius endomorphism given by ϕ displaystyle phi nbsp satisfies the characteristic equation ϕ 2 t ϕ q 0 displaystyle phi 2 t phi q 0 nbsp where t q 1 E F q displaystyle t q 1 E mathbb F q nbsp Thus we have for all P x y E displaystyle P x y in E nbsp that x q 2 y q 2 q x y t x q y q displaystyle x q 2 y q 2 q x y t x q y q nbsp where denotes addition on the elliptic curve and q x y displaystyle q x y nbsp and t x q y q displaystyle t x q y q nbsp denote scalar multiplication of x y displaystyle x y nbsp by q displaystyle q nbsp and of x q y q displaystyle x q y q nbsp by t displaystyle t nbsp One could try to symbolically compute these points x q 2 y q 2 displaystyle x q 2 y q 2 nbsp x q y q displaystyle x q y q nbsp and q x y displaystyle q x y nbsp as functions in the coordinate ring F q x y y 2 x 3 A x B displaystyle mathbb F q x y y 2 x 3 Ax B nbsp of E displaystyle E nbsp and then search for a value of t displaystyle t nbsp which satisfies the equation However the degrees get very large and this approach is impractical Schoof s idea was to carry out this computation restricted to points of order l displaystyle l nbsp for various small primes l displaystyle l nbsp Fixing an odd prime l displaystyle l nbsp we now move on to solving the problem of determining t l displaystyle t l nbsp defined as t mod l displaystyle t pmod l nbsp for a given prime l 2 p displaystyle l neq 2 p nbsp If a point x y displaystyle x y nbsp is in the l displaystyle l nbsp torsion subgroup E l P E F q l P O displaystyle E l P in E bar mathbb F q mid lP O nbsp then q P q P displaystyle qP bar q P nbsp where q displaystyle bar q nbsp is the unique integer such that q q mod l displaystyle q equiv bar q pmod l nbsp and q lt l 2 displaystyle mid bar q mid lt l 2 nbsp Note that ϕ O O displaystyle phi O O nbsp and that for any integer r displaystyle r nbsp we have r ϕ P ϕ r P displaystyle r phi P phi rP nbsp Thus ϕ P displaystyle phi P nbsp will have the same order as P displaystyle P nbsp Thus for x y displaystyle x y nbsp belonging to E l displaystyle E l nbsp we also have t x q y q t x q y q displaystyle t x q y q bar t x q y q nbsp if t t mod l displaystyle t equiv bar t pmod l nbsp Hence we have reduced our problem to solving the equation x q 2 y q 2 q x y t x q y q displaystyle x q 2 y q 2 bar q x y equiv bar t x q y q nbsp where t displaystyle bar t nbsp and q displaystyle bar q nbsp have integer values in l 1 2 l 1 2 displaystyle l 1 2 l 1 2 nbsp Computation modulo primes editThe l th division polynomial is such that its roots are precisely the x coordinates of points of order l Thus to restrict the computation of x q 2 y q 2 q x y displaystyle x q 2 y q 2 bar q x y nbsp to the l torsion points means computing these expressions as functions in the coordinate ring of E and modulo the l th division polynomial I e we are working in F q x y y 2 x 3 A x B ps l displaystyle mathbb F q x y y 2 x 3 Ax B psi l nbsp This means in particular that the degree of X and Y defined via X x y Y x y x q 2 y q 2 q x y displaystyle X x y Y x y x q 2 y q 2 bar q x y nbsp is at most 1 in y and at most l 2 3 2 displaystyle l 2 3 2 nbsp in x The scalar multiplication q x y displaystyle bar q x y nbsp can be done either by double and add methods or by using the q displaystyle bar q nbsp th division polynomial The latter approach gives q x y x q y q x ps q 1 ps q 1 ps q 2 ps 2 q 2 ps q 4 displaystyle bar q x y x bar q y bar q left x frac psi bar q 1 psi bar q 1 psi bar q 2 frac psi 2 bar q 2 psi bar q 4 right nbsp where ps n displaystyle psi n nbsp is the n th division polynomial Note that y q y displaystyle y bar q y nbsp is a function in x only and denote it by 8 x displaystyle theta x nbsp We must split the problem into two cases the case in which x q 2 y q 2 q x y displaystyle x q 2 y q 2 neq pm bar q x y nbsp and the case in which x q 2 y q 2 q x y displaystyle x q 2 y q 2 pm bar q x y nbsp Note that these equalities are checked modulo ps l displaystyle psi l nbsp Case 1 x q 2 y q 2 q x y displaystyle x q 2 y q 2 neq pm bar q x y nbsp edit By using the addition formula for the group E F q displaystyle E mathbb F q nbsp we obtain X x y y q 2 y q x q 2 x q 2 x q 2 x q displaystyle X x y left frac y q 2 y bar q x q 2 x bar q right 2 x q 2 x bar q nbsp Note that this computation fails in case the assumption of inequality was wrong We are now able to use the x coordinate to narrow down the choice of t displaystyle bar t nbsp to two possibilities namely the positive and negative case Using the y coordinate one later determines which of the two cases holds We first show that X is a function in x alone Consider y q 2 y q 2 y 2 y q 2 1 y q y 2 displaystyle y q 2 y bar q 2 y 2 y q 2 1 y bar q y 2 nbsp Since q 2 1 displaystyle q 2 1 nbsp is even by replacing y 2 displaystyle y 2 nbsp by x 3 A x B displaystyle x 3 Ax B nbsp we rewrite the expression as x 3 A x B x 3 A x B q 2 1 2 8 x displaystyle x 3 Ax B x 3 Ax B frac q 2 1 2 theta x nbsp and have that X x x 3 A x B x 3 A x B q 2 1 2 8 x mod ps l x displaystyle X x equiv x 3 Ax B x 3 Ax B frac q 2 1 2 theta x bmod psi l x nbsp Here it seems not right we throw away x q 2 x q displaystyle x q 2 x bar q nbsp Now if X x t q mod ps l x displaystyle X equiv x bar t q bmod psi l x nbsp for one t 0 l 1 2 displaystyle bar t in 0 l 1 2 nbsp then t displaystyle bar t nbsp satisfies ϕ 2 P t ϕ P q P O displaystyle phi 2 P mp bar t phi P bar q P O nbsp for all l torsion points P As mentioned earlier using Y and y t q displaystyle y bar t q nbsp we are now able to determine which of the two values of t displaystyle bar t nbsp t displaystyle bar t nbsp or t displaystyle bar t nbsp works This gives the value of t t mod l displaystyle t equiv bar t pmod l nbsp Schoof s algorithm stores the values of t mod l displaystyle bar t pmod l nbsp in a variable t l displaystyle t l nbsp for each prime l considered Case 2 x q 2 y q 2 q x y displaystyle x q 2 y q 2 pm bar q x y nbsp edit We begin with the assumption that x q 2 y q 2 q x y displaystyle x q 2 y q 2 bar q x y nbsp Since l is an odd prime it cannot be that q x y q x y displaystyle bar q x y bar q x y nbsp and thus t 0 displaystyle bar t neq 0 nbsp The characteristic equation yields that t ϕ P 2 q P displaystyle bar t phi P 2 bar q P nbsp And consequently that t 2 q 2 q 2 mod l displaystyle bar t 2 bar q equiv 2q 2 pmod l nbsp This implies that q is a square modulo l Let q w 2 mod l displaystyle q equiv w 2 pmod l nbsp Compute w ϕ x y displaystyle w phi x y nbsp in F q x y y 2 x 3 A x B ps l displaystyle mathbb F q x y y 2 x 3 Ax B psi l nbsp and check whether q x y w ϕ x y displaystyle bar q x y w phi x y nbsp If so t l displaystyle t l nbsp is 2 w mod l displaystyle pm 2w pmod l nbsp depending on the y coordinate If q turns out not to be a square modulo l or if the equation does not hold for any of w and w displaystyle w nbsp our assumption that x q 2 y q 2 q x y displaystyle x q 2 y q 2 bar q x y nbsp is false thus x q 2 y q 2 q x y displaystyle x q 2 y q 2 bar q x y nbsp The characteristic equation gives t l 0 displaystyle t l 0 nbsp Additional case l 2 displaystyle l 2 nbsp edit If you recall our initial considerations omit the case of l 2 displaystyle l 2 nbsp Since we assume q to be odd q 1 t t mod 2 displaystyle q 1 t equiv t pmod 2 nbsp and in particular t 2 0 mod 2 displaystyle t 2 equiv 0 pmod 2 nbsp if and only if E F q displaystyle E mathbb F q nbsp has an element of order 2 By definition of addition in the group any element of order 2 must be of the form x 0 0 displaystyle x 0 0 nbsp Thus t 2 0 mod 2 displaystyle t 2 equiv 0 pmod 2 nbsp if and only if the polynomial x 3 A x B displaystyle x 3 Ax B nbsp has a root in F q displaystyle mathbb F q nbsp if and only if gcd x q x x 3 A x B 1 displaystyle gcd x q x x 3 Ax B neq 1 nbsp The algorithm editInput 1 An elliptic curve E y 2 x 3 A x B displaystyle E y 2 x 3 Ax B nbsp 2 An integer q for a finite field F q displaystyle F q nbsp with q p b b 1 displaystyle q p b b geq 1 nbsp Output The number of points of E over F q displaystyle F q nbsp Choose a set of odd primes S not containing p such that N l S l gt 4 q displaystyle N prod l in S l gt 4 sqrt q nbsp Put t 2 0 displaystyle t 2 0 nbsp if gcd x q x x 3 A x B 1 displaystyle gcd x q x x 3 Ax B neq 1 nbsp else t 2 1 displaystyle t 2 1 nbsp Compute the division polynomial ps l displaystyle psi l nbsp All computations in the loop below are performed in the ring F q x y y 2 x 3 A x B ps l displaystyle mathbb F q x y y 2 x 3 Ax B psi l nbsp For l S displaystyle l in S nbsp do Let q displaystyle bar q nbsp be the unique integer such that q q mod l displaystyle q equiv bar q pmod l nbsp and q lt l 2 displaystyle mid bar q mid lt l 2 nbsp Compute x q y q displaystyle x q y q nbsp x q 2 y q 2 displaystyle x q 2 y q 2 nbsp and x q y q displaystyle x bar q y bar q nbsp if x q 2 x q displaystyle x q 2 neq x bar q nbsp then Compute X Y displaystyle X Y nbsp for 1 t l 1 2 displaystyle 1 leq bar t leq l 1 2 nbsp do if X x t q displaystyle X x bar t q nbsp then if Y y t q displaystyle Y y bar t q nbsp then t l t displaystyle t l bar t nbsp else t l t displaystyle t l bar t nbsp else if q is a square modulo l then compute w with q w 2 mod l displaystyle q equiv w 2 pmod l nbsp compute w x q y q displaystyle w x q y q nbsp if w x q y q x q 2 y q 2 displaystyle w x q y q x q 2 y q 2 nbsp then t l 2 w displaystyle t l 2w nbsp else if w x q y q x q 2 y q 2 displaystyle w x q y q x q 2 y q 2 nbsp then t l 2 w displaystyle t l 2w nbsp else t l 0 displaystyle t l 0 nbsp else t l 0 displaystyle t l 0 nbsp Use the Chinese Remainder Theorem to compute t modulo N from the equations t t l mod l displaystyle t equiv t l pmod l nbsp where l S displaystyle l in S nbsp Output q 1 t displaystyle q 1 t nbsp Complexity editMost of the computation is taken by the evaluation of ϕ P displaystyle phi P nbsp and ϕ 2 P displaystyle phi 2 P nbsp for each prime l displaystyle l nbsp that is computing x q displaystyle x q nbsp y q displaystyle y q nbsp x q 2 displaystyle x q 2 nbsp y q 2 displaystyle y q 2 nbsp for each prime l displaystyle l nbsp This involves exponentiation in the ring R F q x y y 2 x 3 A x B ps l displaystyle R mathbb F q x y y 2 x 3 Ax B psi l nbsp and requires O log q displaystyle O log q nbsp multiplications Since the degree of ps l displaystyle psi l nbsp is l 2 1 2 displaystyle frac l 2 1 2 nbsp each element in the ring is a polynomial of degree O l 2 displaystyle O l 2 nbsp By the prime number theorem there are around O log q displaystyle O log q nbsp primes of size O log q displaystyle O log q nbsp giving that l displaystyle l nbsp is O log q displaystyle O log q nbsp and we obtain that O l 2 O log 2 q displaystyle O l 2 O log 2 q nbsp Thus each multiplication in the ring R displaystyle R nbsp requires O log 4 q displaystyle O log 4 q nbsp multiplications in F q displaystyle mathbb F q nbsp which in turn requires O log 2 q displaystyle O log 2 q nbsp bit operations In total the number of bit operations for each prime l displaystyle l nbsp is O log 7 q displaystyle O log 7 q nbsp Given that this computation needs to be carried out for each of the O log q displaystyle O log q nbsp primes the total complexity of Schoof s algorithm turns out to be O log 8 q displaystyle O log 8 q nbsp Using fast polynomial and integer arithmetic reduces this to O log 5 q displaystyle tilde O log 5 q nbsp Improvements to Schoof s algorithm editMain article Schoof Elkies Atkin algorithm In the 1990s Noam Elkies followed by A O L Atkin devised improvements to Schoof s basic algorithm by restricting the set of primes S l 1 l s displaystyle S l 1 ldots l s nbsp considered before to primes of a certain kind These came to be called Elkies primes and Atkin primes respectively A prime l displaystyle l nbsp is called an Elkies prime if the characteristic equation ϕ 2 t ϕ q 0 displaystyle phi 2 t phi q 0 nbsp splits over F l displaystyle mathbb F l nbsp while an Atkin prime is a prime that is not an Elkies prime Atkin showed how to combine information obtained from the Atkin primes with the information obtained from Elkies primes to produce an efficient algorithm which came to be known as the Schoof Elkies Atkin algorithm The first problem to address is to determine whether a given prime is Elkies or Atkin In order to do so we make use of modular polynomials which come from the study of modular forms and an interpretation of elliptic curves over the complex numbers as lattices Once we have determined which case we are in instead of using division polynomials we are able to work with a polynomial that has lower degree than the corresponding division polynomial O l displaystyle O l nbsp rather than O l 2 displaystyle O l 2 nbsp For efficient implementation probabilistic root finding algorithms are used which makes this a Las Vegas algorithm rather than a deterministic algorithm Under the heuristic assumption that approximately half of the primes up to an O log q displaystyle O log q nbsp bound are Elkies primes this yields an algorithm that is more efficient than Schoof s with an expected running time of O log 6 q displaystyle O log 6 q nbsp using naive arithmetic and O log 4 q displaystyle tilde O log 4 q nbsp using fast arithmetic Although this heuristic assumption is known to hold for most elliptic curves it is not known to hold in every case even under the GRH Implementations editSeveral algorithms were implemented in C by Mike Scott and are available with source code The implementations are free no terms no conditions and make use of the MIRACL library which is distributed under the AGPLv3 Schoof s algorithm implementation for E F p displaystyle E mathbb F p nbsp with prime p displaystyle p nbsp Schoof s algorithm implementation for E F 2 m displaystyle E mathbb F 2 m nbsp See also editElliptic curve cryptography Counting points on elliptic curves Division Polynomials Frobenius endomorphismReferences editR Schoof Elliptic Curves over Finite Fields and the Computation of Square Roots mod p Math Comp 44 170 483 494 1985 Available at http www mat uniroma2 it schoof ctpts pdf R Schoof Counting Points on Elliptic Curves over Finite Fields J Theor Nombres Bordeaux 7 219 254 1995 Available at http www mat uniroma2 it schoof ctg pdf G Musiker Schoof s Algorithm for Counting Points on E F q displaystyle E mathbb F q nbsp Available at http www math umn edu musiker schoof pdf V Muller Die Berechnung der Punktanzahl von elliptischen kurven uber endlichen Primkorpern Master s Thesis Universitat des Saarlandes Saarbrucken 1991 Available at http lecturer ukdw ac id vmueller publications php A Enge Elliptic Curves and their Applications to Cryptography An Introduction Kluwer Academic Publishers Dordrecht 1999 L C Washington Elliptic Curves Number Theory and Cryptography Chapman amp Hall CRC New York 2003 N Koblitz A Course in Number Theory and Cryptography Graduate Texts in Math No 114 Springer Verlag 1987 Second edition 1994 Retrieved from https en wikipedia org w index php title Schoof 27s algorithm amp oldid 931919852, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.