diff options
author | Niels Möller <nisse@lysator.liu.se> | 2014-09-23 14:04:25 +0200 |
---|---|---|
committer | Niels Möller <nisse@lysator.liu.se> | 2014-09-23 14:04:25 +0200 |
commit | 8b6cd994fe5a4d88a467fa93ab1596e1b445582a (patch) | |
tree | ac1beb8e28ae7aae35344312f6896777db8af06c /ecc-internal.h | |
parent | bf52911d41f394f69edd3ae8acf8d9d261e16d27 (diff) | |
download | nettle-8b6cd994fe5a4d88a467fa93ab1596e1b445582a.tar.gz |
curve25519: Use powering to compute modp inverses, 5.5 times faster than ecc_mod_inv.
Diffstat (limited to 'ecc-internal.h')
-rw-r--r-- | ecc-internal.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ecc-internal.h b/ecc-internal.h index fe9acfb3..c07fdcfc 100644 --- a/ecc-internal.h +++ b/ecc-internal.h @@ -107,6 +107,7 @@ struct ecc_modulo unsigned short size; unsigned short B_size; unsigned short redc_size; + unsigned short invert_itch; const mp_limb_t *m; /* B^size mod m. Expected to have at least 32 leading zeros @@ -265,7 +266,7 @@ curve25519_eh_to_x (mp_limb_t *xp, const mp_limb_t *p, /* Current scratch needs: */ #define ECC_MOD_INV_ITCH(size) (2*(size)) #define ECC_J_TO_A_ITCH(size) (5*(size)) -#define ECC_EH_TO_A_ITCH(size) (4*(size)) +#define ECC_EH_TO_A_ITCH(size, inv) (2*(size)+(inv)) #define ECC_DUP_JJ_ITCH(size) (5*(size)) #define ECC_DUP_EH_ITCH(size) (5*(size)) #define ECC_ADD_JJA_ITCH(size) (6*(size)) |