1
$\begingroup$

How can one generate a 'Generator Point' on an elliptic curve that has an extremely low order.

Take this Elliptic Curve from HTB Cyber Apocalypse 2024. The order of G is 11. How can one replicate this but for different custom curves.

Curve in question:

p = 6811640204116707417092117962115673978365477767365408659433165386030330695774965849821512765233994033921595018695941912899856987893397852151975650548637533
F = GF(p)
E = EllipticCurve(F, [726, 42])
G=E(926644437000604217447316655857202297402572559368538978912888106419470011487878351667380679323664062362524967242819810112524880301882054682462685841995367, 4856802955780604241403155772782614224057462426619061437325274365157616489963087648882578621484232159439344263863246191729458550632500259702851115715803253)

print(G.order()) #### Output is 11
$\endgroup$
2

1 Answer 1

2
$\begingroup$

If one does not get to choose the “custom” elliptic curve, the recipe would look like this:

  1. Find the order $n$ of the “custom” elliptic curve (using Schoof's algorithm or some variant of it);

  2. Hope that $n$ has some small prime factor $\ell$;

  3. If you take a random point $P$ on the curve, $G = [n/\ell] P$ will be of order $\ell$ with high probability (and if it isn't, you can pick a different $P$ and try again).

For the different problem of constructing an elliptic curve with a point of order $\ell$, there are better approaches, however (involving the modular curve $X_1(\ell)$).

$\endgroup$

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