diff options
author | Niels Möller <nisse@lysator.liu.se> | 2014-07-29 15:53:16 +0200 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2014-07-29 15:53:16 +0200 |
commit | 7425b3588456ed1978c8bbcb6bc3c5e22dfd6af3 (patch) | |
tree | eb6d79094627558e0bd8452d1a7cd46edd2ab136 /ecc-internal.h | |
parent | 5b19af35f506a493f6bf284477bce5931b4ba1f4 (diff) | |
download | nettle-7425b3588456ed1978c8bbcb6bc3c5e22dfd6af3.tar.gz |
Implemented ecc_a_to_eh and ecc_mul_a_eh, for curve25519.
Diffstat (limited to 'ecc-internal.h')
-rw-r--r-- | ecc-internal.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ecc-internal.h b/ecc-internal.h index 99f74169..e233b64f 100644 --- a/ecc-internal.h +++ b/ecc-internal.h @@ -72,6 +72,8 @@ up to 5 bits, but I don't think that's worth doubling the storage. */ #define ECC_MUL_A_WBITS 4 +#define ECC_MUL_A_EH_WBITS 0 + /* Reduces from 2*ecc->size to ecc->size. */ /* Required to return a result < 2q. This property is inherited by @@ -238,6 +240,7 @@ sec_modinv (mp_limb_t *vp, mp_limb_t *ap, mp_size_t n, #define ECC_MODINV_ITCH(size) (3*(size)) #define ECC_J_TO_A_ITCH(size) (5*(size)) #define ECC_EH_TO_A_ITCH(size) (5*(size)) +#define ECC_A_TO_EH_ITCH(size) (2*(size)) #define ECC_DUP_JJ_ITCH(size) (5*(size)) #define ECC_DUP_EH_ITCH(size) (5*(size)) #define ECC_ADD_JJA_ITCH(size) (6*(size)) @@ -252,6 +255,12 @@ sec_modinv (mp_limb_t *vp, mp_limb_t *ap, mp_size_t n, #define ECC_MUL_A_ITCH(size) \ (((3 << ECC_MUL_A_WBITS) + 11) * (size)) #endif +#if ECC_MUL_A_EH_WBITS == 0 +#define ECC_MUL_A_EH_ITCH(size) (13*(size)) +#else +#define ECC_MUL_A_EH_ITCH(size) \ + (((3 << ECC_MUL_A_EH_WBITS) + 10) * (size)) +#endif #define ECC_ECDSA_SIGN_ITCH(size) (12*(size)) #define ECC_ECDSA_VERIFY_ITCH(size) \ (6*(size) + ECC_MUL_A_ITCH ((size))) |