summaryrefslogtreecommitdiff
path: root/mpi/ec.c
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2007-04-16 15:09:30 +0000
committerWerner Koch <wk@gnupg.org>2007-04-16 15:09:30 +0000
commit591697fc7621e8aa16abb3f60dc297ea9af1048f (patch)
tree76fb0761768c69d50818ff9f88f6aeeb8fb83b33 /mpi/ec.c
parentef72b801762550f0ec1dd483e36ab95fe8f6629e (diff)
downloadlibgcrypt-591697fc7621e8aa16abb3f60dc297ea9af1048f.tar.gz
./
* configure.ac: Check for sysconf. * acinclude.m4 (GNUPG_CHECK_MLOCK): Try to use sysconf to get the page size and use getpagesize only then if available. cipher/ * ecc.c (_gcry_ecc_generate): Renamed DUMMY to CURVE and use it. src/ * secmem.c (init_pool): Use sysconf() if available to determine page size.
Diffstat (limited to 'mpi/ec.c')
-rw-r--r--mpi/ec.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/mpi/ec.c b/mpi/ec.c
index 6addb66f..b76dd520 100644
--- a/mpi/ec.c
+++ b/mpi/ec.c
@@ -613,6 +613,24 @@ _gcry_mpi_ec_mul_point (mpi_point_t *result,
gcry_mpi_t scalar, mpi_point_t *point,
mpi_ec_t ctx)
{
+#if 0
+ /* Simple left to right binary method. GECC Algorithm 3.27 */
+ unsigned int nbits;
+ int i;
+
+ nbits = mpi_get_nbits (scalar);
+ mpi_set_ui (result->x, 1);
+ mpi_set_ui (result->y, 1);
+ mpi_set_ui (result->z, 0);
+
+ for (i=nbits-1; i >= 0; i--)
+ {
+ _gcry_mpi_ec_dup_point (result, result, ctx);
+ if (mpi_test_bit (scalar, i) == 1)
+ _gcry_mpi_ec_add_points (result, result, point, ctx);
+ }
+
+#else
gcry_mpi_t x1, y1, z1, k, h, yy;
unsigned int i, loops;
mpi_point_t p1, p2, p1inv;
@@ -687,4 +705,6 @@ _gcry_mpi_ec_mul_point (mpi_point_t *result,
point_free (&p1inv);
mpi_free (h);
mpi_free (k);
+#endif
}
+