summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ecc-internal.h2
-rw-r--r--ecc-mul-a-eh.c6
3 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index f463c5f7..a35dcdda 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+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>
Rename add and dup functions for Edwards curves.
diff --git a/ecc-internal.h b/ecc-internal.h
index 000b812e..99ae3d3d 100644
--- a/ecc-internal.h
+++ b/ecc-internal.h
@@ -445,7 +445,7 @@ curve448_eh_to_x (mp_limb_t *xp, const mp_limb_t *p,
(((3 << ECC_MUL_A_WBITS) + 11) * (size))
#endif
#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
#define ECC_MUL_A_EH_ITCH(size) \
(((3 << ECC_MUL_A_EH_WBITS) + 10) * (size))
diff --git a/ecc-mul-a-eh.c b/ecc-mul-a-eh.c
index e9b22cd4..d7765ebf 100644
--- a/ecc-mul-a-eh.c
+++ b/ecc-mul-a-eh.c
@@ -39,7 +39,7 @@
#include "ecc-internal.h"
/* 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,
3*ecc->p.size for a temporary point, and scratch for
@@ -76,7 +76,7 @@ ecc_mul_a_eh (const struct ecc_curve *ecc,
int digit;
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;
/* If we had a one-bit, use the sum. */
@@ -108,7 +108,7 @@ table_init (const struct ecc_curve *ecc,
for (j = 2; j < size; j += 2)
{
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);
}
}