Ma · Mathematics

How to Find the Order of a Point on an Elliptic Curve

Published By the 9to5Science editorial team

At a glance

  1. 1. Identify the group

    The curve’s points form a group, with the point at infinity O as the identity.

  2. 2. Multiply the point

    Compute P, 2P, 3P, and so on using the elliptic-curve addition law.

  3. 3. Find the first identity

    The order is the smallest positive n for which nP equals O.

  4. 4. Use finite-field bounds

    Over a finite field, the order divides the curve’s group size, which can speed up the search.

The order of a point on an elliptic curve is a group-theoretic quantity: it tells you how many times you must add the point to itself to reach the identity. The identity is the point at infinity, usually written OO.

The method depends on the field over which the curve is defined. Over a finite field every point has finite order, so you can search by repeated addition. Over the rationals or reals, a point may have infinite order.

Definition

Let EE be an elliptic curve and let PP be one of its points. The order of PP is the least positive integer nn such that

nP=P+P+⋯+P⏟n copies=O.nP=\underbrace{P+P+\cdots+P}_{n\text{ copies}}=O.

If no such positive integer exists, PP has infinite order. A point with finite order is called a torsion point.

Elliptic-curve addition is not ordinary coordinate-wise addition. It is defined by the curve’s group law, and calculations over a finite field are carried out in that field. For a prime field Fp\mathbb{F}_p, this means reducing coordinates modulo pp; extension fields require their own field arithmetic.

A direct method over a finite field

For a point PP on a curve over a finite field, repeatedly add PP to itself:

  1. Start with PP.
  2. Compute 2P=P+P2P=P+P.
  3. Continue with 3P=2P+P3P=2P+P, 4P=3P+P4P=3P+P, and so on.
  4. Stop at the first multiple equal to OO. Its multiplier is the order.

This search always terminates over a finite field because the curve has finitely many points. In practice, you use efficient scalar multiplication—repeated doubling and addition—rather than adding one copy at a time when the multiplier is large.

Worked example: a point of order 4

Consider the curve over the finite field F5\mathbb{F}_5:

E:y2=x3−xE: y^2=x^3-x

and the point P=(2,1)P=(2,1). It lies on the curve because 12=23−2=6≡1(mod5)1^2=2^3-2=6\equiv1\pmod 5.

For a nonsingular short Weierstrass curve y2=x3+ax+by^2=x^3+ax+b over a field of characteristic other than 2, doubling a point (x,y)(x,y) with y≠0y\ne0 uses the slope

λ=3x2+a2y,x(2P)=λ2−2x,y(2P)=λ(x−x(2P))−y.\lambda=\frac{3x^2+a}{2y},\qquad x(2P)=\lambda^2-2x,\qquad y(2P)=\lambda\bigl(x-x(2P)\bigr)-y.

Here a=−1≡4(mod5)a=-1\equiv4\pmod5. Thus

λ=3(2)2−12(1)=112≡12≡3(mod5),\lambda=\frac{3(2)^2-1}{2(1)}=\frac{11}{2}\equiv\frac{1}{2}\equiv3\pmod5,

because 2⋅3≡1(mod5)2\cdot3\equiv1\pmod5. The doubled coordinates are

x(2P)=32−2(2)=5≡0(mod5),x(2P)=3^2-2(2)=5\equiv0\pmod5, y(2P)=3(2−0)−1=5≡0(mod5).y(2P)=3(2-0)-1=5\equiv0\pmod5.

So 2P=(0,0)2P=(0,0). A point with y=0y=0 is its own inverse on a short Weierstrass curve, so (0,0)+(0,0)=O(0,0)+(0,0)=O. Therefore 4P=O4P=O, while neither PP nor 2P2P is OO. The smallest positive multiplier giving OO is 4, so PP has order 4.

Making the search faster

If the curve is over Fq\mathbb{F}_q, its total number of points, written #E(Fq)\#E(\mathbb{F}_q), is finite. The order of any point divides this group size. Hasse’s bound gives

∣#E(Fq)−(q+1)∣≤2q.\left|\#E(\mathbb{F}_q)-(q+1)\right|\le 2\sqrt q.

If you know the group size M=#E(Fq)M=\#E(\mathbb{F}_q), you can use its prime factors to reduce the work. Start with n=Mn=M. For each prime ℓ\ell dividing nn, test whether (n/ℓ)P=O(n/\ell)P=O. If it is, replace nn by n/ℓn/\ell and test again. When no prime factor can be removed, nn is the order of PP.

This works because the order of PP divides MM, and the tests remove factors that are not needed. The group size must be known correctly; a bound on the group size alone is not a substitute for knowing a multiple of the point’s order.

What changes over the rationals?

For a curve over Q\mathbb{Q}, the field is infinite, but the set of rational points on a particular curve may be finite or infinite. A point need not return to OO. Repeatedly adding a point can suggest that it has infinite order, but failure to reach OO in a finite number of steps does not prove that. Proving finite or infinite order generally uses additional results about rational torsion or the structure of the curve’s rational points.

Common mistakes

  • Stopping at any multiple, rather than the first one: If nP=OnP=O, the order may be a proper divisor of nn. Check smaller candidate multiples.
  • Forgetting the identity: The identity is OO, not the coordinate pair (0,0)(0,0). A point such as (0,0)(0,0) is usually an ordinary point on the curve.
  • Using ordinary real arithmetic over a finite field: Carry out arithmetic in the correct finite field; in Fp\mathbb{F}_p, reduce modulo pp, and interpret division as multiplication by the inverse in that field.
  • Assuming every point has finite order over every field: This is guaranteed over finite fields, but not over Q\mathbb{Q} or R\mathbb{R}.
  • Using the wrong curve equation: The formulas shown apply to a short Weierstrass equation y2=x3+ax+by^2=x^3+ax+b; other curve models have different addition formulas.

For a specific curve and point, the essential calculation is to determine the least positive nn for which scalar multiplication gives nP=OnP=O.

References

  1. The Arithmetic of Elliptic Curves — Joseph H. Silverman
  2. Elliptic Curves — Dale Husemöller

Spotted an error? Send a correction. Read how we write and check articles in our editorial policy.