ecc: Prepare for future Ed25519 optimization.
authorWerner Koch <wk@gnupg.org>
Mon, 30 Sep 2013 18:32:20 +0000 (20:32 +0200)
committerWerner Koch <wk@gnupg.org>
Mon, 30 Sep 2013 18:45:58 +0000 (20:45 +0200)
commita2618c822e666d4121cba29bee3fd50bf70c9743
tree0200169df3481fc6f0bfc446e3f5e77e7208a5f5
parentc325adb8f5092b80a626bd3bb5e49cf7f3a29fc8
ecc: Prepare for future Ed25519 optimization.

* mpi/ec-ed25519.c: New but empty file.
* mpi/ec-internal.h: New.
* mpi/ec.c: Include ec-internal.h.
(ec_mod): New.
(ec_addm): Use ec_mod.
(ec_mulm): Remove commented code.  Use ec_mod.
(ec_subm): Call simple sub.
(ec_pow2): Use ec_mulm.
(ec_mul2): New.
(dup_point_weierstrass): Use ec_mul2.
(dup_point_twistededwards): Add special case for a == -1.  Use
ec_mul2.
(add_points_weierstrass): Use ec_mul2.
(add_points_twistededwards): Add special case for a == -1.
(_gcry_mpi_ec_curve_point): Ditto.
(ec_p_init): Add hack to test Barrett functions.
* src/ec-context.h (mpi_ec_ctx_s): Add P_BARRETT.

* mpi/mpi-mod.c (_gcry_mpi_mod_barrett): Fix sign problem.

Signed-off-by: Werner Koch <wk@gnupg.org>
mpi/Makefile.am
mpi/ec-ed25519.c [new file with mode: 0644]
mpi/ec-internal.h [new file with mode: 0644]
mpi/ec.c
mpi/mpi-mod.c
src/ec-context.h
src/misc.c