Commit 3fc2a5e7 authored by Niels Möller's avatar Niels Möller

Use struct ecc_curve function pointers.

parent 1b72f61d
2014-09-14 Niels Möller <nisse@lysator.liu.se>
* testsuite/ecc-mul-a-test.c (test_main): Use struct ecc_curve
function pointers.
* testsuite/ecc-mul-g-test.c (test_main): Likewise.
2014-09-09 Niels Möller <nisse@lysator.liu.se> 2014-09-09 Niels Möller <nisse@lysator.liu.se>
* curve25519-mul.c (curve25519_mul): Switch to use Montgomery * curve25519-mul.c (curve25519_mul): Switch to use Montgomery
......
...@@ -25,32 +25,32 @@ test_main (void) ...@@ -25,32 +25,32 @@ test_main (void)
mp_limb_t *p = xalloc_limbs (ecc_size_j (ecc)); mp_limb_t *p = xalloc_limbs (ecc_size_j (ecc));
mp_limb_t *q = xalloc_limbs (ecc_size_j (ecc)); mp_limb_t *q = xalloc_limbs (ecc_size_j (ecc));
mp_limb_t *n = xalloc_limbs (size); mp_limb_t *n = xalloc_limbs (size);
mp_limb_t *scratch = xalloc_limbs (ecc_mul_a_itch (ecc)); mp_limb_t *scratch = xalloc_limbs (ecc->mul_itch);
unsigned j; unsigned j;
mpn_zero (n, size); mpn_zero (n, size);
n[0] = 1; n[0] = 1;
ecc_mul_a (ecc, p, n, ecc->g, scratch); ecc->mul (ecc, p, n, ecc->g, scratch);
ecc_j_to_a (ecc, 0, p, p, scratch); ecc->h_to_a (ecc, 0, p, p, scratch);
if (mpn_cmp (p, ecc->g, 2*size != 0)) if (mpn_cmp (p, ecc->g, 2*size != 0))
die ("curve %d: ecc_mul_a with n = 1 failed.\n", ecc->bit_size); die ("curve %d: ecc->mul with n = 1 failed.\n", ecc->bit_size);
for (n[0] = 2; n[0] <= 4; n[0]++) for (n[0] = 2; n[0] <= 4; n[0]++)
{ {
ecc_mul_a (ecc, p, n, ecc->g, scratch); ecc->mul (ecc, p, n, ecc->g, scratch);
test_ecc_mul_h (i, n[0], p); test_ecc_mul_h (i, n[0], p);
} }
/* (order - 1) * g = - g */ /* (order - 1) * g = - g */
mpn_sub_1 (n, ecc->q, size, 1); mpn_sub_1 (n, ecc->q, size, 1);
ecc_mul_a (ecc, p, n, ecc->g, scratch); ecc->mul (ecc, p, n, ecc->g, scratch);
ecc_j_to_a (ecc, 0, p, p, scratch); ecc->h_to_a (ecc, 0, p, p, scratch);
mpn_sub_n (p + size, ecc->p, p + size, size); mpn_sub_n (p + size, ecc->p, p + size, size);
if (mpn_cmp (p, ecc->g, 2*size) != 0) if (mpn_cmp (p, ecc->g, 2*size) != 0)
{ {
fprintf (stderr, "ecc_mul_a with n = order - 1 failed.\n"); fprintf (stderr, "ecc->mul with n = order - 1 failed.\n");
abort (); abort ();
} }
...@@ -67,16 +67,16 @@ test_main (void) ...@@ -67,16 +67,16 @@ test_main (void)
mpz_limbs_copy (n, r, size); mpz_limbs_copy (n, r, size);
n[size - 1] %= ecc->q[size - 1]; n[size - 1] %= ecc->q[size - 1];
ecc_mul_a (ecc, p, n, ecc->g, scratch); ecc->mul (ecc, p, n, ecc->g, scratch);
ecc_j_to_a (ecc, 0, p, p, scratch); ecc->h_to_a (ecc, 0, p, p, scratch);
ecc_mul_g (ecc, q, n, scratch); ecc->mul_g (ecc, q, n, scratch);
ecc_j_to_a (ecc, 0, q, q, scratch); ecc->h_to_a (ecc, 0, q, q, scratch);
if (mpn_cmp (p, q, 2*size)) if (mpn_cmp (p, q, 2*size))
{ {
gmp_fprintf (stderr, gmp_fprintf (stderr,
"Different results from ecc_mul_a and ecc_mul_g.\n" "Different results from ecc->mul and ecc->mul_g.\n"
" bits = %u\n" " bits = %u\n"
" n = %Nx\n", " n = %Nx\n",
ecc->bit_size, n, size); ecc->bit_size, n, size);
......
...@@ -25,34 +25,34 @@ test_main (void) ...@@ -25,34 +25,34 @@ test_main (void)
mp_limb_t *p = xalloc_limbs (ecc_size_j (ecc)); mp_limb_t *p = xalloc_limbs (ecc_size_j (ecc));
mp_limb_t *q = xalloc_limbs (ecc_size_j (ecc)); mp_limb_t *q = xalloc_limbs (ecc_size_j (ecc));
mp_limb_t *n = xalloc_limbs (size); mp_limb_t *n = xalloc_limbs (size);
mp_limb_t *scratch = xalloc_limbs (ecc_mul_g_itch (ecc)); mp_limb_t *scratch = xalloc_limbs (ecc->mul_g_itch);
mpn_zero (n, size); mpn_zero (n, size);
n[0] = 1; n[0] = 1;
ecc_mul_g (ecc, p, n, scratch); ecc->mul_g (ecc, p, n, scratch);
ecc_j_to_a (ecc, 0, p, p, scratch); ecc->h_to_a (ecc, 0, p, p, scratch);
if (mpn_cmp (p, ecc->g, 2*size != 0)) if (mpn_cmp (p, ecc->g, 2*size != 0))
{ {
fprintf (stderr, "ecc_mul_g with n = 1 failed.\n"); fprintf (stderr, "ecc->mul_g with n = 1 failed.\n");
abort (); abort ();
} }
for (n[0] = 2; n[0] <= 4; n[0]++) for (n[0] = 2; n[0] <= 4; n[0]++)
{ {
ecc_mul_g (ecc, p, n, scratch); ecc->mul_g (ecc, p, n, scratch);
test_ecc_mul_h (i, n[0], p); test_ecc_mul_h (i, n[0], p);
} }
/* (order - 1) * g = - g */ /* (order - 1) * g = - g */
mpn_sub_1 (n, ecc->q, size, 1); mpn_sub_1 (n, ecc->q, size, 1);
ecc_mul_g (ecc, p, n, scratch); ecc->mul_g (ecc, p, n, scratch);
ecc_j_to_a (ecc, 0, p, p, scratch); ecc->h_to_a (ecc, 0, p, p, scratch);
mpn_sub_n (p + size, ecc->p, p + size, size); mpn_sub_n (p + size, ecc->p, p + size, size);
if (mpn_cmp (p, ecc->g, 2*size) != 0) if (mpn_cmp (p, ecc->g, 2*size) != 0)
{ {
fprintf (stderr, "ecc_mul_g with n = order - 1 failed.\n"); fprintf (stderr, "ecc->mul_g with n = order - 1 failed.\n");
abort (); abort ();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment