Processing math: 100%

First time here? Check out the FAQ!

Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

asked 6 years ago

Softy gravatar image

Twists of an Elliptic Curve over a Finite Field (secp256k1)

I would like to calculate the twists of secp256k1 up to isomorphism (find one representative for the quadratic twist, and so on). Therefore I tried the function
E.quadratic_twist(d) and E.sextic_twist(d)
with E = EllipticCurve(GF(115792089237316195423570985008687907853269984665640564039457584007908834671663), [0,0,0,0,7]).
The problem is that I don't understand what the variable d does in this function.
I tried different d and found a quadratic twist with d=3 E:y2=x3+12096=x3+7(12)3 and tested that 12 is square-free in Fq, and two sextic twists with d=3,7: Ed61:y2=x3+7139968 and Ed62:y2=x3+7326592 with 139968 and 326592 square- and cube-free in Fq.

But my method is rather brute-force, since I don't really understand the function, and I am also not sure how many different sextic twists sexp256k1 has (up to isomorphism). I think it is two, but I am not sure.

My next question is, if there is a way to calculate the cubic twist with a similar function?

click to hide/show revision 2
retagged

updated 6 years ago

FrédéricC gravatar image

Twists of an Elliptic Curve over a Finite Field (secp256k1)

I would like to calculate the twists of secp256k1 up to isomorphism (find one representative for the quadratic twist, and so on). Therefore I tried the function
E.quadratic_twist(d) and E.sextic_twist(d)
with E = EllipticCurve(GF(115792089237316195423570985008687907853269984665640564039457584007908834671663), [0,0,0,0,7]).
The problem is that I don't understand what the variable d does in this function.
I tried different d and found a quadratic twist with d=3 E:y2=x3+12096=x3+7(12)3 and tested that 12 is square-free in Fq, and two sextic twists with d=3,7: Ed61:y2=x3+7139968 and Ed62:y2=x3+7326592 with 139968 and 326592 square- and cube-free in Fq.

But my method is rather brute-force, since I don't really understand the function, and I am also not sure how many different sextic twists sexp256k1 has (up to isomorphism). I think it is two, but I am not sure.

My next question is, if there is a way to calculate the cubic twist with a similar function?