From 68d66d12d60a4ce55da97fadaa4f57bf631ddfa1 Mon Sep 17 00:00:00 2001 From: toddouska Date: Fri, 8 Jul 2016 11:57:24 -0700 Subject: [PATCH 1/3] fix ecc timming missing variable --- wolfcrypt/src/ecc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wolfcrypt/src/ecc.c b/wolfcrypt/src/ecc.c index 28bb0239a..56d04c7a7 100644 --- a/wolfcrypt/src/ecc.c +++ b/wolfcrypt/src/ecc.c @@ -1175,7 +1175,7 @@ int wc_ecc_mulmod_ex(mp_int* k, ecc_point *G, ecc_point *R, #endif { ecc_point *tG, *M[3]; - int i, err; + int i, j, err; mp_int mu; mp_digit mp; mp_digit buf; From c7318c8576b9e472f3baa6f0f03ee46b1330982e Mon Sep 17 00:00:00 2001 From: toddouska Date: Fri, 8 Jul 2016 12:01:52 -0700 Subject: [PATCH 2/3] fix fpecc thread local storage size with clang --- wolfcrypt/src/ecc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wolfcrypt/src/ecc.c b/wolfcrypt/src/ecc.c index 56d04c7a7..78d0dba01 100644 --- a/wolfcrypt/src/ecc.c +++ b/wolfcrypt/src/ecc.c @@ -3369,7 +3369,7 @@ int wc_ecc_sig_size(ecc_key* key) /* fixed point ECC cache */ /* number of entries in the cache */ #ifndef FP_ENTRIES - #define FP_ENTRIES 16 + #define FP_ENTRIES 15 #endif /* number of bits in LUT */ From 8da8c87fa4bafb40f38f08102035ba59d4939282 Mon Sep 17 00:00:00 2001 From: toddouska Date: Fri, 8 Jul 2016 12:29:38 -0700 Subject: [PATCH 3/3] don't include comba includes if FP_SIZE is too small for index --- wolfcrypt/src/asm.c | 56 ++++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/wolfcrypt/src/asm.c b/wolfcrypt/src/asm.c index 0f91c8c9f..cf983412e 100644 --- a/wolfcrypt/src/asm.c +++ b/wolfcrypt/src/asm.c @@ -1207,46 +1207,46 @@ __asm__( \ #include "fp_sqr_comba_small_set.i" #endif -#if defined(TFM_SQR3) +#if defined(TFM_SQR3) && FP_SIZE >= 6 #include "fp_sqr_comba_3.i" #endif -#if defined(TFM_SQR4) +#if defined(TFM_SQR4) && FP_SIZE >= 8 #include "fp_sqr_comba_4.i" #endif -#if defined(TFM_SQR6) +#if defined(TFM_SQR6) && FP_SIZE >= 12 #include "fp_sqr_comba_6.i" #endif -#if defined(TFM_SQR7) +#if defined(TFM_SQR7) && FP_SIZE >= 14 #include "fp_sqr_comba_7.i" #endif -#if defined(TFM_SQR8) +#if defined(TFM_SQR8) && FP_SIZE >= 16 #include "fp_sqr_comba_8.i" #endif -#if defined(TFM_SQR9) +#if defined(TFM_SQR9) && FP_SIZE >= 18 #include "fp_sqr_comba_9.i" #endif -#if defined(TFM_SQR12) +#if defined(TFM_SQR12) && FP_SIZE >= 24 #include "fp_sqr_comba_12.i" #endif -#if defined(TFM_SQR17) +#if defined(TFM_SQR17) && FP_SIZE >= 34 #include "fp_sqr_comba_17.i" #endif -#if defined(TFM_SQR20) +#if defined(TFM_SQR20) && FP_SIZE >= 40 #include "fp_sqr_comba_20.i" #endif -#if defined(TFM_SQR24) +#if defined(TFM_SQR24) && FP_SIZE >= 48 #include "fp_sqr_comba_24.i" #endif -#if defined(TFM_SQR28) +#if defined(TFM_SQR28) && FP_SIZE >= 56 #include "fp_sqr_comba_28.i" #endif -#if defined(TFM_SQR32) +#if defined(TFM_SQR32) && FP_SIZE >= 64 #include "fp_sqr_comba_32.i" #endif -#if defined(TFM_SQR48) +#if defined(TFM_SQR48) && FP_SIZE >= 96 #include "fp_sqr_comba_48.i" #endif -#if defined(TFM_SQR64) +#if defined(TFM_SQR64) && FP_SIZE >= 128 #include "fp_sqr_comba_64.i" #endif /* end fp_sqr_comba.c asm */ @@ -1568,46 +1568,46 @@ ____asm__( \ #include "fp_mul_comba_small_set.i" #endif -#if defined(TFM_MUL3) +#if defined(TFM_MUL3) && FP_SIZE >= 6 #include "fp_mul_comba_3.i" #endif -#if defined(TFM_MUL4) +#if defined(TFM_MUL4) && FP_SIZE >= 8 #include "fp_mul_comba_4.i" #endif -#if defined(TFM_MUL6) +#if defined(TFM_MUL6) && FP_SIZE >= 12 #include "fp_mul_comba_6.i" #endif -#if defined(TFM_MUL7) +#if defined(TFM_MUL7) && FP_SIZE >= 14 #include "fp_mul_comba_7.i" #endif -#if defined(TFM_MUL8) +#if defined(TFM_MUL8) && FP_SIZE >= 16 #include "fp_mul_comba_8.i" #endif -#if defined(TFM_MUL9) +#if defined(TFM_MUL9) && FP_SIZE >= 18 #include "fp_mul_comba_9.i" #endif -#if defined(TFM_MUL12) +#if defined(TFM_MUL12) && FP_SIZE >= 24 #include "fp_mul_comba_12.i" #endif -#if defined(TFM_MUL17) +#if defined(TFM_MUL17) && FP_SIZE >= 34 #include "fp_mul_comba_17.i" #endif -#if defined(TFM_MUL20) +#if defined(TFM_MUL20) && FP_SIZE >= 40 #include "fp_mul_comba_20.i" #endif -#if defined(TFM_MUL24) +#if defined(TFM_MUL24) && FP_SIZE >= 48 #include "fp_mul_comba_24.i" #endif -#if defined(TFM_MUL28) +#if defined(TFM_MUL28) && FP_SIZE >= 56 #include "fp_mul_comba_28.i" #endif -#if defined(TFM_MUL32) +#if defined(TFM_MUL32) && FP_SIZE >= 64 #include "fp_mul_comba_32.i" #endif -#if defined(TFM_MUL48) +#if defined(TFM_MUL48) && FP_SIZE >= 96 #include "fp_mul_comba_48.i" #endif -#if defined(TFM_MUL64) +#if defined(TFM_MUL64) && FP_SIZE >= 128 #include "fp_mul_comba_64.i" #endif