Schoof's algorithm

Schoof's algorithm

Schoof's algorithm, first described by R. Schoof in 1985, allows one to calculate the number of points on an elliptic curve over a finite field and is used mostly in elliptic curve cryptography.

From Hasse's theorem on elliptic curves the number of point on a curve is roughly known:

:|#E(mathbb{F}_q) - (q+1)| leq 2sqrt{q},

so to find the exact number it is enough to find it modulo R > 4 sqrt{q}. Schoof's algorithm calculates

:q+1 - |E(mathbb{F}_q)| pmod{r_i}

for several small primes r_i, where prod r_i = R, and uses the Chinese remainder theorem to combine the results.

The running time of the original algorithm is proportional to (log q)^8 and with several improvements can be reduced to O((log q)^6), which is adequate for q < 2^{56} on a personal computer.

The algorithm has been extended by Noam Elkies and A. O. L. Atkin to give the Schoof-Elkies-Atkin algorithm, which has only O((log q)^5) time complexity and thus is asymptotically faster.

Implementations

Several algorithms were implemented in C++ by Mike Scott and are available with [ftp://ftp.compapp.dcu.ie/pub/crypto/ source code] . The implementations are free (no terms, no conditions), but they use [http://indigo.ie/~mscott/ MIRACL] library which is only free for non-commercial use. Note that (unmodified) programs may be used to generate curves for commercial use. There are
* Schoof's algorithm [ftp://ftp.compapp.dcu.ie/pub/crypto/schoof.cpp implementation] for E(mathbb{F}_p) with prime p.
* Schoof's algorithm [ftp://ftp.compapp.dcu.ie/pub/crypto/schoof2.cpp implementation] for E(mathbb{F}_{2^m}).

References

* R. Schoof, "Elliptic curves over finite fields and the computation of square roots mod p," Mathematics of Computation, Volume 44, 1985.


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Schoof-Elkies-Atkin algorithm — The Schoof Elkies Atkin algorithm (SEA) is an algorithm used for finding the order of or calculating the number of points on an elliptic curve over a finite field. Its primary application is in elliptic curve cryptography. The algorithm is an… …   Wikipedia

  • Multiplication algorithm — A multiplication algorithm is an algorithm (or method) to multiply two numbers. Depending on the size of the numbers, different algorithms are in use. Efficient multiplication algorithms have existed since the advent of the decimal system.… …   Wikipedia

  • Cipolla's algorithm — In computational number theory, Cipolla s algorithm is a technique for solving a congruence of the form x2 = n, where , so n is the square of x, and where p is an odd prime. Here denotes the finite field with p elements; . Th …   Wikipedia

  • Cornacchia's algorithm — In computational number theory, Cornacchia s algorithm is an algorithm for solving the Diophantine equation x2 + dy2 = m, where and d and m are coprime. The algorithm was described in 1908 by Giuseppe Cornacchia[1]. Contents 1 The algorithm …   Wikipedia

  • Williams' p + 1 algorithm — In computational number theory, Williams p + 1 algorithm is an integer factorization algorithm, one of the family of algebraic group factorisation algorithms. It was invented by Hugh C. Williams in 1982. It works well if the number N to be… …   Wikipedia

  • Counting points on elliptic curves — An important aspect in the study of elliptic curves is devising effective ways of counting points on the curve. There have been several approaches to do so, and the algorithms devised have proved to be useful tools in the study of various fields… …   Wikipedia

  • Division polynomials — In mathematics the division polynomials provide a way to calculate multiples of points on elliptic curves over Finite fields. They play a central role in the study of counting points on elliptic curves in Schoof s algorithm. Contents 1 Definition …   Wikipedia

  • List of mathematics articles (S) — NOTOC S S duality S matrix S plane S transform S unit S.O.S. Mathematics SA subgroup Saccheri quadrilateral Sacks spiral Sacred geometry Saddle node bifurcation Saddle point Saddle surface Sadleirian Professor of Pure Mathematics Safe prime Safe… …   Wikipedia

  • Elliptic curve cryptography — (ECC) is an approach to public key cryptography based on the algebraic structure of elliptic curves over finite fields. The use of elliptic curves in cryptography was suggested independently by Neal Koblitz[1] and Victor S. Miller[2] in 1985.… …   Wikipedia

  • Riemann surface — For the Riemann surface of a subring of a field, see Zariski–Riemann space. Riemann surface for the function ƒ(z) = √z. The two horizontal axes represent the real and imaginary parts of z, while the vertical axis represents the real… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”