Ask Your Question

Define elliptic curve over $\mathbb{F}_p(i)$

asked 2023-11-30 02:06:49 +0100

Wizzelgarten gravatar image

updated 2024-02-03 10:27:58 +0100

FrédéricC gravatar image

I am trying to implement the toyexample to SIDH from the paper "Supersingular isogeny key exchange for beginners" by Craig Costello.

Here he defines an elliptic curve with coefficents from $\mathbb{F}_p^2=\mathbb{F}_p(i)$ with $i^2+1=0$, so $i$ is the imaginary unit. Then he defines the elliptic Curve given by $$y^2=x^3+(208i+161)x^2+x$$ and calculated the j-invariant of this curve to be 364i+304.

I've spend some time trying to understand how to implement this in sagemath, but I am unable to get the same j-invariant.

What I did:

1: I defined my field by

k.< i >=GF(431^2, 'i')

As I understand 'i' is just a placeholder and not interpreted as the actual complex unit. In particular k(i)*k(i) calculates to i+424 and not -1, and I think this is a major step that causes my problem

2: I defined my curve with


3: I calculate E1.j_invariant() and I get 54*i+190.

As I said, I think the major problem is that i above is not interpreted as complex unit, but I have no idea how to define my curve in the way considered in the paper and hence get the same result.

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2023-11-30 02:14:23 +0100

A field of order p^2 may have different choices of generators. To force a choice, you can specify the modulus for the field. According to the documentation for GF (type GF? to see it), this is an optional argument with which you can specify "a defining polynomial for the field."

So you can do

sage: k.<i> = GF(431^2, modulus=x^2+1)
sage: i^2
sage: i^2 == -1
sage: E1=EllipticCurve(k,[0,161+208*i,0,1,0])
sage: E1.j_invariant()
364*i + 304
edit flag offensive delete link more


Thank you very much for that fast and understandable answer, I really appreciate this!!

(Unfortunately I do not have enough points to upvote :/ )

Wizzelgarten gravatar imageWizzelgarten ( 2023-11-30 02:18:48 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2023-11-30 02:06:49 +0100

Seen: 40 times

Last updated: Nov 30 '23