Merge pull request #6049 from SparkiDev/sp_int_used_size

SP int: make used and size fields unsigned
This commit is contained in:
David Garske
2023-02-03 09:38:40 -08:00
committed by GitHub
15 changed files with 590 additions and 536 deletions

View File

@ -37091,9 +37091,9 @@ static WOLFSSL_BN_ULONG wolfSSL_BN_get_word_1(mp_int *mp) {
return (WOLFSSL_BN_ULONG)mp->dp[0];
#else
WOLFSSL_BN_ULONG ret = 0UL;
int digit_i;
unsigned int digit_i;
for (digit_i = 0; digit_i < mp->used; ++digit_i)
for (digit_i = 0; digit_i < (unsigned int)mp->used; ++digit_i)
ret |= ((WOLFSSL_BN_ULONG)mp->dp[digit_i]) << (DIGIT_BIT * digit_i);
return ret;

View File

@ -49105,7 +49105,8 @@ static int test_X509_REQ(void)
static int test_wolfssl_PKCS7(void)
{
int res = TEST_SKIPPED;
#if defined(OPENSSL_ALL) && defined(HAVE_PKCS7) && !defined(NO_BIO)
#if defined(OPENSSL_ALL) && defined(HAVE_PKCS7) && !defined(NO_BIO) && \
!defined(NO_RSA)
PKCS7* pkcs7;
byte data[FOURK_BUF];
word32 len = sizeof(data);
@ -49717,7 +49718,8 @@ static int test_X509_STORE_No_SSL_CTX(void)
#if defined(OPENSSL_ALL) && !defined(NO_FILESYSTEM) && \
!defined(NO_WOLFSSL_DIR) && defined(HAVE_CRL) && \
(defined(WOLFSSL_CERT_REQ) || defined(WOLFSSL_CERT_EXT)) && \
(defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL))
(defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL)) && \
!defined(NO_RSA)
X509_STORE * store;
X509_STORE_CTX * storeCtx;
@ -49787,7 +49789,8 @@ static int test_X509_LOOKUP_add_dir(void)
#if defined(OPENSSL_ALL) && !defined(NO_FILESYSTEM) && \
!defined(NO_WOLFSSL_DIR) && defined(HAVE_CRL) && \
(defined(WOLFSSL_CERT_REQ) || defined(WOLFSSL_CERT_EXT)) && \
(defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL))
(defined(OPENSSL_EXTRA) || defined(WOLFSSL_WPAS_SMALL)) && \
!defined(NO_RSA)
X509_STORE * store;
X509_STORE_CTX * storeCtx;

View File

