diff --git a/src/headers/tomcrypt_cfg.h b/src/headers/tomcrypt_cfg.h index c341694..ab43978 100644 --- a/src/headers/tomcrypt_cfg.h +++ b/src/headers/tomcrypt_cfg.h @@ -122,6 +122,11 @@ typedef ulong32 __attribute__((__may_alias__)) LTC_FAST_TYPE; #endif #endif +#ifdef ENDIAN_64BITWORD +typedef ulong64 ltc_mp_digit; +#else +typedef ulong32 ltc_mp_digit; +#endif #ifdef LTC_NO_FAST #ifdef LTC_FAST diff --git a/src/headers/tomcrypt_math.h b/src/headers/tomcrypt_math.h index f4f397a..c605283 100644 --- a/src/headers/tomcrypt_math.h +++ b/src/headers/tomcrypt_math.h @@ -80,7 +80,7 @@ typedef struct { @param n The number of the digit to fetch @return The bits_per_digit sized n'th digit of a */ - unsigned long (*get_digit)(void *a, int n); + ltc_mp_digit (*get_digit)(void *a, int n); /** Get the number of digits that represent the number @param a The number to count diff --git a/src/math/gmp_desc.c b/src/math/gmp_desc.c index c6082d2..8709880 100644 --- a/src/math/gmp_desc.c +++ b/src/math/gmp_desc.c @@ -74,7 +74,7 @@ static unsigned long get_int(void *a) return mpz_get_ui(a); } -static unsigned long get_digit(void *a, int n) +static ltc_mp_digit get_digit(void *a, int n) { LTC_ARGCHK(a != NULL); return mpz_getlimbn(a, n); diff --git a/src/math/ltm_desc.c b/src/math/ltm_desc.c index 3c00aaf..5ff8ff8 100644 --- a/src/math/ltm_desc.c +++ b/src/math/ltm_desc.c @@ -100,7 +100,7 @@ static unsigned long get_int(void *a) return mp_get_int(a); } -static unsigned long get_digit(void *a, int n) +static ltc_mp_digit get_digit(void *a, int n) { mp_int *A; LTC_ARGCHK(a != NULL); diff --git a/src/math/tfm_desc.c b/src/math/tfm_desc.c index 693b926..df4c63c 100644 --- a/src/math/tfm_desc.c +++ b/src/math/tfm_desc.c @@ -99,7 +99,7 @@ static unsigned long get_int(void *a) return A->used > 0 ? A->dp[0] : 0; } -static unsigned long get_digit(void *a, int n) +static ltc_mp_digit get_digit(void *a, int n) { fp_int *A; LTC_ARGCHK(a != NULL); diff --git a/src/pk/ecc/ltc_ecc_mulmod.c b/src/pk/ecc/ltc_ecc_mulmod.c index c3e7cc5..a0ca6ce 100644 --- a/src/pk/ecc/ltc_ecc_mulmod.c +++ b/src/pk/ecc/ltc_ecc_mulmod.c @@ -41,7 +41,7 @@ int ltc_ecc_mulmod(void *k, ecc_point *G, ecc_point *R, void *modulus, int map) ecc_point *tG, *M[8]; int i, j, err; void *mu, *mp; - unsigned long buf; + ltc_mp_digit buf; int first, bitbuf, bitcpy, bitcnt, mode, digidx; LTC_ARGCHK(k != NULL); diff --git a/src/pk/ecc/ltc_ecc_mulmod_timing.c b/src/pk/ecc/ltc_ecc_mulmod_timing.c index 9e819c8..ce4d9a4 100644 --- a/src/pk/ecc/ltc_ecc_mulmod_timing.c +++ b/src/pk/ecc/ltc_ecc_mulmod_timing.c @@ -39,7 +39,7 @@ int ltc_ecc_mulmod(void *k, ecc_point *G, ecc_point *R, void *modulus, int map) ecc_point *tG, *M[3]; int i, j, err; void *mu, *mp; - unsigned long buf; + ltc_mp_digit buf; int bitcnt, mode, digidx; LTC_ARGCHK(k != NULL);