Commit d4c3e2ee authored by Niels Möller's avatar Niels Möller

Use add_hh rather than add_hhh for ecc_mul_a_eh.

* ecc-mul-a-eh.c (ecc_mul_a_eh) [ECC_MUL_A_EH_WBITS == 0]: Use
add_hh rather than add_hhh.
(table_init) [[ECC_MUL_A_EH_WBITS > 0]: Likewise.
* ecc-internal.h (ECC_MUL_A_EH_ITCH) [ECC_MUL_A_EH_WBITS == 0]:
Reduced from 13*n to 12*n.
parent 923cc6ae
2019-12-19 Niels Möller <nisse@lysator.liu.se>
* ecc-mul-a-eh.c (ecc_mul_a_eh) [ECC_MUL_A_EH_WBITS == 0]: Use
add_hh rather than add_hhh.
(table_init) [[ECC_MUL_A_EH_WBITS > 0]: Likewise.
* ecc-internal.h (ECC_MUL_A_EH_ITCH) [ECC_MUL_A_EH_WBITS == 0]:
Reduced from 13*n to 12*n.
2019-12-18 Niels Möller <nisse@lysator.liu.se> 2019-12-18 Niels Möller <nisse@lysator.liu.se>
Rename add and dup functions for Edwards curves. Rename add and dup functions for Edwards curves.
......
...@@ -445,7 +445,7 @@ curve448_eh_to_x (mp_limb_t *xp, const mp_limb_t *p, ...@@ -445,7 +445,7 @@ curve448_eh_to_x (mp_limb_t *xp, const mp_limb_t *p,
(((3 << ECC_MUL_A_WBITS) + 11) * (size)) (((3 << ECC_MUL_A_WBITS) + 11) * (size))
#endif #endif
#if ECC_MUL_A_EH_WBITS == 0 #if ECC_MUL_A_EH_WBITS == 0
#define ECC_MUL_A_EH_ITCH(size) (13*(size)) #define ECC_MUL_A_EH_ITCH(size) (12*(size))
#else #else
#define ECC_MUL_A_EH_ITCH(size) \ #define ECC_MUL_A_EH_ITCH(size) \
(((3 << ECC_MUL_A_EH_WBITS) + 10) * (size)) (((3 << ECC_MUL_A_EH_WBITS) + 10) * (size))
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
#include "ecc-internal.h" #include "ecc-internal.h"
/* Binary algorithm needs 6*ecc->p.size + scratch for ecc_add_ehh, /* Binary algorithm needs 6*ecc->p.size + scratch for ecc_add_ehh,
total 13 ecc->p.size total 12 ecc->p.size
Window algorithm needs (3<<w) * ecc->p.size for the table, Window algorithm needs (3<<w) * ecc->p.size for the table,
3*ecc->p.size for a temporary point, and scratch for 3*ecc->p.size for a temporary point, and scratch for
...@@ -76,7 +76,7 @@ ecc_mul_a_eh (const struct ecc_curve *ecc, ...@@ -76,7 +76,7 @@ ecc_mul_a_eh (const struct ecc_curve *ecc,
int digit; int digit;
ecc->dup (ecc, r, r, scratch_out); ecc->dup (ecc, r, r, scratch_out);
ecc->add_hhh (ecc, tp, r, pe, scratch_out); ecc->add_hh (ecc, tp, r, pe, scratch_out);
digit = (w & bit) > 0; digit = (w & bit) > 0;
/* If we had a one-bit, use the sum. */ /* If we had a one-bit, use the sum. */
...@@ -108,7 +108,7 @@ table_init (const struct ecc_curve *ecc, ...@@ -108,7 +108,7 @@ table_init (const struct ecc_curve *ecc,
for (j = 2; j < size; j += 2) for (j = 2; j < size; j += 2)
{ {
ecc->dup (ecc, TABLE(j), TABLE(j/2), scratch); ecc->dup (ecc, TABLE(j), TABLE(j/2), scratch);
ecc->add_hhh (ecc, TABLE(j+1), TABLE(j), TABLE(1), scratch); ecc->add_hh (ecc, TABLE(j+1), TABLE(j), TABLE(1), scratch);
} }
} }
......
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