diff --git a/ChangeLog b/ChangeLog index c196335c7ea5d688aa8e09a70478d353ad3c9f09..3b673007258b7ff603876580f7142edca5e63c78 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2014-09-17 Niels Möller <nisse@lysator.liu.se> + * ecdsa-keygen.c (ecdsa_generate_keypair): Use struct ecc_curve + function pointers. + * testsuite/curve25519-dup-test.c: Deleted file. In the way for conversion to Edwards coordiante convention, and in the end the tests will be done by ecc-dup-test.c. diff --git a/ecdsa-keygen.c b/ecdsa-keygen.c index d9f1240583c15d91d82190d0ed1d6995598b1903..d5b55256ca7e77a93b8f05c4aa50d825d813d01b 100644 --- a/ecdsa-keygen.c +++ b/ecdsa-keygen.c @@ -48,13 +48,14 @@ ecdsa_generate_keypair (struct ecc_point *pub, void *random_ctx, nettle_random_func *random) { TMP_DECL(p, mp_limb_t, 3*ECC_MAX_SIZE + ECC_MUL_G_ITCH (ECC_MAX_SIZE)); - mp_size_t itch = 3*pub->ecc->size + ECC_MUL_G_ITCH (pub->ecc->size); + const struct ecc_curve *ecc = pub->ecc; + mp_size_t itch = 3*ecc->size + ecc->mul_g_itch; - assert (key->ecc == pub->ecc); + assert (key->ecc == ecc); TMP_ALLOC (p, itch); - ecc_modq_random (key->ecc, key->p, random_ctx, random, p); - ecc_mul_g (pub->ecc, p, key->p, p + 3*pub->ecc->size); - ecc_j_to_a (pub->ecc, 0, pub->p, p, p + 3*pub->ecc->size); + ecc_modq_random (ecc, key->p, random_ctx, random, p); + ecc->mul_g (ecc, p, key->p, p + 3*ecc->size); + ecc->h_to_a (ecc, 0, pub->p, p, p + 3*ecc->size); }