Add support for Twisted Edwards Curves in ECM for cofactorization
Imported issue: Initially reported by Cyril Bouvier in https://gforge.inria.fr/tracker/?group_id=2065&aid=20967
It may be worth it to replace Montgomery curves by Twisted Edwards
curves in the ECM algorithm used during cofactorization.
Twisted Edwards curves can have the same torsion properties as the
Montgomery curves and should have a faster arithmetic.
Already done (by Laurent Imbert and I):
-
Computing additions chains to replace Lucas chains; encode them with
the bytecode mechanism (make_plan.c, addchain_bc.c, prac_bc.c,
bytecoder.c)
-
Functions for arithmetic (add and dbl) on Twisted Edwards Curves
(ecm.c)
-
Convert a curve in Twisted Edwards curves format with a=-1 and a
rational torsion Z/16Z to a Montgomery curve (ecm.c)
TODO:
-
For all family of Twisted Edwards curves, we want to use, having
a function that, given a parameter, returns a curves
-
More functions to convert from Twisted Edwards curves to
Montgomery curves (both way)
-
Specialize the arithmetic for the Twisted Edwards curves for
curves with a=-1 (better arithmetic, better family of
curves)
-
Add a option to las to use Twisted Edwards curves in default strategy
-
Add tests for the new functionalites