Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Schoof's algorithm

From Wikipedia, the free encyclopedia
Efficient algorithm to count points on elliptic curves

Schoof's algorithm is an efficient algorithm to count points onelliptic curves overfinite fields. The algorithm has applications inelliptic curve cryptography where it is important to know the number of points to judge the difficulty of solving thediscrete logarithm problem in thegroup of points on an elliptic curve.

The algorithm was published byRené Schoof in 1985 and it was a theoretical breakthrough, as it was the first deterministic polynomial time algorithm forcounting points on elliptic curves. Before Schoof's algorithm, approaches to counting points on elliptic curves such as the naive andbaby-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]

LetE{\displaystyle E} be anelliptic curve defined over the finite fieldFq{\displaystyle \mathbb {F} _{q}}, whereq=pn{\displaystyle q=p^{n}} forp{\displaystyle p} a prime andn{\displaystyle n} an integer1{\displaystyle \geq 1}. Over a field of characteristic2,3{\displaystyle \neq 2,3} an elliptic curve can be given by a (short) Weierstrass equation

y2=x3+Ax+B{\displaystyle y^{2}=x^{3}+Ax+B}

withA,BFq{\displaystyle A,B\in \mathbb {F} _{q}}. The set of points defined overFq{\displaystyle \mathbb {F} _{q}} consists of the solutions(a,b)Fq2{\displaystyle (a,b)\in \mathbb {F} _{q}^{2}} satisfying the curve equation and apoint at infinityO{\displaystyle O}. Using thegroup law on elliptic curves restricted to this set one can see that this setE(Fq){\displaystyle E(\mathbb {F} _{q})} forms anabelian group, withO{\displaystyle O} acting as the zero element.In order to count points on an elliptic curve, we compute the cardinality ofE(Fq){\displaystyle E(\mathbb {F} _{q})}.Schoof's approach to computing the cardinality#E(Fq){\displaystyle \#E(\mathbb {F} _{q})} makes use ofHasse's theorem on elliptic curves along with theChinese remainder theorem anddivision polynomials.

Hasse's theorem

[edit]
Main article:Hasse's theorem on elliptic curves

Hasse's theorem states that ifE/Fq{\displaystyle E/\mathbb {F} _{q}} is an elliptic curve over the finite fieldFq{\displaystyle \mathbb {F} _{q}}, then#E(Fq){\displaystyle \#E(\mathbb {F} _{q})} satisfies

q+1#E(Fq)∣≤2q.{\displaystyle \mid q+1-\#E(\mathbb {F} _{q})\mid \leq 2{\sqrt {q}}.}

This powerful result, given by Hasse in 1934, simplifies our problem by narrowing down#E(Fq){\displaystyle \#E(\mathbb {F} _{q})} to a finite (albeit large) set of possibilities. Definingt{\displaystyle t} to beq+1#E(Fq){\displaystyle q+1-\#E(\mathbb {F} _{q})}, and making use of this result, we now have that computing the value oft{\displaystyle t} moduloN{\displaystyle N} whereN>4q{\displaystyle N>4{\sqrt {q}}}, is sufficient for determiningt{\displaystyle t}, and thus#E(Fq){\displaystyle \#E(\mathbb {F} _{q})}. While there is no efficient way to computet(modN){\displaystyle t{\pmod {N}}} directly for generalN{\displaystyle N}, it is possible to computet(modl){\displaystyle t{\pmod {l}}} forl{\displaystyle l} a small prime, rather efficiently. We chooseS={l1,l2,...,lr}{\displaystyle S=\{l_{1},l_{2},...,l_{r}\}} to be a set of distinct primes such thatli=N>4q{\displaystyle \prod l_{i}=N>4{\sqrt {q}}}. Givent(modli){\displaystyle t{\pmod {l_{i}}}} for allliS{\displaystyle l_{i}\in S}, theChinese remainder theorem allows us to computet(modN){\displaystyle t{\pmod {N}}}.

