Fixed issue with ALT_ECC_SIZE and default value for FP_MAX_BITS_ECC so its based on max enabled ECC curve bits.

This commit is contained in:
David Garske
2016-05-06 10:59:32 -07:00
parent 880b2e454b
commit 44b1f98b39

View File

@ -61,6 +61,27 @@ typedef struct {
} ecc_set_type; } ecc_set_type;
/* Determine max ECC bits based on enabled curves */
#if defined(HAVE_ECC521) || defined(HAVE_ALL_CURVES)
#define MAX_ECC_BITS 528
#elif defined(HAVE_ECC384)
#define MAX_ECC_BITS 384
#elif defined(HAVE_ECC224)
#define MAX_ECC_BITS 224
#elif !defined(NO_ECC256)
#define MAX_ECC_BITS 256
#elif defined(HAVE_ECC192)
#define MAX_ECC_BITS 192
#elif defined(HAVE_ECC160)
#define MAX_ECC_BITS 160
#elif defined(HAVE_ECC128)
#define MAX_ECC_BITS 128
#elif defined(HAVE_ECC112)
#define MAX_ECC_BITS 112
#endif
#ifdef ALT_ECC_SIZE #ifdef ALT_ECC_SIZE
/* Note on ALT_ECC_SIZE: /* Note on ALT_ECC_SIZE:
@ -91,12 +112,16 @@ typedef struct {
#endif #endif
#ifndef FP_MAX_BITS_ECC #ifndef FP_MAX_BITS_ECC
#define FP_MAX_BITS_ECC 528 /* This value should be double the max ecc bit size */
#define FP_MAX_BITS_ECC (MAX_ECC_BITS*2)
#endif #endif
#define FP_MAX_SIZE_ECC (FP_MAX_BITS_ECC+(8*DIGIT_BIT)) #define FP_MAX_SIZE_ECC (FP_MAX_BITS_ECC+(8*DIGIT_BIT))
#if FP_MAX_BITS_ECC % CHAR_BIT #if FP_MAX_BITS_ECC % CHAR_BIT
#error FP_MAX_BITS_ECC must be a multiple of CHAR_BIT #error FP_MAX_BITS_ECC must be a multiple of CHAR_BIT
#endif #endif
#define FP_SIZE_ECC (FP_MAX_SIZE_ECC/DIGIT_BIT) #define FP_SIZE_ECC (FP_MAX_SIZE_ECC/DIGIT_BIT)
/* This needs to match the size of the fp_int struct, except the /* This needs to match the size of the fp_int struct, except the