3
$\begingroup$

I am playing around with SAGE and elliptic curves. Is there a way to pick a point at random on an elliptic curve with a specific order that I choose?

I use the function random_point(), but the order of the returned point is virtually random. Are there any smart way besides iteratively call random_point() until a point with the desired order is found?

Thanks! :D

$\endgroup$
1
$\begingroup$

You could take a look at the elements within the torsion subgroup of your curve:

E = EllipticCurve([1, 0, 0, -45, 81]);
print [(P, P.order()) for P in E.torsion_subgroup()]

[((0 : 1 : 0), 1), ((0 : 9 : 1), 10), ((6 : 3 : 1), 5), ((-6 : -9 : 1), 10), ((18 : -81 : 1), 5), ((2 : -1 : 1), 2), ((18 : 63 : 1), 5), ((-6 : 15 : 1), 10), ((6 : -9 : 1), 5), ((0 : -9 : 1), 10)]

Then you can try and do something random yourself based upon that perhaps?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.