In order to computet(modl){\displaystyle t{\pmod {l}}} for a primelp{\displaystyle l\neq p}, we make use of the theory of the Frobenius endomorphismϕ{\displaystyle \phi } anddivision polynomials. Note that considering primeslp{\displaystyle l\neq p} 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 caseq=p{\displaystyle q=p} since there are more efficient, so calledp{\displaystyle p} adic algorithms for small-characteristic fields.

The Frobenius endomorphism

[edit]

Given the elliptic curveE{\displaystyle E} defined overFq{\displaystyle \mathbb {F} _{q}} we consider points onE{\displaystyle E} overF¯q{\displaystyle {\bar {\mathbb {F} }}_{q}}, thealgebraic closure ofFq{\displaystyle \mathbb {F} _{q}}; i.e. we allow points with coordinates inF¯q{\displaystyle {\bar {\mathbb {F} }}_{q}}. TheFrobenius endomorphism ofF¯q{\displaystyle {\bar {\mathbb {F} }}_{q}} overFq{\displaystyle \mathbb {F} _{q}} extends to the elliptic curve byϕ:(x,y)(xq,yq){\displaystyle \phi :(x,y)\mapsto (x^{q},y^{q})}.

This map is the identity onE(Fq){\displaystyle E(\mathbb {F} _{q})} and one can extend it to the point at infinityO{\displaystyle O}, making it agroup morphism fromE(F¯q){\displaystyle E({\bar {\mathbb {F} }}_{q})} to itself.

The Frobenius endomorphism satisfies a quadratic polynomial which is linked to the cardinality ofE(Fq){\displaystyle E(\mathbb {F} _{q})} by the following theorem:

Theorem: The Frobenius endomorphism given byϕ{\displaystyle \phi } satisfies the characteristic equation

ϕ2tϕ+q=0,{\displaystyle \phi ^{2}-t\phi +q=0,} wheret=q+1#E(Fq){\displaystyle t=q+1-\#E(\mathbb {F} _{q})}

Thus we have for allP=(x,y)E{\displaystyle P=(x,y)\in E} that(xq2,yq2)+q(x,y)=t(xq,yq){\displaystyle (x^{q^{2}},y^{q^{2}})+q(x,y)=t(x^{q},y^{q})}, where + denotes addition on the elliptic curve andq(x,y){\displaystyle q(x,y)} andt(xq,yq){\displaystyle t(x^{q},y^{q})}denote scalar multiplication of(x,y){\displaystyle (x,y)} byq{\displaystyle q} and of(xq,yq){\displaystyle (x^{q},y^{q})} byt{\displaystyle t}.

One could try to symbolically compute these points(xq2,yq2){\displaystyle (x^{q^{2}},y^{q^{2}})},(xq,yq){\displaystyle (x^{q},y^{q})} andq(x,y){\displaystyle q(x,y)} as functions in thecoordinate ringFq[x,y]/(y2x3AxB){\displaystyle \mathbb {F} _{q}[x,y]/(y^{2}-x^{3}-Ax-B)} ofE{\displaystyle E}and then search for a value oft{\displaystyle t} 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 orderl{\displaystyle l} for various small primesl{\displaystyle l}.Fixing an odd primel{\displaystyle l}, we now move on to solving the problem of determiningtl{\displaystyle t_{l}}, defined ast(modl){\displaystyle t{\pmod {l}}}, for a given primel2,p{\displaystyle l\neq 2,p}. If a point(x,y){\displaystyle (x,y)} is in thel{\displaystyle l}-torsion subgroupE[l]={PE(Fq¯)lP=O}{\displaystyle E[l]=\{P\in E({\bar {\mathbb {F} _{q}}})\mid lP=O\}}, thenqP=q¯P{\displaystyle qP={\bar {q}}P} whereq¯{\displaystyle {\bar {q}}} is the unique integer such thatqq¯(modl){\displaystyle q\equiv {\bar {q}}{\pmod {l}}} andq¯∣<l/2{\displaystyle \mid {\bar {q}}\mid <l/2}. Note thatϕ(O)=O{\displaystyle \phi (O)=O} and that for any integerr{\displaystyle r} we haverϕ(P)=ϕ(rP){\displaystyle r\phi (P)=\phi (rP)}. Thusϕ(P){\displaystyle \phi (P)} will have the same order asP{\displaystyle P}. Thus for(x,y){\displaystyle (x,y)} belonging toE[l]{\displaystyle E[l]}, we also havet(xq,yq)=t¯(xq,yq){\displaystyle t(x^{q},y^{q})={\bar {t}}(x^{q},y^{q})} iftt¯(modl){\displaystyle t\equiv {\bar {t}}{\pmod {l}}}. Hence we have reduced our problem to solving the equation