@ -35590,7 +35590,7 @@ static int ParseCRL_Extensions(DecodedCRL* dcrl, const byte* buf,
if (ret == 0) {
dcrl->crlNumber = 0;
for (i = 0; i < (*m).used; ++i) {
for (i = 0; i < (int)(*m).used; ++i) {
if (i > (CHAR_BIT *
(int)sizeof(word32) / DIGIT_BIT)) {
break;

View File

@ -5006,7 +5006,7 @@ LBL_B:mp_clear (&b);
#endif /* (WOLFSSL_KEY_GEN && !NO_RSA) || !NO_DH || !NO_DSA */
#ifdef WOLFSSL_KEY_GEN
#if defined(WOLFSSL_KEY_GEN) && (!defined(NO_DH) || !defined(NO_DSA))
static const int USE_BBS = 1;
@ -5077,6 +5077,9 @@ int mp_rand_prime(mp_int* a, int len, WC_RNG* rng, void* heap)
return MP_OKAY;
}
#endif
#if defined(WOLFSSL_KEY_GEN)
/* computes least common multiple as |a*b|/(a, b) */
int mp_lcm (mp_int * a, mp_int * b, mp_int * c)

View File

@ -117,18 +117,18 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -158,12 +158,12 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -17844,18 +17844,18 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -17885,12 +17885,12 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -45041,18 +45041,18 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -45082,12 +45082,12 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -65183,18 +65183,18 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -65224,12 +65224,12 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -86842,18 +86842,18 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -86883,12 +86883,12 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -113037,18 +113037,18 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -113078,12 +113078,12 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -142207,18 +142207,18 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -142248,12 +142248,12 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;

View File

@ -192,18 +192,18 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -233,12 +233,12 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -7085,18 +7085,18 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -7126,12 +7126,12 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -16688,18 +16688,18 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -16729,12 +16729,12 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -22197,18 +22197,18 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -22238,12 +22238,12 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -42788,18 +42788,18 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -42829,12 +42829,12 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -70145,18 +70145,18 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -70186,12 +70186,12 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -114804,18 +114804,18 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -114845,12 +114845,12 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;

View File

@ -117,18 +117,18 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -158,12 +158,12 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -30303,18 +30303,18 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -30344,12 +30344,12 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -83392,18 +83392,18 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -83433,12 +83433,12 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -97804,18 +97804,18 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -97845,12 +97845,12 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -109471,18 +109471,18 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -109512,12 +109512,12 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -120715,18 +120715,18 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -120756,12 +120756,12 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -202497,18 +202497,18 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -202538,12 +202538,12 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;

View File

@ -137,18 +137,18 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 29
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1fffffff;
s = 29U - s;
@ -178,12 +178,12 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 29) {
r[j] &= 0x1fffffff;
@ -4898,18 +4898,18 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 29
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1fffffff;
s = 29U - s;
@ -4939,12 +4939,12 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 29) {
r[j] &= 0x1fffffff;
@ -8203,18 +8203,18 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 28
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xfffffff;
s = 28U - s;
@ -8244,12 +8244,12 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 28) {
r[j] &= 0xfffffff;
@ -12546,18 +12546,18 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 29
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1fffffff;
s = 29U - s;
@ -12587,12 +12587,12 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 29) {
r[j] &= 0x1fffffff;
@ -15719,18 +15719,18 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 26
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x3ffffff;
s = 26U - s;
@ -15760,12 +15760,12 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 26) {
r[j] &= 0x3ffffff;
@ -20440,18 +20440,18 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 29
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1fffffff;
s = 29U - s;
@ -20481,12 +20481,12 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 29) {
r[j] &= 0x1fffffff;
@ -27802,18 +27802,18 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 26
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x3ffffff;
s = 26U - s;
@ -27843,12 +27843,12 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 26) {
r[j] &= 0x3ffffff;
@ -35541,18 +35541,18 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 25
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1ffffff;
s = 25U - s;
@ -35582,12 +35582,12 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 25) {
r[j] &= 0x1ffffff;
@ -44460,18 +44460,18 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 25
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1ffffff;
s = 25U - s;
@ -44501,12 +44501,12 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 25) {
r[j] &= 0x1ffffff;

View File

@ -138,18 +138,18 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 61
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1fffffffffffffffL;
s = 61U - s;
@ -179,12 +179,12 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 61) {
r[j] &= 0x1fffffffffffffffL;
@ -3417,18 +3417,18 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 57
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1ffffffffffffffL;
s = 57U - s;
@ -3458,12 +3458,12 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 57) {
r[j] &= 0x1ffffffffffffffL;
@ -7090,18 +7090,18 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 60
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xfffffffffffffffL;
s = 60U - s;
@ -7131,12 +7131,12 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 60) {
r[j] &= 0xfffffffffffffffL;
@ -10300,18 +10300,18 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 57
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1ffffffffffffffL;
s = 57U - s;
@ -10341,12 +10341,12 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 57) {
r[j] &= 0x1ffffffffffffffL;
@ -14158,18 +14158,18 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 59
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x7ffffffffffffffL;
s = 59U - s;
@ -14199,12 +14199,12 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 59) {
r[j] &= 0x7ffffffffffffffL;
@ -17227,18 +17227,18 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 53
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1fffffffffffffL;
s = 53U - s;
@ -17268,12 +17268,12 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 53) {
r[j] &= 0x1fffffffffffffL;
@ -21479,18 +21479,18 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 52
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xfffffffffffffL;
s = 52U - s;
@ -21520,12 +21520,12 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 52) {
r[j] &= 0xfffffffffffffL;
@ -28360,18 +28360,18 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 55
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x7fffffffffffffL;
s = 55U - s;
@ -28401,12 +28401,12 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 55) {
r[j] &= 0x7fffffffffffffL;
@ -35938,18 +35938,18 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 58
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x3ffffffffffffffL;
s = 58U - s;
@ -35979,12 +35979,12 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 58) {
r[j] &= 0x3ffffffffffffffL;
@ -43925,18 +43925,18 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 57
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0x1ffffffffffffffL;
s = 57U - s;
@ -43966,12 +43966,12 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 57) {
r[j] &= 0x1ffffffffffffffL;

View File

@ -126,18 +126,18 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -167,12 +167,12 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -5929,18 +5929,18 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -5970,12 +5970,12 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -11739,18 +11739,18 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -11780,12 +11780,12 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -17010,18 +17010,18 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -17051,12 +17051,12 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -25723,18 +25723,18 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -25764,12 +25764,12 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -33082,18 +33082,18 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -33123,12 +33123,12 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;
@ -42934,18 +42934,18 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 32
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffff;
s = 32U - s;
@ -42975,12 +42975,12 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 32) {
r[j] &= 0xffffffff;

File diff suppressed because it is too large Load Diff

View File

@ -115,18 +115,18 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -156,12 +156,12 @@ static void sp_2048_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -3078,18 +3078,18 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -3119,12 +3119,12 @@ static void sp_3072_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -5976,18 +5976,18 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -6017,12 +6017,12 @@ static void sp_4096_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -8183,18 +8183,18 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -8224,12 +8224,12 @@ static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -27324,18 +27324,18 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -27365,12 +27365,12 @@ static void sp_384_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -52272,18 +52272,18 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -52313,12 +52313,12 @@ static void sp_521_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;
@ -93587,18 +93587,18 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
for (i = 0; i < size; i++) {
sp_digit mask =
(((sp_digit)(a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
(((sp_digit)((int)a->used - i - 1)) >> (SP_WORD_SIZE - 1)) - 1;
r[i] = a->dp[j] & mask;
j += (int)(((sp_digit)1) -
(((sp_digit)(a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
(((sp_digit)((int)a->used - i - 2)) >> (SP_WORD_SIZE - 1)));
}
#elif DIGIT_BIT > 64
int i;
unsigned int i;
int j = 0;
word32 s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i] << s);
r[j] &= 0xffffffffffffffffl;
s = 64U - s;
@ -93628,12 +93628,12 @@ static void sp_1024_from_mp(sp_digit* r, int size, const mp_int* a)
r[j] = 0;
}
#else
int i;
unsigned int i;
int j = 0;
int s = 0;
r[0] = 0;
for (i = 0; i < a->used && j < size; i++) {
for (i = 0; i < (unsigned int)a->used && j < size; i++) {
r[j] |= ((sp_digit)a->dp[i]) << s;
if (s + DIGIT_BIT >= 64) {
r[j] &= 0xffffffffffffffffl;

View File

@ -104,7 +104,7 @@ mp_digit get_digit(const mp_int* a, int n)
if (a == NULL)
return 0;
return (n >= a->used || n < 0) ? 0 : a->dp[n];
return (n < 0 || (unsigned int)n >= (unsigned int)a->used) ? 0 : a->dp[n];
}
#if defined(HAVE_ECC) || defined(WOLFSSL_MP_COND_COPY)
@ -119,7 +119,11 @@ mp_digit get_digit(const mp_int* a, int n)
int mp_cond_copy(mp_int* a, int copy, mp_int* b)
{
int err = MP_OKAY;
#if defined(WOLFSSL_SP_MATH) || defined(WOLFSSL_SP_MATH_ALL)
unsigned int i;
#else
int i;
#endif
#if defined(SP_WORD_SIZE) && SP_WORD_SIZE == 8
unsigned int mask = (unsigned int)0 - copy;
#else
@ -174,7 +178,7 @@ int mp_rand(mp_int* a, int digits, WC_RNG* rng)
if (rng == NULL) {
ret = MISSING_RNG_E;
}
else if (a == NULL || digits == 0) {
else if (a == NULL || digits <= 0) {
ret = BAD_FUNC_ARG;
}
@ -185,7 +189,7 @@ int mp_rand(mp_int* a, int digits, WC_RNG* rng)
}
#else
#if defined(WOLFSSL_SP_MATH) || defined(WOLFSSL_SP_MATH_ALL)
if ((ret == MP_OKAY) && (digits > a->size))
if ((ret == MP_OKAY) && ((unsigned int)digits > a->size))
#else
if ((ret == MP_OKAY) && (digits > FP_SIZE))
#endif

View File

@ -39833,7 +39833,7 @@ static int mp_test_add_sub_d(mp_int* a, mp_int* r1)
for (i = 0; i <= DIGIT_BIT * 2; i++) {
mp_zero(a);
mp_set_bit(a, i);
if (a->used != (i + DIGIT_BIT) / DIGIT_BIT)
if ((int)a->used != (i + DIGIT_BIT) / DIGIT_BIT)
return -12690;
for (j = 0; j < i && j < DIGIT_BIT; j++) {
mp_zero(r1);
@ -41594,13 +41594,18 @@ static int mp_test_mod_2d(mp_int* a, mp_int* r, mp_int* t, WC_RNG* rng)
}
#endif
#if (defined(HAVE_ECC) && defined(HAVE_COMP_KEY)) || defined(WOLFSSL_KEY_GEN)
#if defined(WOLFSSL_SP_MATH_ALL) || defined(OPENSSL_EXTRA) || \
(defined(HAVE_ECC) && defined(HAVE_COMP_KEY))
static int mp_test_mod_d(mp_int* a, WC_RNG* rng)
{
int ret;
mp_digit r;
#if defined(WOLFSSL_SP_MATH_ALL) || defined(WOLFSSL_SP_MATH)
mp_digit rem;
int i;
#endif
(void)rng;
if (mp_set(a, 1) != MP_OKAY)
return -13130;
@ -41619,6 +41624,7 @@ static int mp_test_mod_d(mp_int* a, WC_RNG* rng)
if (ret != MP_OKAY)
return -13134;
#if defined(WOLFSSL_SP_MATH_ALL) || defined(WOLFSSL_SP_MATH)
for (i = MP_MAX_TEST_BYTE_LEN - 16; i <= MP_MAX_TEST_BYTE_LEN; i++) {
ret = randNum(a, i, rng, NULL);
if (ret != MP_OKAY)
@ -41632,6 +41638,7 @@ static int mp_test_mod_d(mp_int* a, WC_RNG* rng)
if (r != rem)
return -13138;
}
#endif
return 0;
}
@ -42320,7 +42327,8 @@ WOLFSSL_TEST_SUBROUTINE int mp_test(void)
if ((ret = mp_test_mod_2d(&a, &r1, &p, &rng)) != 0)
return ret;
#endif
#if (defined(HAVE_ECC) && defined(HAVE_COMP_KEY)) || defined(WOLFSSL_KEY_GEN)
#if defined(WOLFSSL_SP_MATH_ALL) || defined(OPENSSL_EXTRA) || \
(defined(HAVE_ECC) && defined(HAVE_COMP_KEY))
if ((ret = mp_test_mod_d(&a, &rng)) != 0)
return ret;
#endif

View File

@ -768,12 +768,12 @@ typedef struct sp_ecc_ctx {
*/
typedef struct sp_int {
/** Number of words that contain data. */
int used;
unsigned int used;
/** Maximum number of words in data. */
int size;
unsigned int size;
#ifdef WOLFSSL_SP_INT_NEGATIVE
/** Indicates whether number is 0/positive or negative. */
int sign;
unsigned int sign;
#endif
#ifdef HAVE_WOLF_BIGINT
/** Unsigned binary (big endian) representation of number. */
@ -784,10 +784,10 @@ typedef struct sp_int {
} sp_int;
typedef struct sp_int_minimal {
int used;
int size;
unsigned int used;
unsigned int size;
#ifdef WOLFSSL_SP_INT_NEGATIVE
int sign;
unsigned int sign;
#endif
#ifdef HAVE_WOLF_BIGINT
struct WC_BIGINT raw;