Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

How to work with points in GF(p**2) for a prime p

I'm constructing elliptic curves over fields of size $p^{2}$ for some prime $p$, and I want to do arithmetic with points on these curves. I think my question is best asked with an example: Say I put

p=431
k=GF(p**2)
E=EllipticCurve(k,[0,329,0,1,0])
E

Sage will say

Elliptic Curve defined by y^2 = x^3 + 329*x^2 + x over Finite Field in z2 of size 431^2

I understand that z2 in this case is the root of an irreducible polynomial used in the construction of GF(p**2). Say I want to use sage to figure out what $[2] (272z2 + 405 : 167z2 + 52 : 1)$ is. This is what I would type into sage:

2*E(272*z2 + 405, 167*z2 + 52, 1)

But if I do that, I get an error saying that z2 is undefined. I've also gotten the error message

unsupported operand parent(s) for +: '<class 'tuple'>' and 'Integer Ring'

I'm not sure how to get sage to treat z2 as the root of the irreducible polynomial. It seems to think of it as a variable that should have a value assigned to it. Any help would be greatly appreciated.

click to hide/show revision 2
retagged

How to work with points in GF(p**2) for a prime p

I'm constructing elliptic curves over fields of size $p^{2}$ for some prime $p$, and I want to do arithmetic with points on these curves. I think my question is best asked with an example: Say I put

p=431
k=GF(p**2)
E=EllipticCurve(k,[0,329,0,1,0])
E

Sage will say

Elliptic Curve defined by y^2 = x^3 + 329*x^2 + x over Finite Field in z2 of size 431^2

I understand that z2 in this case is the root of an irreducible polynomial used in the construction of GF(p**2). Say I want to use sage to figure out what $[2] (272z2 + 405 : 167z2 + 52 : 1)$ is. This is what I would type into sage:

2*E(272*z2 + 405, 167*z2 + 52, 1)

But if I do that, I get an error saying that z2 is undefined. I've also gotten the error message

unsupported operand parent(s) for +: '<class 'tuple'>' and 'Integer Ring'

I'm not sure how to get sage to treat z2 as the root of the irreducible polynomial. It seems to think of it as a variable that should have a value assigned to it. Any help would be greatly appreciated.