(xq2,yq2)+q¯(x,y)t¯(xq,yq),{\displaystyle (x^{q^{2}},y^{q^{2}})+{\bar {q}}(x,y)\equiv {\bar {t}}(x^{q},y^{q}),}

wheret¯{\displaystyle {\bar {t}}} andq¯{\displaystyle {\bar {q}}} have integer values in[(l1)/2,(l1)/2]{\displaystyle [-(l-1)/2,(l-1)/2]}.

Computation modulo primes

[edit]

Thelthdivision polynomial is such that its roots are precisely thex coordinates of points of orderl. Thus, to restrict the computation of(xq2,yq2)+q¯(x,y){\displaystyle (x^{q^{2}},y^{q^{2}})+{\bar {q}}(x,y)} to thel-torsion points means computing these expressions as functions in the coordinate ring ofEand modulo thelth division polynomial. I.e. we are working inFq[x,y]/(y2x3AxB,ψl){\displaystyle \mathbb {F} _{q}[x,y]/(y^{2}-x^{3}-Ax-B,\psi _{l})}. This means in particular that the degree ofX andY defined via(X(x,y),Y(x,y)):=(xq2,yq2)+q¯(x,y){\displaystyle (X(x,y),Y(x,y)):=(x^{q^{2}},y^{q^{2}})+{\bar {q}}(x,y)} is at most 1 iny and at most(l23)/2{\displaystyle (l^{2}-3)/2}inx.

The scalar multiplicationq¯(x,y){\displaystyle {\bar {q}}(x,y)} can be done either bydouble-and-add methods or by using theq¯{\displaystyle {\bar {q}}}th division polynomial. The latter approach gives:

q¯(x,y)=(xq¯,yq¯)=(xψq¯1ψq¯+1ψq¯2,ψ2q¯2ψ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)}

whereψn{\displaystyle \psi _{n}} is thenth division polynomial. Note thatyq¯/y{\displaystyle y_{\bar {q}}/y} is a function inx only and denote it byθ(x){\displaystyle \theta (x)}.

We must split the problem into two cases: the case in which(xq2,yq2)±q¯(x,y){\displaystyle (x^{q^{2}},y^{q^{2}})\neq \pm {\bar {q}}(x,y)}, and the case in which(xq2,yq2)=±q¯(x,y){\displaystyle (x^{q^{2}},y^{q^{2}})=\pm {\bar {q}}(x,y)}. Note that these equalities are checked moduloψl{\displaystyle \psi _{l}}.

Case 1:(xq2,yq2)±q¯(x,y){\displaystyle (x^{q^{2}},y^{q^{2}})\neq \pm {\bar {q}}(x,y)}

[edit]

By using theaddition formula for the groupE(Fq){\displaystyle E(\mathbb {F} _{q})} we obtain:

X(x,y)=(yq2yq¯xq2xq¯)2xq2xq¯.{\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}}.}

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

We are now able to use thex-coordinate to narrow down the choice oft¯{\displaystyle {\bar {t}}} to two possibilities, namely the positive and negative case. Using they-coordinate one later determines which of the two cases holds.

We first show thatX is a function inx alone. Consider(yq2yq¯)2=y2(yq21yq¯/y)2{\displaystyle (y^{q^{2}}-y_{\bar {q}})^{2}=y^{2}(y^{q^{2}-1}-y_{\bar {q}}/y)^{2}}.Sinceq21{\displaystyle q^{2}-1} is even, by replacingy2{\displaystyle y^{2}} byx3+Ax+B{\displaystyle x^{3}+Ax+B}, we rewrite the expression as

(x3+Ax+B)((x3+Ax+B)q212θ(x)){\displaystyle (x^{3}+Ax+B)((x^{3}+Ax+B)^{\frac {q^{2}-1}{2}}-\theta (x))}

