nzmath.elliptic

ECoverFp

The class is for elliptic curves over finite (odd) prime field. It is usually called E/F_p.
The class is a subclass of ECGeneric.

Constructor

ECoverFp(Weierstrass list form, characteristic, index)

characteristic can be odd prime. for characteristic == 2, use ECoverF2.
In general, given EC characteristic specified, you should call EC for your profit.

Methods

point()

Returns a random point on elliptic curve.

Schoof()

computes t such that #E(Fp)=p+1-t, where #E(Fp) stands for the number of points of elliptic curve over Fp. This uses the Schoof's method.

Shanks_Mestre()

computes t such that #E(Fp)=p+1-t, where #E(Fp) stands for the number of points of elliptic curve over over Fp. This uses the Shanks-Mestre method.

naive()

computes t such that #E(Fp)=p+1-t, where #E(Fp) stands for the number of points of elliptic curve over Fp. This uses the Legendre-symbol method.

order(flag=0)

computes #E(Fp). If p<1000, this uses the Legendre method. If 10^4<p<10^30, this uses the Shanks-Mestre method. Otherwise, it uses Schoof's method. If flag=r, this computes #E(Fp^r) .

TatePairing(m, P, Q) [Experimental]

returns <P,Q>_m by using Miller's algorithm.

TatePairing_Extend(m, P, Q) [Experimental]

returns T_m(P,Q):=<P,Q>_m^((ch-1)/m) by using Miller's algorithm.

WeilPairing(m, P, Q) [Experimental]

returns e_m(P,Q) by using Miller's algorithm. suppose divisor class is [0].

BSGS(P) [Experimental]

returns m such that mP=[0].

DLP_BSGS(n, P, Q)

returns m such that Q=mP. P, Q are in the subgroup of order n.

structure() [Experimental]

returns the group structure (n1, n2) of the E(Fp) by using Weil Pairing.


Last-modified: 2006-06-15 (جع) 12:51:11