wraithx on Sun, 22 Jan 2017 21:03:39 +0100

 Question on elliptic curve group orders...

• To: pari-users@pari.math.u-bordeaux.fr
• Subject: Question on elliptic curve group orders...
• From: wraithx@morpheus.net
• Date: Sun, 22 Jan 2017 14:03:29 -0600
• Authentication-results: cox.net; none
• Delivery-date: Sun, 22 Jan 2017 21:03:39 +0100
• User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0

```Hello all,

```
I have some code that should work in Sage, but I don't have that installed. I do have pari/gp installed. Can someone help me convert the following code so that I can run it in pari/gp?
```
def FindGroupOrder(p,s):
K = GF(p)
v = K(4*s)
u = K(s^2-5)
x = u^3
b = 4*x*v
a = (v-u)^3*(3*u+v)
A = a/b-2
x = x/v^3
b = x^3 + A*x^2 + x
E = EllipticCurve(K,[0,b*A,0,b^2,0])
return factor(E.cardinality())

def FindGroupOrderA(p,A):
K = GF(p)
d = K((A+2)/4)
a = K(4*d-2)
b = K(16*d+2)
E = EllipticCurve(K,[0,a/b,0,1/b^2,0])
return factor(E.cardinality())

# for parameter sigma = 1:s
def FindGroupOrderParam1(p,s):
return FindGroupOrderA (p, 4*s^2/2^64-2)

# for parameter sigma = 2:s
def FindGroupOrderParam2(p,s):
K = GF(p)
E = EllipticCurve(K,[0,36])
P = s*E(-3,3)
x,y = P.xy()
x3 = (3*x+y+6)/(2*(y-3))
A = -(3*x3^4+6*x3^2-1)/(4*x3^3)
d = K((A+2)/4)
a = K(4*d-2)
b = K(16*d+2)
E = EllipticCurve(K,[0,a/b,0,1/b^2,0])
return factor(E.cardinality())

# for parameter sigma = 3:s
def FindGroupOrderParam3(p,s):
K = GF(p)
d = K(s/2^32)
A = 4*d-2
B = 4*A+10
E = EllipticCurve(K,[0,A/B,0,1/B^2,0])
return factor(E.cardinality())

Thank you for any help anyone can provide.

-David C.

```