and have that

X(x)(x3+Ax+B)((x3+Ax+B)q212θ(x))modψ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).}

Here, it seems not right, we throw awayxq2xq¯{\displaystyle x^{q^{2}}-x_{\bar {q}}}?

Now ifXxt¯qmodψl(x){\displaystyle X\equiv x_{\bar {t}}^{q}{\bmod {\psi }}_{l}(x)} for onet¯[0,(l1)/2]{\displaystyle {\bar {t}}\in [0,(l-1)/2]} thent¯{\displaystyle {\bar {t}}} satisfies

ϕ2(P)t¯ϕ(P)+q¯P=O{\displaystyle \phi ^{2}(P)\mp {\bar {t}}\phi (P)+{\bar {q}}P=O}

for alll-torsion pointsP.

As mentioned earlier, usingY andyt¯q{\displaystyle y_{\bar {t}}^{q}} we are now able to determine which of the two values oft¯{\displaystyle {\bar {t}}} (t¯{\displaystyle {\bar {t}}} ort¯{\displaystyle -{\bar {t}}}) works. This gives the value oftt¯(modl){\displaystyle t\equiv {\bar {t}}{\pmod {l}}}. Schoof's algorithm stores the values oft¯(modl){\displaystyle {\bar {t}}{\pmod {l}}} in a variabletl{\displaystyle t_{l}} for each primel considered.

Case 2:(xq2,yq2)=±q¯(x,y){\displaystyle (x^{q^{2}},y^{q^{2}})=\pm {\bar {q}}(x,y)}

[edit]

We begin with the assumption that(xq2,yq2)=q¯(x,y){\displaystyle (x^{q^{2}},y^{q^{2}})={\bar {q}}(x,y)}. Sincel is an odd prime it cannot be thatq¯(x,y)=q¯(x,y){\displaystyle {\bar {q}}(x,y)=-{\bar {q}}(x,y)} and thust¯0{\displaystyle {\bar {t}}\neq 0}. The characteristic equation yields thatt¯ϕ(P)=2q¯P{\displaystyle {\bar {t}}\phi (P)=2{\bar {q}}P}. And consequently thatt¯2q¯(2q)2(modl){\displaystyle {\bar {t}}^{2}{\bar {q}}\equiv (2q)^{2}{\pmod {l}}}. This implies thatq is a square modulol. Letqw2(modl){\displaystyle q\equiv w^{2}{\pmod {l}}}. Computewϕ(x,y){\displaystyle w\phi (x,y)} inFq[x,y]/(y2x3AxB,ψl){\displaystyle \mathbb {F} _{q}[x,y]/(y^{2}-x^{3}-Ax-B,\psi _{l})} and check whetherq¯(x,y)=wϕ(x,y){\displaystyle {\bar {q}}(x,y)=w\phi (x,y)}. If so,tl{\displaystyle t_{l}} is±2w(modl){\displaystyle \pm 2w{\pmod {l}}} depending on the y-coordinate.

Ifq turns out not to be a square modulol or if the equation does not hold for any ofw andw{\displaystyle -w}, our assumption that(xq2,yq2)=+q¯(x,y){\displaystyle (x^{q^{2}},y^{q^{2}})=+{\bar {q}}(x,y)} is false, thus(xq2,yq2)=q¯(x,y){\displaystyle (x^{q^{2}},y^{q^{2}})=-{\bar {q}}(x,y)}. The characteristic equation givestl=0{\displaystyle t_{l}=0}.

Additional casel=2{\displaystyle l=2}

[edit]

If you recall, our initial considerations omit the case ofl=2{\displaystyle l=2}. Since we assumeq to be odd,q+1tt(mod2){\displaystyle q+1-t\equiv t{\pmod {2}}} and in particular,t20(mod2){\displaystyle t_{2}\equiv 0{\pmod {2}}} if and only ifE(Fq){\displaystyle E(\mathbb {F} _{q})} has an element of order 2. By definition of addition in the group, any element of order 2 must be of the form(x0,0){\displaystyle (x_{0},0)}. Thust20(mod2){\displaystyle t_{2}\equiv 0{\pmod {2}}} if and only if the polynomialx3+Ax+B{\displaystyle x^{3}+Ax+B} has a root inFq{\displaystyle \mathbb {F} _{q}}, if and only ifgcd(xqx,x3+Ax+B)1{\displaystyle \gcd(x^{q}-x,x^{3}+Ax+B)\neq 1}.

