[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Functions  for Elliptic Curves over Finite Fields

Functions for Elliptic Curves over Finite Fields

The functions in this subsection are only defined for elliptic curves over a finite field F.

Subsections

Structure operations for Elliptic Curves over Finite Fields

Order(E): CurveEll -> RngIntElt
Returns the order of the group of K-rational points of E, where E is an elliptic curve defined over the finite field K.
Trace(E): CurveEll -> RngIntElt
Returns the trace of E, defined as q + 1 - d where q is the order of the coefficient ring and d is the order of the group of rational points of E.
Random(E): CurveEll -> CurveEllPt
Returns a random rational point on E. Every rational point has a roughly equal chance of being selected, including the zero element.
QuadraticTwist(E) : CurveEll -> CurveEll
QuadraticTwist(E, d) : CurveEll, FldElt -> CurveEll
If the elliptic curve E is defined by the equation y^2 = x^3 + ax + b, the quadratic twist E_b of E is defined by the equation y^2 = x^3 + ad^2 x + bd^3, where d != 0 is any non-square element of the base field. If d is not specified a random non-square element is used.

Example Elcu_Trace (H53E13)

The following code tests the relationship between the traces of an elliptic curve over a finite field and its quadratic twist.

> FF<w> := GF(NextPrime(10^10));
> E := EllipticCurve([ FF | 1, 0, 1, 1, 1]);
> Et := QuadraticTwist(E);
> Trace(E) eq -Trace(Et);
true
> Order(E) eq Characteristic(FF) + 1 - Trace(E);
true

IsProvenSupersingular(E) : CurveEll -> BoolElt
If this function returns true, then E is certainly supersingular. However, the function may return false for a supersingular curve. The algorithm used is non-deterministic, so the results of repeated applications of the test are independent.
IsProbablyOrdinary(E) : CurveEll -> BoolElt
Coverse of IsProvenSupersingular(). If this function returns false, then E is certainly supersingular. However, the function may return true for a supersingular curve. The algorithm used is non-deterministic, so the results of repeated applications of the test are independent.
[Next] [Prev] [Right] [Left] [Up] [Index] [Root]