The algorithm

[edit]
    Input:        1. An elliptic curveE=y2x3AxB{\displaystyle E=y^{2}-x^{3}-Ax-B}.        2. An integerq for a finite fieldFq{\displaystyle F_{q}} withq=pb,b1{\displaystyle q=p^{b},b\geq 1}.    Output:        The number of points ofE overFq{\displaystyle F_{q}}.    Choose a set of odd primesS not containingpsuch thatN=lSl>4q.{\displaystyle N=\prod _{l\in S}l>4{\sqrt {q}}.}Putt2=0{\displaystyle t_{2}=0}ifgcd(xqx,x3+Ax+B)1{\displaystyle \gcd(x^{q}-x,x^{3}+Ax+B)\neq 1},elset2=1{\displaystyle t_{2}=1}.Compute the division polynomialψl{\displaystyle \psi _{l}}.     All computations in the loop below are performedin the ringFq[x,y]/(y2x3AxB,ψl).{\displaystyle \mathbb {F} _{q}[x,y]/(y^{2}-x^{3}-Ax-B,\psi _{l}).}ForlS{\displaystyle l\in S}do:Letq¯{\displaystyle {\bar {q}}} be the unique integersuch thatqq¯(modl){\displaystyle q\equiv {\bar {q}}{\pmod {l}}} andq¯∣<l/2{\displaystyle \mid {\bar {q}}\mid <l/2}.Compute(xq,yq){\displaystyle (x^{q},y^{q})},(xq2,yq2){\displaystyle (x^{q^{2}},y^{q^{2}})} and(xq¯,yq¯){\displaystyle (x_{\bar {q}},y_{\bar {q}})}.ifxq2xq¯{\displaystyle x^{q^{2}}\neq x_{\bar {q}}}thenCompute(X,Y){\displaystyle (X,Y)}.for1t¯(l1)/2{\displaystyle 1\leq {\bar {t}}\leq (l-1)/2}do:ifX=xt¯q{\displaystyle X=x_{\bar {t}}^{q}}thenifY=yt¯q{\displaystyle Y=y_{\bar {t}}^{q}}thentl=t¯{\displaystyle t_{l}={\bar {t}}};elsetl=t¯{\displaystyle t_{l}=-{\bar {t}}}.else ifq is a square modulolthencomputew withqw2(modl){\displaystyle q\equiv w^{2}{\pmod {l}}}computew(xq,yq){\displaystyle w(x^{q},y^{q})}ifw(xq,yq)=(xq2,yq2){\displaystyle w(x^{q},y^{q})=(x^{q^{2}},y^{q^{2}})}thentl=2w{\displaystyle t_{l}=2w}else ifw(xq,yq)=(xq2,yq2){\displaystyle w(x^{q},y^{q})=(x^{q^{2}},-y^{q^{2}})}thentl=2w{\displaystyle t_{l}=-2w}elsetl=0{\displaystyle t_{l}=0}elsetl=0{\displaystyle t_{l}=0}    Use theChinese Remainder Theorem to computet moduloN        from the equationsttl(modl){\displaystyle t\equiv t_{l}{\pmod {l}}}, wherelS{\displaystyle l\in S}.    Outputq+1t{\displaystyle q+1-t}.

Complexity

[edit]

Most of the computation is taken by the evaluation ofϕ(P){\displaystyle \phi (P)} andϕ2(P){\displaystyle \phi ^{2}(P)}, for each primel{\displaystyle l}, that is computingxq{\displaystyle x^{q}},yq{\displaystyle y^{q}},xq2{\displaystyle x^{q^{2}}},yq2{\displaystyle y^{q^{2}}} for each primel{\displaystyle l}. This involves exponentiation in the ringR=Fq[x,y]/(y2x3AxB,ψl){\displaystyle R=\mathbb {F} _{q}[x,y]/(y^{2}-x^{3}-Ax-B,\psi _{l})} and requiresO(logq){\displaystyle O(\log q)} multiplications. Since the degree ofψl{\displaystyle \psi _{l}} isl212{\displaystyle {\frac {l^{2}-1}{2}}}, each element in the ring is a polynomial of degreeO(l2){\displaystyle O(l^{2})}. By theprime number theorem, there are aroundO(logq){\displaystyle O(\log q)} primes of sizeO(logq){\displaystyle O(\log q)}, giving thatl{\displaystyle l} isO(logq){\displaystyle O(\log q)} and we obtain thatO(l2)=O(log2q){\displaystyle O(l^{2})=O(\log ^{2}q)}. Thus each multiplication in the ringR{\displaystyle R} requiresO(log4q){\displaystyle O(\log ^{4}q)} multiplications inFq{\displaystyle \mathbb {F} _{q}} which in turn requiresO(log2q){\displaystyle O(\log ^{2}q)} bit operations. In total, the number of bit operations for each primel{\displaystyle l} isO(log7q){\displaystyle O(\log ^{7}q)}. Given that this computation needs to be carried out for each of theO(logq){\displaystyle O(\log q)} primes, the total complexity of Schoof's algorithm turns out to beO(log8q){\displaystyle O(\log ^{8}q)}. Using fast polynomial and integer arithmetic reduces this toO~(log5q){\displaystyle {\tilde {O}}(\log ^{5}q)}.

Improvements to Schoof's algorithm

[edit]
Main article:Schoof–Elkies–Atkin algorithm

In the 1990s,Noam Elkies, followed byA. O. L. Atkin, devised improvements to Schoof's basic algorithm by restricting the set of primesS={l1,,ls}{\displaystyle S=\{l_{1},\ldots ,l_{s}\}} considered before to primes of a certain kind. These came to be called Elkies primes and Atkin primes respectively. A primel{\displaystyle l} is called an Elkies prime if the characteristic equation:ϕ2tϕ+q=0{\displaystyle \phi ^{2}-t\phi +q=0} splits overFl{\displaystyle \mathbb {F} _{l}}, 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 theSchoof–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 ofmodular forms and an interpretation ofelliptic curves over the complex numbers as lattices. Once we have determined which case we are in, instead of usingdivision polynomials, we are able to work with a polynomial that has lower degree than the corresponding division polynomial:O(l){\displaystyle O(l)} rather thanO(l2){\displaystyle O(l^{2})}. For efficient implementation, probabilistic root-finding algorithms are used, which makes this aLas Vegas algorithm rather than a deterministic algorithm.Under the heuristic assumption that approximately half of the primes up to anO(logq){\displaystyle O(\log q)} bound are Elkies primes, this yields an algorithm that is more efficient than Schoof's, with an expected running time ofO(log6q){\displaystyle O(\log ^{6}q)} using naive arithmetic, andO~(log4q){\displaystyle {\tilde {O}}(\log ^{4}q)} 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 theGRH.

Implementations

[edit]

Several algorithms were implemented inC++ by Mike Scott and are available withsource code. The implementations are free (no terms, no conditions), and make use of theMIRACL library which is distributed under theAGPLv3.

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 athttp://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 athttp://www.mat.uniroma2.it/~schoof/ctg.pdf
  • G. Musiker: Schoof's Algorithm for Counting Points onE(Fq){\displaystyle E(\mathbb {F} _{q})}. Available athttp://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 athttp://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
Primality tests
Prime-generating
Integer factorization
Multiplication
Euclideandivision
Discrete logarithm
Greatest common divisor
Modular square root
Other algorithms
  • Italics indicate that algorithm is for numbers of special forms
Rational curves
Elliptic curves
Analytic theory
Arithmetic theory
Applications
Higher genus
Plane curves
Riemann surfaces
Constructions
Structure of curves
Divisors on curves
Moduli
Morphisms
Singularities
Vector bundles
Retrieved from "https://en.wikipedia.org/w/index.php?title=Schoof%27s_algorithm&oldid=1267736670"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp