diff --git a/wolfcrypt/src/sp_arm32.c b/wolfcrypt/src/sp_arm32.c index 403fbac00..c8ecf47ec 100644 --- a/wolfcrypt/src/sp_arm32.c +++ b/wolfcrypt/src/sp_arm32.c @@ -67,7 +67,7 @@ do { \ int ii; \ fprintf(stderr, name "=0x"); \ - for (ii = ((bits + 31) / 32) - 1; ii >= 0; ii--) \ + for (ii = (((bits) + 31) / 32) - 1; ii >= 0; ii--) \ fprintf(stderr, SP_PRINT_FMT, (var)[ii]); \ fprintf(stderr, "\n"); \ } while (0) @@ -12022,7 +12022,7 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[32], 0, sizeof(sp_digit) * 32U); sp_2048_mont_reduce_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_32(r, r, m, mask); } @@ -12190,7 +12190,7 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[32], 0, sizeof(sp_digit) * 32U); sp_2048_mont_reduce_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_32(r, r, m, mask); } @@ -16781,7 +16781,7 @@ static int sp_2048_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U); sp_2048_mont_reduce_64(r, m, mp); - mask = 0 - (sp_2048_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_64(r, m) >= 0); sp_2048_cond_sub_64(r, r, m, mask); } @@ -16932,7 +16932,7 @@ static int sp_2048_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U); sp_2048_mont_reduce_64(r, m, mp); - mask = 0 - (sp_2048_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_64(r, m) >= 0); sp_2048_cond_sub_64(r, r, m, mask); } @@ -18112,7 +18112,7 @@ static int sp_2048_mod_exp_2_64(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U); sp_2048_mont_reduce_64(r, m, mp); - mask = 0 - (sp_2048_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_64(r, m) >= 0); sp_2048_cond_sub_64(r, r, m, mask); } @@ -37393,7 +37393,7 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[48], 0, sizeof(sp_digit) * 48U); sp_3072_mont_reduce_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_48(r, r, m, mask); } @@ -37561,7 +37561,7 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[48], 0, sizeof(sp_digit) * 48U); sp_3072_mont_reduce_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_48(r, r, m, mask); } @@ -44022,7 +44022,7 @@ static int sp_3072_mod_exp_96(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[96], 0, sizeof(sp_digit) * 96U); sp_3072_mont_reduce_96(r, m, mp); - mask = 0 - (sp_3072_cmp_96(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_96(r, m) >= 0); sp_3072_cond_sub_96(r, r, m, mask); } @@ -44173,7 +44173,7 @@ static int sp_3072_mod_exp_96(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[96], 0, sizeof(sp_digit) * 96U); sp_3072_mont_reduce_96(r, m, mp); - mask = 0 - (sp_3072_cmp_96(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_96(r, m) >= 0); sp_3072_cond_sub_96(r, r, m, mask); } @@ -45601,7 +45601,7 @@ static int sp_3072_mod_exp_2_96(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[96], 0, sizeof(sp_digit) * 96U); sp_3072_mont_reduce_96(r, m, mp); - mask = 0 - (sp_3072_cmp_96(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_96(r, m) >= 0); sp_3072_cond_sub_96(r, r, m, mask); } @@ -59437,7 +59437,7 @@ static int sp_4096_mod_exp_128(sp_digit* r, const sp_digit* a, const sp_digit* e XMEMSET(&r[128], 0, sizeof(sp_digit) * 128U); sp_4096_mont_reduce_128(r, m, mp); - mask = 0 - (sp_4096_cmp_128(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_128(r, m) >= 0); sp_4096_cond_sub_128(r, r, m, mask); } @@ -59588,7 +59588,7 @@ static int sp_4096_mod_exp_128(sp_digit* r, const sp_digit* a, const sp_digit* e XMEMSET(&r[128], 0, sizeof(sp_digit) * 128U); sp_4096_mont_reduce_128(r, m, mp); - mask = 0 - (sp_4096_cmp_128(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_128(r, m) >= 0); sp_4096_cond_sub_128(r, r, m, mask); } @@ -61264,7 +61264,7 @@ static int sp_4096_mod_exp_2_128(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[128], 0, sizeof(sp_digit) * 128U); sp_4096_mont_reduce_128(r, m, mp); - mask = 0 - (sp_4096_cmp_128(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_128(r, m) >= 0); sp_4096_cond_sub_128(r, r, m, mask); } @@ -72463,7 +72463,7 @@ static void sp_256_map_8(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_8(r->x, p256_mod, p256_mp_mod); /* Reduce x to less than modulus */ n = sp_256_cmp_8(r->x, p256_mod); - sp_256_cond_sub_8(r->x, r->x, p256_mod, ~(n >> 31)); + sp_256_cond_sub_8(r->x, r->x, p256_mod, (sp_digit)~(n >> 31)); sp_256_norm_8(r->x); /* y /= z^3 */ @@ -72472,7 +72472,7 @@ static void sp_256_map_8(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_8(r->y, p256_mod, p256_mp_mod); /* Reduce y to less than modulus */ n = sp_256_cmp_8(r->y, p256_mod); - sp_256_cond_sub_8(r->y, r->y, p256_mod, ~(n >> 31)); + sp_256_cond_sub_8(r->y, r->y, p256_mod, (sp_digit)~(n >> 31)); sp_256_norm_8(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -73088,8 +73088,8 @@ static void sp_256_proj_point_add_8(sp_point_256* r, sp_256_mont_sub_8(y, y, t5, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -73106,7 +73106,7 @@ static void sp_256_proj_point_add_8(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -73280,8 +73280,8 @@ static int sp_256_proj_point_add_8_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -73298,7 +73298,7 @@ static int sp_256_proj_point_add_8_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -73353,7 +73353,7 @@ static void sp_256_get_point_16_8(sp_point_256* r, const sp_point_256* table, r->z[6] = 0; r->z[7] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -73751,8 +73751,8 @@ static void sp_256_proj_point_add_qz1_8(sp_point_256* r, sp_256_mont_sub_8(y, t3, t1, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -73769,7 +73769,7 @@ static void sp_256_proj_point_add_qz1_8(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -73896,7 +73896,7 @@ static void sp_256_get_entry_16_8(sp_point_256* r, r->y[6] = 0; r->y[7] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -74317,7 +74317,7 @@ static void sp_256_get_entry_256_8(sp_point_256* r, r->y[6] = 0; r->y[7] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -88818,18 +88818,18 @@ static int sp_384_mod_mul_norm_12(sp_digit* r, const sp_digit* a, const sp_digit t[10] += t[9] >> 32; t[9] &= 0xffffffff; t[11] += t[10] >> 32; t[10] &= 0xffffffff; - r[0] = t[0]; - r[1] = t[1]; - r[2] = t[2]; - r[3] = t[3]; - r[4] = t[4]; - r[5] = t[5]; - r[6] = t[6]; - r[7] = t[7]; - r[8] = t[8]; - r[9] = t[9]; - r[10] = t[10]; - r[11] = t[11]; + r[0] = (sp_digit)t[0]; + r[1] = (sp_digit)t[1]; + r[2] = (sp_digit)t[2]; + r[3] = (sp_digit)t[3]; + r[4] = (sp_digit)t[4]; + r[5] = (sp_digit)t[5]; + r[6] = (sp_digit)t[6]; + r[7] = (sp_digit)t[7]; + r[8] = (sp_digit)t[8]; + r[9] = (sp_digit)t[9]; + r[10] = (sp_digit)t[10]; + r[11] = (sp_digit)t[11]; } #ifdef WOLFSSL_SP_SMALL_STACK @@ -90136,7 +90136,7 @@ static void sp_384_map_12(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_12(r->x, p384_mod, p384_mp_mod); /* Reduce x to less than modulus */ n = sp_384_cmp_12(r->x, p384_mod); - sp_384_cond_sub_12(r->x, r->x, p384_mod, ~(n >> 31)); + sp_384_cond_sub_12(r->x, r->x, p384_mod, (sp_digit)~(n >> 31)); sp_384_norm_12(r->x); /* y /= z^3 */ @@ -90145,7 +90145,7 @@ static void sp_384_map_12(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_12(r->y, p384_mod, p384_mp_mod); /* Reduce y to less than modulus */ n = sp_384_cmp_12(r->y, p384_mod); - sp_384_cond_sub_12(r->y, r->y, p384_mod, ~(n >> 31)); + sp_384_cond_sub_12(r->y, r->y, p384_mod, (sp_digit)~(n >> 31)); sp_384_norm_12(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -90789,8 +90789,8 @@ static void sp_384_proj_point_add_12(sp_point_384* r, sp_384_mont_sub_12(y, y, t5, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -90807,7 +90807,7 @@ static void sp_384_proj_point_add_12(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -90981,8 +90981,8 @@ static int sp_384_proj_point_add_12_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -90999,7 +90999,7 @@ static int sp_384_proj_point_add_12_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -91066,7 +91066,7 @@ static void sp_384_get_point_16_12(sp_point_384* r, const sp_point_384* table, r->z[10] = 0; r->z[11] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -91476,8 +91476,8 @@ static void sp_384_proj_point_add_qz1_12(sp_point_384* r, sp_384_mont_sub_12(y, t3, t1, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -91494,7 +91494,7 @@ static void sp_384_proj_point_add_qz1_12(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -91629,7 +91629,7 @@ static void sp_384_get_entry_16_12(sp_point_384* r, r->y[10] = 0; r->y[11] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -92066,7 +92066,7 @@ static void sp_384_get_entry_256_12(sp_point_384* r, r->y[10] = 0; r->y[11] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -117158,7 +117158,7 @@ static void sp_521_map_17(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_17(r->x, p521_mod, p521_mp_mod); /* Reduce x to less than modulus */ n = sp_521_cmp_17(r->x, p521_mod); - sp_521_cond_sub_17(r->x, r->x, p521_mod, ~(n >> 31)); + sp_521_cond_sub_17(r->x, r->x, p521_mod, (sp_digit)~(n >> 31)); sp_521_norm_17(r->x); /* y /= z^3 */ @@ -117167,7 +117167,7 @@ static void sp_521_map_17(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_17(r->y, p521_mod, p521_mp_mod); /* Reduce y to less than modulus */ n = sp_521_cmp_17(r->y, p521_mod); - sp_521_cond_sub_17(r->y, r->y, p521_mod, ~(n >> 31)); + sp_521_cond_sub_17(r->y, r->y, p521_mod, (sp_digit)~(n >> 31)); sp_521_norm_17(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -117911,8 +117911,8 @@ static void sp_521_proj_point_add_17(sp_point_521* r, sp_521_mont_sub_17(y, y, t5, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -117929,7 +117929,7 @@ static void sp_521_proj_point_add_17(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -118103,8 +118103,8 @@ static int sp_521_proj_point_add_17_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -118121,7 +118121,7 @@ static int sp_521_proj_point_add_17_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -118203,7 +118203,7 @@ static void sp_521_get_point_16_17(sp_point_521* r, const sp_point_521* table, r->z[15] = 0; r->z[16] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -118632,8 +118632,8 @@ static void sp_521_proj_point_add_qz1_17(sp_point_521* r, sp_521_mont_sub_17(y, t3, t1, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -118650,7 +118650,7 @@ static void sp_521_proj_point_add_qz1_17(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -118795,7 +118795,7 @@ static void sp_521_get_entry_16_17(sp_point_521* r, r->y[15] = 0; r->y[16] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -119252,7 +119252,7 @@ static void sp_521_get_entry_256_17(sp_point_521* r, r->y[15] = 0; r->y[16] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -146392,7 +146392,7 @@ static void sp_1024_map_32(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_32(r->x, p1024_mod, p1024_mp_mod); /* Reduce x to less than modulus */ n = sp_1024_cmp_32(r->x, p1024_mod); - sp_1024_cond_sub_32(r->x, r->x, p1024_mod, ~(n >> 31)); + sp_1024_cond_sub_32(r->x, r->x, p1024_mod, (sp_digit)~(n >> 31)); sp_1024_norm_32(r->x); /* y /= z^3 */ @@ -146401,7 +146401,7 @@ static void sp_1024_map_32(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_32(r->y, p1024_mod, p1024_mp_mod); /* Reduce y to less than modulus */ n = sp_1024_cmp_32(r->y, p1024_mod); - sp_1024_cond_sub_32(r->y, r->y, p1024_mod, ~(n >> 31)); + sp_1024_cond_sub_32(r->y, r->y, p1024_mod, (sp_digit)~(n >> 31)); sp_1024_norm_32(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -147847,8 +147847,8 @@ static void sp_1024_proj_point_add_32(sp_point_1024* r, sp_1024_mont_sub_32(y, y, t5, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -147865,7 +147865,7 @@ static void sp_1024_proj_point_add_32(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -148039,8 +148039,8 @@ static int sp_1024_proj_point_add_32_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -148057,7 +148057,7 @@ static int sp_1024_proj_point_add_32_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -148398,8 +148398,8 @@ static void sp_1024_proj_point_add_qz1_32(sp_point_1024* r, sp_1024_mont_sub_32(y, t3, t1, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -148416,7 +148416,7 @@ static void sp_1024_proj_point_add_qz1_32(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -156541,7 +156541,7 @@ static int sp_1024_ecc_is_point_32(const sp_point_1024* point, n = sp_1024_cmp_32(t1, p1024_mod); - sp_1024_cond_sub_32(t1, t1, p1024_mod, ~(n >> 31)); + sp_1024_cond_sub_32(t1, t1, p1024_mod, (sp_digit)~(n >> 31)); sp_1024_norm_32(t1); if (!sp_1024_iszero_32(t1)) { err = MP_VAL; diff --git a/wolfcrypt/src/sp_arm64.c b/wolfcrypt/src/sp_arm64.c index b2bb9c738..0a465f4f0 100644 --- a/wolfcrypt/src/sp_arm64.c +++ b/wolfcrypt/src/sp_arm64.c @@ -67,7 +67,7 @@ do { \ int ii; \ fprintf(stderr, name "=0x"); \ - for (ii = ((bits + 63) / 64) - 1; ii >= 0; ii--) \ + for (ii = (((bits) + 63) / 64) - 1; ii >= 0; ii--) \ fprintf(stderr, SP_PRINT_FMT, (var)[ii]); \ fprintf(stderr, "\n"); \ } while (0) @@ -4164,7 +4164,7 @@ static int sp_2048_mod_exp_16(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[16], 0, sizeof(sp_digit) * 16U); sp_2048_mont_reduce_16(r, m, mp); - mask = 0 - (sp_2048_cmp_16(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_16(r, m) >= 0); sp_2048_cond_sub_16(r, r, m, mask); } @@ -4332,7 +4332,7 @@ static int sp_2048_mod_exp_16(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[16], 0, sizeof(sp_digit) * 16U); sp_2048_mont_reduce_16(r, m, mp); - mask = 0 - (sp_2048_cmp_16(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_16(r, m) >= 0); sp_2048_cond_sub_16(r, r, m, mask); } @@ -5788,7 +5788,7 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[32], 0, sizeof(sp_digit) * 32U); sp_2048_mont_reduce_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_32(r, r, m, mask); } @@ -5989,7 +5989,7 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[32], 0, sizeof(sp_digit) * 32U); sp_2048_mont_reduce_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_32(r, r, m, mask); } @@ -6832,7 +6832,7 @@ static int sp_2048_mod_exp_2_32(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[32], 0, sizeof(sp_digit) * 32U); sp_2048_mont_reduce_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_32(r, r, m, mask); } @@ -13349,7 +13349,7 @@ static int sp_3072_mod_exp_24(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[24], 0, sizeof(sp_digit) * 24U); sp_3072_mont_reduce_24(r, m, mp); - mask = 0 - (sp_3072_cmp_24(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_24(r, m) >= 0); sp_3072_cond_sub_24(r, r, m, mask); } @@ -13517,7 +13517,7 @@ static int sp_3072_mod_exp_24(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[24], 0, sizeof(sp_digit) * 24U); sp_3072_mont_reduce_24(r, m, mp); - mask = 0 - (sp_3072_cmp_24(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_24(r, m) >= 0); sp_3072_cond_sub_24(r, r, m, mask); } @@ -15339,7 +15339,7 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[48], 0, sizeof(sp_digit) * 48U); sp_3072_mont_reduce_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_48(r, r, m, mask); } @@ -15490,7 +15490,7 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[48], 0, sizeof(sp_digit) * 48U); sp_3072_mont_reduce_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_48(r, r, m, mask); } @@ -16429,7 +16429,7 @@ static int sp_3072_mod_exp_2_48(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[48], 0, sizeof(sp_digit) * 48U); sp_3072_mont_reduce_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_48(r, r, m, mask); } @@ -20446,7 +20446,7 @@ static int sp_4096_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U); sp_4096_mont_reduce_64(r, m, mp); - mask = 0 - (sp_4096_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_64(r, m) >= 0); sp_4096_cond_sub_64(r, r, m, mask); } @@ -20597,7 +20597,7 @@ static int sp_4096_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U); sp_4096_mont_reduce_64(r, m, mp); - mask = 0 - (sp_4096_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_64(r, m) >= 0); sp_4096_cond_sub_64(r, r, m, mask); } @@ -21632,7 +21632,7 @@ static int sp_4096_mod_exp_2_64(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U); sp_4096_mont_reduce_64(r, m, mp); - mask = 0 - (sp_4096_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_64(r, m) >= 0); sp_4096_cond_sub_64(r, r, m, mask); } @@ -22103,14 +22103,14 @@ static int sp_256_mod_mul_norm_4(sp_digit* r, const sp_digit* a, const sp_digit* (void)m; - a32[0] = a[0] & 0xffffffff; - a32[1] = a[0] >> 32; - a32[2] = a[1] & 0xffffffff; - a32[3] = a[1] >> 32; - a32[4] = a[2] & 0xffffffff; - a32[5] = a[2] >> 32; - a32[6] = a[3] & 0xffffffff; - a32[7] = a[3] >> 32; + a32[0] = (int64_t)(a[0] & 0xffffffff); + a32[1] = (int64_t)(a[0] >> 32); + a32[2] = (int64_t)(a[1] & 0xffffffff); + a32[3] = (int64_t)(a[1] >> 32); + a32[4] = (int64_t)(a[2] & 0xffffffff); + a32[5] = (int64_t)(a[2] >> 32); + a32[6] = (int64_t)(a[3] & 0xffffffff); + a32[7] = (int64_t)(a[3] >> 32); /* 1 1 0 -1 -1 -1 -1 0 */ t[0] = 0 + a32[0] + a32[1] - a32[3] - a32[4] - a32[5] - a32[6]; @@ -22160,10 +22160,10 @@ static int sp_256_mod_mul_norm_4(sp_digit* r, const sp_digit* a, const sp_digit* t[5] += t[4] >> 32; t[4] &= 0xffffffff; t[6] += t[5] >> 32; t[5] &= 0xffffffff; t[7] += t[6] >> 32; t[6] &= 0xffffffff; - r[0] = (t[1] << 32) | t[0]; - r[1] = (t[3] << 32) | t[2]; - r[2] = (t[5] << 32) | t[4]; - r[3] = (t[7] << 32) | t[6]; + r[0] = (sp_digit)((t[1] << 32) | t[0]); + r[1] = (sp_digit)((t[3] << 32) | t[2]); + r[2] = (sp_digit)((t[5] << 32) | t[4]); + r[3] = (sp_digit)((t[7] << 32) | t[6]); return MP_OKAY; } @@ -23044,7 +23044,7 @@ static void sp_256_map_4(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_4(r->x, p256_mod, p256_mp_mod); /* Reduce x to less than modulus */ n = sp_256_cmp_4(r->x, p256_mod); - sp_256_cond_sub_4(r->x, r->x, p256_mod, ~(n >> 63)); + sp_256_cond_sub_4(r->x, r->x, p256_mod, (sp_digit)~(n >> 63)); sp_256_norm_4(r->x); /* y /= z^3 */ @@ -23053,7 +23053,7 @@ static void sp_256_map_4(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_4(r->y, p256_mod, p256_mp_mod); /* Reduce y to less than modulus */ n = sp_256_cmp_4(r->y, p256_mod); - sp_256_cond_sub_4(r->y, r->y, p256_mod, ~(n >> 63)); + sp_256_cond_sub_4(r->y, r->y, p256_mod, (sp_digit)~(n >> 63)); sp_256_norm_4(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -24239,7 +24239,7 @@ static void sp_256_ecc_recode_6_4(const sp_digit* k, ecc_recode_256* v) n = k[j]; o = 0; for (i=0; i<43; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 64) { y &= 0x3f; n >>= 6; @@ -27322,7 +27322,7 @@ static void sp_256_ecc_recode_7_4(const sp_digit* k, ecc_recode_256* v) n = k[j]; o = 0; for (i=0; i<37; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 7 < 64) { y &= 0x7f; n >>= 7; @@ -43344,18 +43344,18 @@ static int sp_384_mod_mul_norm_6(sp_digit* r, const sp_digit* a, const sp_digit* if (err == MP_OKAY) { a32 = t + 12; - a32[0] = a[0] & 0xffffffff; - a32[1] = a[0] >> 32; - a32[2] = a[1] & 0xffffffff; - a32[3] = a[1] >> 32; - a32[4] = a[2] & 0xffffffff; - a32[5] = a[2] >> 32; - a32[6] = a[3] & 0xffffffff; - a32[7] = a[3] >> 32; - a32[8] = a[4] & 0xffffffff; - a32[9] = a[4] >> 32; - a32[10] = a[5] & 0xffffffff; - a32[11] = a[5] >> 32; + a32[0] = (int64_t)(a[0] & 0xffffffff); + a32[1] = (int64_t)(a[0] >> 32); + a32[2] = (int64_t)(a[1] & 0xffffffff); + a32[3] = (int64_t)(a[1] >> 32); + a32[4] = (int64_t)(a[2] & 0xffffffff); + a32[5] = (int64_t)(a[2] >> 32); + a32[6] = (int64_t)(a[3] & 0xffffffff); + a32[7] = (int64_t)(a[3] >> 32); + a32[8] = (int64_t)(a[4] & 0xffffffff); + a32[9] = (int64_t)(a[4] >> 32); + a32[10] = (int64_t)(a[5] & 0xffffffff); + a32[11] = (int64_t)(a[5] >> 32); /* 1 0 0 0 0 0 0 0 1 1 0 -1 */ t[0] = 0 + a32[0] + a32[8] + a32[9] - a32[11]; @@ -43410,12 +43410,12 @@ static int sp_384_mod_mul_norm_6(sp_digit* r, const sp_digit* a, const sp_digit* t[10] += t[9] >> 32; t[9] &= 0xffffffff; t[11] += t[10] >> 32; t[10] &= 0xffffffff; - r[0] = (t[1] << 32) | t[0]; - r[1] = (t[3] << 32) | t[2]; - r[2] = (t[5] << 32) | t[4]; - r[3] = (t[7] << 32) | t[6]; - r[4] = (t[9] << 32) | t[8]; - r[5] = (t[11] << 32) | t[10]; + r[0] = (sp_digit)((t[1] << 32) | t[0]); + r[1] = (sp_digit)((t[3] << 32) | t[2]); + r[2] = (sp_digit)((t[5] << 32) | t[4]); + r[3] = (sp_digit)((t[7] << 32) | t[6]); + r[4] = (sp_digit)((t[9] << 32) | t[8]); + r[5] = (sp_digit)((t[11] << 32) | t[10]); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -44198,7 +44198,7 @@ static void sp_384_map_6(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_6(r->x, p384_mod, p384_mp_mod); /* Reduce x to less than modulus */ n = sp_384_cmp_6(r->x, p384_mod); - sp_384_cond_sub_6(r->x, r->x, p384_mod, ~(n >> 63)); + sp_384_cond_sub_6(r->x, r->x, p384_mod, (sp_digit)~(n >> 63)); sp_384_norm_6(r->x); /* y /= z^3 */ @@ -44207,7 +44207,7 @@ static void sp_384_map_6(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_6(r->y, p384_mod, p384_mp_mod); /* Reduce y to less than modulus */ n = sp_384_cmp_6(r->y, p384_mod); - sp_384_cond_sub_6(r->y, r->y, p384_mod, ~(n >> 63)); + sp_384_cond_sub_6(r->y, r->y, p384_mod, (sp_digit)~(n >> 63)); sp_384_norm_6(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -44777,8 +44777,8 @@ static void sp_384_proj_point_add_6(sp_point_384* r, sp_384_mont_sub_6(y, y, t5, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -44795,7 +44795,7 @@ static void sp_384_proj_point_add_6(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -44969,8 +44969,8 @@ static int sp_384_proj_point_add_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -44987,7 +44987,7 @@ static int sp_384_proj_point_add_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -45201,7 +45201,7 @@ static void sp_384_ecc_recode_6_6(const sp_digit* k, ecc_recode_384* v) n = k[j]; o = 0; for (i=0; i<65; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 64) { y &= 0x3f; n >>= 6; @@ -45507,8 +45507,8 @@ static void sp_384_proj_point_add_qz1_6(sp_point_384* r, sp_384_mont_sub_6(y, t3, t1, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -45525,7 +45525,7 @@ static void sp_384_proj_point_add_qz1_6(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -48248,7 +48248,7 @@ static void sp_384_ecc_recode_7_6(const sp_digit* k, ecc_recode_384* v) n = k[j]; o = 0; for (i=0; i<55; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 7 < 64) { y &= 0x7f; n >>= 7; @@ -72377,7 +72377,7 @@ static void sp_521_map_9(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_9(r->x, p521_mod, p521_mp_mod); /* Reduce x to less than modulus */ n = sp_521_cmp_9(r->x, p521_mod); - sp_521_cond_sub_9(r->x, r->x, p521_mod, ~(n >> 63)); + sp_521_cond_sub_9(r->x, r->x, p521_mod, (sp_digit)~(n >> 63)); sp_521_norm_9(r->x); /* y /= z^3 */ @@ -72386,7 +72386,7 @@ static void sp_521_map_9(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_9(r->y, p521_mod, p521_mp_mod); /* Reduce y to less than modulus */ n = sp_521_cmp_9(r->y, p521_mod); - sp_521_cond_sub_9(r->y, r->y, p521_mod, ~(n >> 63)); + sp_521_cond_sub_9(r->y, r->y, p521_mod, (sp_digit)~(n >> 63)); sp_521_norm_9(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -73134,8 +73134,8 @@ static void sp_521_proj_point_add_9(sp_point_521* r, sp_521_mont_sub_9(y, y, t5, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -73152,7 +73152,7 @@ static void sp_521_proj_point_add_9(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -73326,8 +73326,8 @@ static int sp_521_proj_point_add_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -73344,7 +73344,7 @@ static int sp_521_proj_point_add_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -73558,7 +73558,7 @@ static void sp_521_ecc_recode_6_9(const sp_digit* k, ecc_recode_521* v) n = k[j]; o = 0; for (i=0; i<87; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 64) { y &= 0x3f; n >>= 6; @@ -73891,8 +73891,8 @@ static void sp_521_proj_point_add_qz1_9(sp_point_521* r, sp_521_mont_sub_9(y, t3, t1, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -73909,7 +73909,7 @@ static void sp_521_proj_point_add_qz1_9(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -77304,7 +77304,7 @@ static void sp_521_ecc_recode_7_9(const sp_digit* k, ecc_recode_521* v) n = k[j]; o = 0; for (i=0; i<75; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 7 < 64) { y &= 0x7f; n >>= 7; @@ -116168,7 +116168,7 @@ static void sp_1024_map_16(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_16(r->x, p1024_mod, p1024_mp_mod); /* Reduce x to less than modulus */ n = sp_1024_cmp_16(r->x, p1024_mod); - sp_1024_cond_sub_16(r->x, r->x, p1024_mod, ~(n >> 63)); + sp_1024_cond_sub_16(r->x, r->x, p1024_mod, (sp_digit)~(n >> 63)); sp_1024_norm_16(r->x); /* y /= z^3 */ @@ -116177,7 +116177,7 @@ static void sp_1024_map_16(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_16(r->y, p1024_mod, p1024_mp_mod); /* Reduce y to less than modulus */ n = sp_1024_cmp_16(r->y, p1024_mod); - sp_1024_cond_sub_16(r->y, r->y, p1024_mod, ~(n >> 63)); + sp_1024_cond_sub_16(r->y, r->y, p1024_mod, (sp_digit)~(n >> 63)); sp_1024_norm_16(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -117213,8 +117213,8 @@ static void sp_1024_proj_point_add_16(sp_point_1024* r, sp_1024_mont_sub_16(y, y, t5, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -117231,7 +117231,7 @@ static void sp_1024_proj_point_add_16(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -117405,8 +117405,8 @@ static int sp_1024_proj_point_add_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -117423,7 +117423,7 @@ static int sp_1024_proj_point_add_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -117645,7 +117645,7 @@ static void sp_1024_ecc_recode_7_16(const sp_digit* k, ecc_recode_1024* v) n = k[j]; o = 0; for (i=0; i<147; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 7 < 64) { y &= 0x7f; n >>= 7; @@ -117884,8 +117884,8 @@ static void sp_1024_proj_point_add_qz1_16(sp_point_1024* r, sp_1024_mont_sub_16(y, t3, t1, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -117902,7 +117902,7 @@ static void sp_1024_proj_point_add_qz1_16(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -125273,7 +125273,7 @@ static int sp_1024_ecc_is_point_16(const sp_point_1024* point, n = sp_1024_cmp_16(t1, p1024_mod); - sp_1024_cond_sub_16(t1, t1, p1024_mod, ~(n >> 63)); + sp_1024_cond_sub_16(t1, t1, p1024_mod, (sp_digit)~(n >> 63)); sp_1024_norm_16(t1); if (!sp_1024_iszero_16(t1)) { err = MP_VAL; diff --git a/wolfcrypt/src/sp_armthumb.c b/wolfcrypt/src/sp_armthumb.c index bc201b08f..56c793114 100644 --- a/wolfcrypt/src/sp_armthumb.c +++ b/wolfcrypt/src/sp_armthumb.c @@ -67,7 +67,7 @@ do { \ int ii; \ fprintf(stderr, name "=0x"); \ - for (ii = ((bits + 31) / 32) - 1; ii >= 0; ii--) \ + for (ii = (((bits) + 31) / 32) - 1; ii >= 0; ii--) \ fprintf(stderr, SP_PRINT_FMT, (var)[ii]); \ fprintf(stderr, "\n"); \ } while (0) @@ -24134,7 +24134,7 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[32], 0, sizeof(sp_digit) * 32U); sp_2048_mont_reduce_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_32(r, r, m, mask); } @@ -24302,7 +24302,7 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[32], 0, sizeof(sp_digit) * 32U); sp_2048_mont_reduce_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_32(r, r, m, mask); } @@ -27713,7 +27713,7 @@ static int sp_2048_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U); sp_2048_mont_reduce_64(r, m, mp); - mask = 0 - (sp_2048_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_64(r, m) >= 0); sp_2048_cond_sub_64(r, r, m, mask); } @@ -27864,7 +27864,7 @@ static int sp_2048_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U); sp_2048_mont_reduce_64(r, m, mp); - mask = 0 - (sp_2048_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_64(r, m) >= 0); sp_2048_cond_sub_64(r, r, m, mask); } @@ -30127,7 +30127,7 @@ static int sp_2048_mod_exp_2_64(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64U); sp_2048_mont_reduce_64(r, m, mp); - mask = 0 - (sp_2048_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_64(r, m) >= 0); sp_2048_cond_sub_64(r, r, m, mask); } @@ -75590,7 +75590,7 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[48], 0, sizeof(sp_digit) * 48U); sp_3072_mont_reduce_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_48(r, r, m, mask); } @@ -75758,7 +75758,7 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[48], 0, sizeof(sp_digit) * 48U); sp_3072_mont_reduce_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_48(r, r, m, mask); } @@ -80000,7 +80000,7 @@ static int sp_3072_mod_exp_96(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[96], 0, sizeof(sp_digit) * 96U); sp_3072_mont_reduce_96(r, m, mp); - mask = 0 - (sp_3072_cmp_96(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_96(r, m) >= 0); sp_3072_cond_sub_96(r, r, m, mask); } @@ -80151,7 +80151,7 @@ static int sp_3072_mod_exp_96(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[96], 0, sizeof(sp_digit) * 96U); sp_3072_mont_reduce_96(r, m, mp); - mask = 0 - (sp_3072_cmp_96(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_96(r, m) >= 0); sp_3072_cond_sub_96(r, r, m, mask); } @@ -83212,7 +83212,7 @@ static int sp_3072_mod_exp_2_96(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[96], 0, sizeof(sp_digit) * 96U); sp_3072_mont_reduce_96(r, m, mp); - mask = 0 - (sp_3072_cmp_96(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_96(r, m) >= 0); sp_3072_cond_sub_96(r, r, m, mask); } @@ -92545,7 +92545,7 @@ static int sp_4096_mod_exp_128(sp_digit* r, const sp_digit* a, const sp_digit* e XMEMSET(&r[128], 0, sizeof(sp_digit) * 128U); sp_4096_mont_reduce_128(r, m, mp); - mask = 0 - (sp_4096_cmp_128(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_128(r, m) >= 0); sp_4096_cond_sub_128(r, r, m, mask); } @@ -92696,7 +92696,7 @@ static int sp_4096_mod_exp_128(sp_digit* r, const sp_digit* a, const sp_digit* e XMEMSET(&r[128], 0, sizeof(sp_digit) * 128U); sp_4096_mont_reduce_128(r, m, mp); - mask = 0 - (sp_4096_cmp_128(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_128(r, m) >= 0); sp_4096_cond_sub_128(r, r, m, mask); } @@ -96550,7 +96550,7 @@ static int sp_4096_mod_exp_2_128(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[128], 0, sizeof(sp_digit) * 128U); sp_4096_mont_reduce_128(r, m, mp); - mask = 0 - (sp_4096_cmp_128(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_128(r, m) >= 0); sp_4096_cond_sub_128(r, r, m, mask); } @@ -99135,7 +99135,7 @@ static void sp_256_map_8(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_8(r->x, p256_mod, p256_mp_mod); /* Reduce x to less than modulus */ n = sp_256_cmp_8(r->x, p256_mod); - sp_256_cond_sub_8(r->x, r->x, p256_mod, ~(n >> 31)); + sp_256_cond_sub_8(r->x, r->x, p256_mod, (sp_digit)~(n >> 31)); sp_256_norm_8(r->x); /* y /= z^3 */ @@ -99144,7 +99144,7 @@ static void sp_256_map_8(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_8(r->y, p256_mod, p256_mp_mod); /* Reduce y to less than modulus */ n = sp_256_cmp_8(r->y, p256_mod); - sp_256_cond_sub_8(r->y, r->y, p256_mod, ~(n >> 31)); + sp_256_cond_sub_8(r->y, r->y, p256_mod, (sp_digit)~(n >> 31)); sp_256_norm_8(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -100590,8 +100590,8 @@ static void sp_256_proj_point_add_8(sp_point_256* r, sp_256_mont_sub_8(y, y, t5, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -100608,7 +100608,7 @@ static void sp_256_proj_point_add_8(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -100782,8 +100782,8 @@ static int sp_256_proj_point_add_8_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -100800,7 +100800,7 @@ static int sp_256_proj_point_add_8_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -100855,7 +100855,7 @@ static void sp_256_get_point_16_8(sp_point_256* r, const sp_point_256* table, r->z[6] = 0; r->z[7] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -101253,8 +101253,8 @@ static void sp_256_proj_point_add_qz1_8(sp_point_256* r, sp_256_mont_sub_8(y, t3, t1, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -101271,7 +101271,7 @@ static void sp_256_proj_point_add_qz1_8(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -101398,7 +101398,7 @@ static void sp_256_get_entry_16_8(sp_point_256* r, r->y[6] = 0; r->y[7] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -101819,7 +101819,7 @@ static void sp_256_get_entry_256_8(sp_point_256* r, r->y[6] = 0; r->y[7] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -109228,18 +109228,18 @@ static int sp_384_mod_mul_norm_12(sp_digit* r, const sp_digit* a, const sp_digit t[10] += t[9] >> 32; t[9] &= 0xffffffff; t[11] += t[10] >> 32; t[10] &= 0xffffffff; - r[0] = t[0]; - r[1] = t[1]; - r[2] = t[2]; - r[3] = t[3]; - r[4] = t[4]; - r[5] = t[5]; - r[6] = t[6]; - r[7] = t[7]; - r[8] = t[8]; - r[9] = t[9]; - r[10] = t[10]; - r[11] = t[11]; + r[0] = (sp_digit)t[0]; + r[1] = (sp_digit)t[1]; + r[2] = (sp_digit)t[2]; + r[3] = (sp_digit)t[3]; + r[4] = (sp_digit)t[4]; + r[5] = (sp_digit)t[5]; + r[6] = (sp_digit)t[6]; + r[7] = (sp_digit)t[7]; + r[8] = (sp_digit)t[8]; + r[9] = (sp_digit)t[9]; + r[10] = (sp_digit)t[10]; + r[11] = (sp_digit)t[11]; } #ifdef WOLFSSL_SP_SMALL_STACK @@ -110516,7 +110516,7 @@ static void sp_384_map_12(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_12(r->x, p384_mod, p384_mp_mod); /* Reduce x to less than modulus */ n = sp_384_cmp_12(r->x, p384_mod); - sp_384_cond_sub_12(r->x, r->x, p384_mod, ~(n >> 31)); + sp_384_cond_sub_12(r->x, r->x, p384_mod, (sp_digit)~(n >> 31)); sp_384_norm_12(r->x); /* y /= z^3 */ @@ -110525,7 +110525,7 @@ static void sp_384_map_12(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_12(r->y, p384_mod, p384_mp_mod); /* Reduce y to less than modulus */ n = sp_384_cmp_12(r->y, p384_mod); - sp_384_cond_sub_12(r->y, r->y, p384_mod, ~(n >> 31)); + sp_384_cond_sub_12(r->y, r->y, p384_mod, (sp_digit)~(n >> 31)); sp_384_norm_12(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -111398,8 +111398,8 @@ static void sp_384_proj_point_add_12(sp_point_384* r, sp_384_mont_sub_12(y, y, t5, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -111416,7 +111416,7 @@ static void sp_384_proj_point_add_12(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -111590,8 +111590,8 @@ static int sp_384_proj_point_add_12_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -111608,7 +111608,7 @@ static int sp_384_proj_point_add_12_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -111675,7 +111675,7 @@ static void sp_384_get_point_16_12(sp_point_384* r, const sp_point_384* table, r->z[10] = 0; r->z[11] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -112085,8 +112085,8 @@ static void sp_384_proj_point_add_qz1_12(sp_point_384* r, sp_384_mont_sub_12(y, t3, t1, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -112103,7 +112103,7 @@ static void sp_384_proj_point_add_qz1_12(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -112238,7 +112238,7 @@ static void sp_384_get_entry_16_12(sp_point_384* r, r->y[10] = 0; r->y[11] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -112675,7 +112675,7 @@ static void sp_384_get_entry_256_12(sp_point_384* r, r->y[10] = 0; r->y[11] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -122778,7 +122778,7 @@ static void sp_521_map_17(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_17(r->x, p521_mod, p521_mp_mod); /* Reduce x to less than modulus */ n = sp_521_cmp_17(r->x, p521_mod); - sp_521_cond_sub_17(r->x, r->x, p521_mod, ~(n >> 31)); + sp_521_cond_sub_17(r->x, r->x, p521_mod, (sp_digit)~(n >> 31)); sp_521_norm_17(r->x); /* y /= z^3 */ @@ -122787,7 +122787,7 @@ static void sp_521_map_17(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_17(r->y, p521_mod, p521_mp_mod); /* Reduce y to less than modulus */ n = sp_521_cmp_17(r->y, p521_mod); - sp_521_cond_sub_17(r->y, r->y, p521_mod, ~(n >> 31)); + sp_521_cond_sub_17(r->y, r->y, p521_mod, (sp_digit)~(n >> 31)); sp_521_norm_17(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -124968,8 +124968,8 @@ static void sp_521_proj_point_add_17(sp_point_521* r, sp_521_mont_sub_17(y, y, t5, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -124986,7 +124986,7 @@ static void sp_521_proj_point_add_17(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -125160,8 +125160,8 @@ static int sp_521_proj_point_add_17_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -125178,7 +125178,7 @@ static int sp_521_proj_point_add_17_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -125260,7 +125260,7 @@ static void sp_521_get_point_16_17(sp_point_521* r, const sp_point_521* table, r->z[15] = 0; r->z[16] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -125689,8 +125689,8 @@ static void sp_521_proj_point_add_qz1_17(sp_point_521* r, sp_521_mont_sub_17(y, t3, t1, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -125707,7 +125707,7 @@ static void sp_521_proj_point_add_qz1_17(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -125852,7 +125852,7 @@ static void sp_521_get_entry_16_17(sp_point_521* r, r->y[15] = 0; r->y[16] = 0; for (i = 1; i < 16; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -126309,7 +126309,7 @@ static void sp_521_get_entry_256_17(sp_point_521* r, r->y[15] = 0; r->y[16] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -203834,7 +203834,7 @@ static void sp_1024_map_32(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_32(r->x, p1024_mod, p1024_mp_mod); /* Reduce x to less than modulus */ n = sp_1024_cmp_32(r->x, p1024_mod); - sp_1024_cond_sub_32(r->x, r->x, p1024_mod, ~(n >> 31)); + sp_1024_cond_sub_32(r->x, r->x, p1024_mod, (sp_digit)~(n >> 31)); sp_1024_norm_32(r->x); /* y /= z^3 */ @@ -203843,7 +203843,7 @@ static void sp_1024_map_32(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_32(r->y, p1024_mod, p1024_mp_mod); /* Reduce y to less than modulus */ n = sp_1024_cmp_32(r->y, p1024_mod); - sp_1024_cond_sub_32(r->y, r->y, p1024_mod, ~(n >> 31)); + sp_1024_cond_sub_32(r->y, r->y, p1024_mod, (sp_digit)~(n >> 31)); sp_1024_norm_32(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -209838,8 +209838,8 @@ static void sp_1024_proj_point_add_32(sp_point_1024* r, sp_1024_mont_sub_32(y, y, t5, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -209856,7 +209856,7 @@ static void sp_1024_proj_point_add_32(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -210030,8 +210030,8 @@ static int sp_1024_proj_point_add_32_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -210048,7 +210048,7 @@ static int sp_1024_proj_point_add_32_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -210389,8 +210389,8 @@ static void sp_1024_proj_point_add_qz1_32(sp_point_1024* r, sp_1024_mont_sub_32(y, t3, t1, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -210407,7 +210407,7 @@ static void sp_1024_proj_point_add_qz1_32(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -218532,7 +218532,7 @@ static int sp_1024_ecc_is_point_32(const sp_point_1024* point, n = sp_1024_cmp_32(t1, p1024_mod); - sp_1024_cond_sub_32(t1, t1, p1024_mod, ~(n >> 31)); + sp_1024_cond_sub_32(t1, t1, p1024_mod, (sp_digit)~(n >> 31)); sp_1024_norm_32(t1); if (!sp_1024_iszero_32(t1)) { err = MP_VAL; diff --git a/wolfcrypt/src/sp_c32.c b/wolfcrypt/src/sp_c32.c index 478e67e59..a6db0646a 100644 --- a/wolfcrypt/src/sp_c32.c +++ b/wolfcrypt/src/sp_c32.c @@ -71,13 +71,13 @@ #define SP_PRINT_NUM(var, name, total, words, bits) \ do { \ int ii; \ - byte nb[(bits + 7) / 8]; \ + byte nb[((bits) + 7) / 8]; \ sp_digit _s[words]; \ XMEMCPY(_s, var, sizeof(_s)); \ sp_##total##_norm_##words(_s); \ sp_##total##_to_bin_##words(_s, nb); \ fprintf(stderr, name "=0x"); \ - for (ii=0; ii<(bits + 7) / 8; ii++) \ + for (ii=0; ii<((bits) + 7) / 8; ii++) \ fprintf(stderr, "%02x", nb[ii]); \ fprintf(stderr, "\n"); \ } while (0) @@ -2217,7 +2217,7 @@ static int sp_2048_mod_exp_36(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_36(t[0], m, mp); n = sp_2048_cmp_36(t[0], m); - sp_2048_cond_sub_36(t[0], t[0], m, ~(n >> 31)); + sp_2048_cond_sub_36(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 36 * 2); } @@ -2307,7 +2307,7 @@ static int sp_2048_mod_exp_36(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_36(t[0], m, mp); n = sp_2048_cmp_36(t[0], m); - sp_2048_cond_sub_36(t[0], t[0], m, ~(n >> 31)); + sp_2048_cond_sub_36(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 36 * 2); } @@ -2452,7 +2452,7 @@ static int sp_2048_mod_exp_36(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_36(rt, m, mp); n = sp_2048_cmp_36(rt, m); - sp_2048_cond_sub_36(rt, rt, m, ~(n >> 31)); + sp_2048_cond_sub_36(rt, rt, m, (sp_digit)~(n >> 31)); XMEMCPY(r, rt, sizeof(sp_digit) * 72); } @@ -3278,7 +3278,7 @@ static int sp_2048_mod_exp_72(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_72(t[0], m, mp); n = sp_2048_cmp_72(t[0], m); - sp_2048_cond_sub_72(t[0], t[0], m, ~(n >> 31)); + sp_2048_cond_sub_72(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 72 * 2); } @@ -3368,7 +3368,7 @@ static int sp_2048_mod_exp_72(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_72(t[0], m, mp); n = sp_2048_cmp_72(t[0], m); - sp_2048_cond_sub_72(t[0], t[0], m, ~(n >> 31)); + sp_2048_cond_sub_72(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 72 * 2); } @@ -3496,7 +3496,7 @@ static int sp_2048_mod_exp_72(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_72(rt, m, mp); n = sp_2048_cmp_72(rt, m); - sp_2048_cond_sub_72(rt, rt, m, ~(n >> 31)); + sp_2048_cond_sub_72(rt, rt, m, (sp_digit)~(n >> 31)); XMEMCPY(r, rt, sizeof(sp_digit) * 144); } @@ -4601,7 +4601,7 @@ static int sp_2048_mod_exp_2_72(sp_digit* r, const sp_digit* e, int bits, const sp_2048_mont_reduce_72(r, m, mp); n = sp_2048_cmp_72(r, m); - sp_2048_cond_sub_72(r, r, m, ~(n >> 31)); + sp_2048_cond_sub_72(r, r, m, (sp_digit)~(n >> 31)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -5891,7 +5891,7 @@ static int sp_3072_mod_exp_53(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_53(t[0], m, mp); n = sp_3072_cmp_53(t[0], m); - sp_3072_cond_sub_53(t[0], t[0], m, ~(n >> 31)); + sp_3072_cond_sub_53(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 53 * 2); } @@ -5981,7 +5981,7 @@ static int sp_3072_mod_exp_53(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_53(t[0], m, mp); n = sp_3072_cmp_53(t[0], m); - sp_3072_cond_sub_53(t[0], t[0], m, ~(n >> 31)); + sp_3072_cond_sub_53(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 53 * 2); } @@ -6126,7 +6126,7 @@ static int sp_3072_mod_exp_53(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_53(rt, m, mp); n = sp_3072_cmp_53(rt, m); - sp_3072_cond_sub_53(rt, rt, m, ~(n >> 31)); + sp_3072_cond_sub_53(rt, rt, m, (sp_digit)~(n >> 31)); XMEMCPY(r, rt, sizeof(sp_digit) * 106); } @@ -6727,7 +6727,7 @@ static int sp_3072_mod_exp_106(sp_digit* r, const sp_digit* a, const sp_digit* e sp_3072_mont_reduce_106(t[0], m, mp); n = sp_3072_cmp_106(t[0], m); - sp_3072_cond_sub_106(t[0], t[0], m, ~(n >> 31)); + sp_3072_cond_sub_106(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 106 * 2); } @@ -6817,7 +6817,7 @@ static int sp_3072_mod_exp_106(sp_digit* r, const sp_digit* a, const sp_digit* e sp_3072_mont_reduce_106(t[0], m, mp); n = sp_3072_cmp_106(t[0], m); - sp_3072_cond_sub_106(t[0], t[0], m, ~(n >> 31)); + sp_3072_cond_sub_106(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 106 * 2); } @@ -6945,7 +6945,7 @@ static int sp_3072_mod_exp_106(sp_digit* r, const sp_digit* a, const sp_digit* e sp_3072_mont_reduce_106(rt, m, mp); n = sp_3072_cmp_106(rt, m); - sp_3072_cond_sub_106(rt, rt, m, ~(n >> 31)); + sp_3072_cond_sub_106(rt, rt, m, (sp_digit)~(n >> 31)); XMEMCPY(r, rt, sizeof(sp_digit) * 212); } @@ -7898,7 +7898,7 @@ static int sp_3072_mod_exp_2_106(sp_digit* r, const sp_digit* e, int bits, const sp_3072_mont_reduce_106(r, m, mp); n = sp_3072_cmp_106(r, m); - sp_3072_cond_sub_106(r, r, m, ~(n >> 31)); + sp_3072_cond_sub_106(r, r, m, (sp_digit)~(n >> 31)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -9914,7 +9914,7 @@ static int sp_3072_mod_exp_56(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_56(t[0], m, mp); n = sp_3072_cmp_56(t[0], m); - sp_3072_cond_sub_56(t[0], t[0], m, ~(n >> 31)); + sp_3072_cond_sub_56(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 56 * 2); } @@ -10004,7 +10004,7 @@ static int sp_3072_mod_exp_56(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_56(t[0], m, mp); n = sp_3072_cmp_56(t[0], m); - sp_3072_cond_sub_56(t[0], t[0], m, ~(n >> 31)); + sp_3072_cond_sub_56(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 56 * 2); } @@ -10149,7 +10149,7 @@ static int sp_3072_mod_exp_56(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_56(rt, m, mp); n = sp_3072_cmp_56(rt, m); - sp_3072_cond_sub_56(rt, rt, m, ~(n >> 31)); + sp_3072_cond_sub_56(rt, rt, m, (sp_digit)~(n >> 31)); XMEMCPY(r, rt, sizeof(sp_digit) * 112); } @@ -10832,7 +10832,7 @@ static int sp_3072_mod_exp_112(sp_digit* r, const sp_digit* a, const sp_digit* e sp_3072_mont_reduce_112(t[0], m, mp); n = sp_3072_cmp_112(t[0], m); - sp_3072_cond_sub_112(t[0], t[0], m, ~(n >> 31)); + sp_3072_cond_sub_112(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 112 * 2); } @@ -10922,7 +10922,7 @@ static int sp_3072_mod_exp_112(sp_digit* r, const sp_digit* a, const sp_digit* e sp_3072_mont_reduce_112(t[0], m, mp); n = sp_3072_cmp_112(t[0], m); - sp_3072_cond_sub_112(t[0], t[0], m, ~(n >> 31)); + sp_3072_cond_sub_112(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 112 * 2); } @@ -11050,7 +11050,7 @@ static int sp_3072_mod_exp_112(sp_digit* r, const sp_digit* a, const sp_digit* e sp_3072_mont_reduce_112(rt, m, mp); n = sp_3072_cmp_112(rt, m); - sp_3072_cond_sub_112(rt, rt, m, ~(n >> 31)); + sp_3072_cond_sub_112(rt, rt, m, (sp_digit)~(n >> 31)); XMEMCPY(r, rt, sizeof(sp_digit) * 224); } @@ -12226,7 +12226,7 @@ static int sp_3072_mod_exp_2_112(sp_digit* r, const sp_digit* e, int bits, const sp_3072_mont_reduce_112(r, m, mp); n = sp_3072_cmp_112(r, m); - sp_3072_cond_sub_112(r, r, m, ~(n >> 31)); + sp_3072_cond_sub_112(r, r, m, (sp_digit)~(n >> 31)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -13526,7 +13526,7 @@ static int sp_4096_mod_exp_71(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_71(t[0], m, mp); n = sp_4096_cmp_71(t[0], m); - sp_4096_cond_sub_71(t[0], t[0], m, ~(n >> 31)); + sp_4096_cond_sub_71(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 71 * 2); } @@ -13616,7 +13616,7 @@ static int sp_4096_mod_exp_71(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_71(t[0], m, mp); n = sp_4096_cmp_71(t[0], m); - sp_4096_cond_sub_71(t[0], t[0], m, ~(n >> 31)); + sp_4096_cond_sub_71(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 71 * 2); } @@ -13761,7 +13761,7 @@ static int sp_4096_mod_exp_71(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_71(rt, m, mp); n = sp_4096_cmp_71(rt, m); - sp_4096_cond_sub_71(rt, rt, m, ~(n >> 31)); + sp_4096_cond_sub_71(rt, rt, m, (sp_digit)~(n >> 31)); XMEMCPY(r, rt, sizeof(sp_digit) * 142); } @@ -14363,7 +14363,7 @@ static int sp_4096_mod_exp_142(sp_digit* r, const sp_digit* a, const sp_digit* e sp_4096_mont_reduce_142(t[0], m, mp); n = sp_4096_cmp_142(t[0], m); - sp_4096_cond_sub_142(t[0], t[0], m, ~(n >> 31)); + sp_4096_cond_sub_142(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 142 * 2); } @@ -14453,7 +14453,7 @@ static int sp_4096_mod_exp_142(sp_digit* r, const sp_digit* a, const sp_digit* e sp_4096_mont_reduce_142(t[0], m, mp); n = sp_4096_cmp_142(t[0], m); - sp_4096_cond_sub_142(t[0], t[0], m, ~(n >> 31)); + sp_4096_cond_sub_142(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 142 * 2); } @@ -14581,7 +14581,7 @@ static int sp_4096_mod_exp_142(sp_digit* r, const sp_digit* a, const sp_digit* e sp_4096_mont_reduce_142(rt, m, mp); n = sp_4096_cmp_142(rt, m); - sp_4096_cond_sub_142(rt, rt, m, ~(n >> 31)); + sp_4096_cond_sub_142(rt, rt, m, (sp_digit)~(n >> 31)); XMEMCPY(r, rt, sizeof(sp_digit) * 284); } @@ -15534,7 +15534,7 @@ static int sp_4096_mod_exp_2_142(sp_digit* r, const sp_digit* e, int bits, const sp_4096_mont_reduce_142(r, m, mp); n = sp_4096_cmp_142(r, m); - sp_4096_cond_sub_142(r, r, m, ~(n >> 31)); + sp_4096_cond_sub_142(r, r, m, (sp_digit)~(n >> 31)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -17430,7 +17430,7 @@ static int sp_4096_mod_exp_81(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_81(t[0], m, mp); n = sp_4096_cmp_81(t[0], m); - sp_4096_cond_sub_81(t[0], t[0], m, ~(n >> 31)); + sp_4096_cond_sub_81(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 81 * 2); } @@ -17520,7 +17520,7 @@ static int sp_4096_mod_exp_81(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_81(t[0], m, mp); n = sp_4096_cmp_81(t[0], m); - sp_4096_cond_sub_81(t[0], t[0], m, ~(n >> 31)); + sp_4096_cond_sub_81(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 81 * 2); } @@ -17665,7 +17665,7 @@ static int sp_4096_mod_exp_81(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_81(rt, m, mp); n = sp_4096_cmp_81(rt, m); - sp_4096_cond_sub_81(rt, rt, m, ~(n >> 31)); + sp_4096_cond_sub_81(rt, rt, m, (sp_digit)~(n >> 31)); XMEMCPY(r, rt, sizeof(sp_digit) * 162); } @@ -18335,7 +18335,7 @@ static int sp_4096_mod_exp_162(sp_digit* r, const sp_digit* a, const sp_digit* e sp_4096_mont_reduce_162(t[0], m, mp); n = sp_4096_cmp_162(t[0], m); - sp_4096_cond_sub_162(t[0], t[0], m, ~(n >> 31)); + sp_4096_cond_sub_162(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 162 * 2); } @@ -18425,7 +18425,7 @@ static int sp_4096_mod_exp_162(sp_digit* r, const sp_digit* a, const sp_digit* e sp_4096_mont_reduce_162(t[0], m, mp); n = sp_4096_cmp_162(t[0], m); - sp_4096_cond_sub_162(t[0], t[0], m, ~(n >> 31)); + sp_4096_cond_sub_162(t[0], t[0], m, (sp_digit)~(n >> 31)); XMEMCPY(r, t[0], sizeof(*r) * 162 * 2); } @@ -18553,7 +18553,7 @@ static int sp_4096_mod_exp_162(sp_digit* r, const sp_digit* a, const sp_digit* e sp_4096_mont_reduce_162(rt, m, mp); n = sp_4096_cmp_162(rt, m); - sp_4096_cond_sub_162(rt, rt, m, ~(n >> 31)); + sp_4096_cond_sub_162(rt, rt, m, (sp_digit)~(n >> 31)); XMEMCPY(r, rt, sizeof(sp_digit) * 324); } @@ -19829,7 +19829,7 @@ static int sp_4096_mod_exp_2_162(sp_digit* r, const sp_digit* e, int bits, const sp_4096_mont_reduce_162(r, m, mp); n = sp_4096_cmp_162(r, m); - sp_4096_cond_sub_162(r, r, m, ~(n >> 31)); + sp_4096_cond_sub_162(r, r, m, (sp_digit)~(n >> 31)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -21044,7 +21044,7 @@ static void sp_256_map_9(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_9(r->x, p256_mod, p256_mp_mod); /* Reduce x to less than modulus */ n = sp_256_cmp_9(r->x, p256_mod); - sp_256_cond_sub_9(r->x, r->x, p256_mod, ~(n >> 28)); + sp_256_cond_sub_9(r->x, r->x, p256_mod, (sp_digit)~(n >> 28)); sp_256_norm_9(r->x); /* y /= z^3 */ @@ -21053,7 +21053,7 @@ static void sp_256_map_9(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_9(r->y, p256_mod, p256_mp_mod); /* Reduce y to less than modulus */ n = sp_256_cmp_9(r->y, p256_mod); - sp_256_cond_sub_9(r->y, r->y, p256_mod, ~(n >> 28)); + sp_256_cond_sub_9(r->y, r->y, p256_mod, (sp_digit)~(n >> 28)); sp_256_norm_9(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -21508,8 +21508,8 @@ static void sp_256_proj_point_add_9(sp_point_256* r, sp_256_mont_sub_9(y, y, t5, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -21526,7 +21526,7 @@ static void sp_256_proj_point_add_9(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -21700,8 +21700,8 @@ static int sp_256_proj_point_add_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -21718,7 +21718,7 @@ static int sp_256_proj_point_add_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -22427,7 +22427,7 @@ static void sp_256_ecc_recode_6_9(const sp_digit* k, ecc_recode_256* v) n = k[j]; o = 0; for (i=0; i<43; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 29) { y &= 0x3f; n >>= 6; @@ -22494,7 +22494,7 @@ static void sp_256_get_point_33_9(sp_point_256* r, const sp_point_256* table, r->z[7] = 0; r->z[8] = 0; for (i = 1; i < 33; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -22728,8 +22728,8 @@ static void sp_256_proj_point_add_qz1_9(sp_point_256* r, sp_256_mont_sub_9(y, t3, t1, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -22746,7 +22746,7 @@ static void sp_256_proj_point_add_qz1_9(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -22896,7 +22896,7 @@ static void sp_256_get_entry_256_9(sp_point_256* r, r->y[7] = 0; r->y[8] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -28443,7 +28443,7 @@ static void sp_384_map_15(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_15(r->x, p384_mod, p384_mp_mod); /* Reduce x to less than modulus */ n = sp_384_cmp_15(r->x, p384_mod); - sp_384_cond_sub_15(r->x, r->x, p384_mod, ~(n >> 25)); + sp_384_cond_sub_15(r->x, r->x, p384_mod, (sp_digit)~(n >> 25)); sp_384_norm_15(r->x); /* y /= z^3 */ @@ -28452,7 +28452,7 @@ static void sp_384_map_15(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_15(r->y, p384_mod, p384_mp_mod); /* Reduce y to less than modulus */ n = sp_384_cmp_15(r->y, p384_mod); - sp_384_cond_sub_15(r->y, r->y, p384_mod, ~(n >> 25)); + sp_384_cond_sub_15(r->y, r->y, p384_mod, (sp_digit)~(n >> 25)); sp_384_norm_15(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -28921,8 +28921,8 @@ static void sp_384_proj_point_add_15(sp_point_384* r, sp_384_mont_sub_15(y, y, t5, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -28939,7 +28939,7 @@ static void sp_384_proj_point_add_15(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -29113,8 +29113,8 @@ static int sp_384_proj_point_add_15_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -29131,7 +29131,7 @@ static int sp_384_proj_point_add_15_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -29896,7 +29896,7 @@ static void sp_384_ecc_recode_6_15(const sp_digit* k, ecc_recode_384* v) n = k[j]; o = 0; for (i=0; i<65; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 26) { y &= 0x3f; n >>= 6; @@ -29981,7 +29981,7 @@ static void sp_384_get_point_33_15(sp_point_384* r, const sp_point_384* table, r->z[13] = 0; r->z[14] = 0; for (i = 1; i < 33; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -30233,8 +30233,8 @@ static void sp_384_proj_point_add_qz1_15(sp_point_384* r, sp_384_mont_sub_15(y, t3, t1, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -30251,7 +30251,7 @@ static void sp_384_proj_point_add_qz1_15(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -30413,7 +30413,7 @@ static void sp_384_get_entry_256_15(sp_point_384* r, r->y[13] = 0; r->y[14] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -36088,7 +36088,7 @@ static void sp_521_map_21(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_21(r->x, p521_mod, p521_mp_mod); /* Reduce x to less than modulus */ n = sp_521_cmp_21(r->x, p521_mod); - sp_521_cond_sub_21(r->x, r->x, p521_mod, ~(n >> 24)); + sp_521_cond_sub_21(r->x, r->x, p521_mod, (sp_digit)~(n >> 24)); sp_521_norm_21(r->x); /* y /= z^3 */ @@ -36097,7 +36097,7 @@ static void sp_521_map_21(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_21(r->y, p521_mod, p521_mp_mod); /* Reduce y to less than modulus */ n = sp_521_cmp_21(r->y, p521_mod); - sp_521_cond_sub_21(r->y, r->y, p521_mod, ~(n >> 24)); + sp_521_cond_sub_21(r->y, r->y, p521_mod, (sp_digit)~(n >> 24)); sp_521_norm_21(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -36577,8 +36577,8 @@ static void sp_521_proj_point_add_21(sp_point_521* r, sp_521_mont_sub_21(y, y, t5, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -36595,7 +36595,7 @@ static void sp_521_proj_point_add_21(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -36769,8 +36769,8 @@ static int sp_521_proj_point_add_21_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -36787,7 +36787,7 @@ static int sp_521_proj_point_add_21_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -37415,7 +37415,7 @@ static void sp_521_ecc_recode_6_21(const sp_digit* k, ecc_recode_521* v) n = k[j]; o = 0; for (i=0; i<87; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 25) { y &= 0x3f; n >>= 6; @@ -37518,7 +37518,7 @@ static void sp_521_get_point_33_21(sp_point_521* r, const sp_point_521* table, r->z[19] = 0; r->z[20] = 0; for (i = 1; i < 33; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -37788,8 +37788,8 @@ static void sp_521_proj_point_add_qz1_21(sp_point_521* r, sp_521_mont_sub_21(y, t3, t1, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -37806,7 +37806,7 @@ static void sp_521_proj_point_add_qz1_21(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -37980,7 +37980,7 @@ static void sp_521_get_entry_256_21(sp_point_521* r, r->y[19] = 0; r->y[20] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -44894,7 +44894,7 @@ static void sp_1024_map_42(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_42(r->x, p1024_mod, p1024_mp_mod); /* Reduce x to less than modulus */ n = sp_1024_cmp_42(r->x, p1024_mod); - sp_1024_cond_sub_42(r->x, r->x, p1024_mod, ~(n >> 24)); + sp_1024_cond_sub_42(r->x, r->x, p1024_mod, (sp_digit)~(n >> 24)); sp_1024_norm_42(r->x); /* y /= z^3 */ @@ -44903,7 +44903,7 @@ static void sp_1024_map_42(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_42(r->y, p1024_mod, p1024_mp_mod); /* Reduce y to less than modulus */ n = sp_1024_cmp_42(r->y, p1024_mod); - sp_1024_cond_sub_42(r->y, r->y, p1024_mod, ~(n >> 24)); + sp_1024_cond_sub_42(r->y, r->y, p1024_mod, (sp_digit)~(n >> 24)); sp_1024_norm_42(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -45362,8 +45362,8 @@ static void sp_1024_proj_point_add_42(sp_point_1024* r, sp_1024_mont_sub_42(y, y, t5, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -45380,7 +45380,7 @@ static void sp_1024_proj_point_add_42(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -45554,8 +45554,8 @@ static int sp_1024_proj_point_add_42_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -45572,7 +45572,7 @@ static int sp_1024_proj_point_add_42_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -46232,7 +46232,7 @@ static void sp_1024_ecc_recode_7_42(const sp_digit* k, ecc_recode_1024* v) n = k[j]; o = 0; for (i=0; i<147; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 7 < 25) { y &= 0x7f; n >>= 7; @@ -46465,8 +46465,8 @@ static void sp_1024_proj_point_add_qz1_42(sp_point_1024* r, sp_1024_mont_sub_42(y, t3, t1, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -46483,7 +46483,7 @@ static void sp_1024_proj_point_add_qz1_42(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -54577,7 +54577,7 @@ static int sp_1024_ecc_is_point_42(const sp_point_1024* point, n = sp_1024_cmp_42(t1, p1024_mod); - sp_1024_cond_sub_42(t1, t1, p1024_mod, ~(n >> 24)); + sp_1024_cond_sub_42(t1, t1, p1024_mod, (sp_digit)~(n >> 24)); sp_1024_norm_42(t1); if (!sp_1024_iszero_42(t1)) { err = MP_VAL; diff --git a/wolfcrypt/src/sp_c64.c b/wolfcrypt/src/sp_c64.c index c4481bd88..136cae4c7 100644 --- a/wolfcrypt/src/sp_c64.c +++ b/wolfcrypt/src/sp_c64.c @@ -71,13 +71,13 @@ #define SP_PRINT_NUM(var, name, total, words, bits) \ do { \ int ii; \ - byte nb[(bits + 7) / 8]; \ + byte nb[((bits) + 7) / 8]; \ sp_digit _s[words]; \ XMEMCPY(_s, var, sizeof(_s)); \ sp_##total##_norm_##words(_s); \ sp_##total##_to_bin_##words(_s, nb); \ fprintf(stderr, name "=0x"); \ - for (ii=0; ii<(bits + 7) / 8; ii++) \ + for (ii=0; ii<((bits) + 7) / 8; ii++) \ fprintf(stderr, "%02x", nb[ii]); \ fprintf(stderr, "\n"); \ } while (0) @@ -1129,7 +1129,7 @@ static int sp_2048_mod_exp_17(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_17(t[0], m, mp); n = sp_2048_cmp_17(t[0], m); - sp_2048_cond_sub_17(t[0], t[0], m, ~(n >> 63)); + sp_2048_cond_sub_17(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 17 * 2); } @@ -1219,7 +1219,7 @@ static int sp_2048_mod_exp_17(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_17(t[0], m, mp); n = sp_2048_cmp_17(t[0], m); - sp_2048_cond_sub_17(t[0], t[0], m, ~(n >> 63)); + sp_2048_cond_sub_17(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 17 * 2); } @@ -1364,7 +1364,7 @@ static int sp_2048_mod_exp_17(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_17(rt, m, mp); n = sp_2048_cmp_17(rt, m); - sp_2048_cond_sub_17(rt, rt, m, ~(n >> 63)); + sp_2048_cond_sub_17(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 34); } @@ -1951,7 +1951,7 @@ static int sp_2048_mod_exp_34(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_34(t[0], m, mp); n = sp_2048_cmp_34(t[0], m); - sp_2048_cond_sub_34(t[0], t[0], m, ~(n >> 63)); + sp_2048_cond_sub_34(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 34 * 2); } @@ -2041,7 +2041,7 @@ static int sp_2048_mod_exp_34(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_34(t[0], m, mp); n = sp_2048_cmp_34(t[0], m); - sp_2048_cond_sub_34(t[0], t[0], m, ~(n >> 63)); + sp_2048_cond_sub_34(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 34 * 2); } @@ -2169,7 +2169,7 @@ static int sp_2048_mod_exp_34(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_34(rt, m, mp); n = sp_2048_cmp_34(rt, m); - sp_2048_cond_sub_34(rt, rt, m, ~(n >> 63)); + sp_2048_cond_sub_34(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 68); } @@ -3123,7 +3123,7 @@ static int sp_2048_mod_exp_2_34(sp_digit* r, const sp_digit* e, int bits, const sp_2048_mont_reduce_34(r, m, mp); n = sp_2048_cmp_34(r, m); - sp_2048_cond_sub_34(r, r, m, ~(n >> 63)); + sp_2048_cond_sub_34(r, r, m, (sp_digit)~(n >> 63)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -4653,7 +4653,7 @@ static int sp_2048_mod_exp_18(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_18(t[0], m, mp); n = sp_2048_cmp_18(t[0], m); - sp_2048_cond_sub_18(t[0], t[0], m, ~(n >> 63)); + sp_2048_cond_sub_18(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 18 * 2); } @@ -4743,7 +4743,7 @@ static int sp_2048_mod_exp_18(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_18(t[0], m, mp); n = sp_2048_cmp_18(t[0], m); - sp_2048_cond_sub_18(t[0], t[0], m, ~(n >> 63)); + sp_2048_cond_sub_18(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 18 * 2); } @@ -4888,7 +4888,7 @@ static int sp_2048_mod_exp_18(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_18(rt, m, mp); n = sp_2048_cmp_18(rt, m); - sp_2048_cond_sub_18(rt, rt, m, ~(n >> 63)); + sp_2048_cond_sub_18(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 36); } @@ -5538,7 +5538,7 @@ static int sp_2048_mod_exp_36(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_36(t[0], m, mp); n = sp_2048_cmp_36(t[0], m); - sp_2048_cond_sub_36(t[0], t[0], m, ~(n >> 63)); + sp_2048_cond_sub_36(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 36 * 2); } @@ -5628,7 +5628,7 @@ static int sp_2048_mod_exp_36(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_36(t[0], m, mp); n = sp_2048_cmp_36(t[0], m); - sp_2048_cond_sub_36(t[0], t[0], m, ~(n >> 63)); + sp_2048_cond_sub_36(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 36 * 2); } @@ -5756,7 +5756,7 @@ static int sp_2048_mod_exp_36(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_2048_mont_reduce_36(rt, m, mp); n = sp_2048_cmp_36(rt, m); - sp_2048_cond_sub_36(rt, rt, m, ~(n >> 63)); + sp_2048_cond_sub_36(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 72); } @@ -6781,7 +6781,7 @@ static int sp_2048_mod_exp_2_36(sp_digit* r, const sp_digit* e, int bits, const sp_2048_mont_reduce_36(r, m, mp); n = sp_2048_cmp_36(r, m); - sp_2048_cond_sub_36(r, r, m, ~(n >> 63)); + sp_2048_cond_sub_36(r, r, m, (sp_digit)~(n >> 63)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -7984,7 +7984,7 @@ static int sp_3072_mod_exp_26(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_26(t[0], m, mp); n = sp_3072_cmp_26(t[0], m); - sp_3072_cond_sub_26(t[0], t[0], m, ~(n >> 63)); + sp_3072_cond_sub_26(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 26 * 2); } @@ -8074,7 +8074,7 @@ static int sp_3072_mod_exp_26(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_26(t[0], m, mp); n = sp_3072_cmp_26(t[0], m); - sp_3072_cond_sub_26(t[0], t[0], m, ~(n >> 63)); + sp_3072_cond_sub_26(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 26 * 2); } @@ -8219,7 +8219,7 @@ static int sp_3072_mod_exp_26(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_26(rt, m, mp); n = sp_3072_cmp_26(rt, m); - sp_3072_cond_sub_26(rt, rt, m, ~(n >> 63)); + sp_3072_cond_sub_26(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 52); } @@ -8812,7 +8812,7 @@ static int sp_3072_mod_exp_52(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_52(t[0], m, mp); n = sp_3072_cmp_52(t[0], m); - sp_3072_cond_sub_52(t[0], t[0], m, ~(n >> 63)); + sp_3072_cond_sub_52(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 52 * 2); } @@ -8902,7 +8902,7 @@ static int sp_3072_mod_exp_52(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_52(t[0], m, mp); n = sp_3072_cmp_52(t[0], m); - sp_3072_cond_sub_52(t[0], t[0], m, ~(n >> 63)); + sp_3072_cond_sub_52(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 52 * 2); } @@ -9030,7 +9030,7 @@ static int sp_3072_mod_exp_52(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_52(rt, m, mp); n = sp_3072_cmp_52(rt, m); - sp_3072_cond_sub_52(rt, rt, m, ~(n >> 63)); + sp_3072_cond_sub_52(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 104); } @@ -9984,7 +9984,7 @@ static int sp_3072_mod_exp_2_52(sp_digit* r, const sp_digit* e, int bits, const sp_3072_mont_reduce_52(r, m, mp); n = sp_3072_cmp_52(r, m); - sp_3072_cond_sub_52(r, r, m, ~(n >> 63)); + sp_3072_cond_sub_52(r, r, m, (sp_digit)~(n >> 63)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -11652,7 +11652,7 @@ static int sp_3072_mod_exp_27(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_27(t[0], m, mp); n = sp_3072_cmp_27(t[0], m); - sp_3072_cond_sub_27(t[0], t[0], m, ~(n >> 63)); + sp_3072_cond_sub_27(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 27 * 2); } @@ -11742,7 +11742,7 @@ static int sp_3072_mod_exp_27(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_27(t[0], m, mp); n = sp_3072_cmp_27(t[0], m); - sp_3072_cond_sub_27(t[0], t[0], m, ~(n >> 63)); + sp_3072_cond_sub_27(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 27 * 2); } @@ -11887,7 +11887,7 @@ static int sp_3072_mod_exp_27(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_27(rt, m, mp); n = sp_3072_cmp_27(rt, m); - sp_3072_cond_sub_27(rt, rt, m, ~(n >> 63)); + sp_3072_cond_sub_27(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 54); } @@ -12548,7 +12548,7 @@ static int sp_3072_mod_exp_54(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_54(t[0], m, mp); n = sp_3072_cmp_54(t[0], m); - sp_3072_cond_sub_54(t[0], t[0], m, ~(n >> 63)); + sp_3072_cond_sub_54(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 54 * 2); } @@ -12638,7 +12638,7 @@ static int sp_3072_mod_exp_54(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_54(t[0], m, mp); n = sp_3072_cmp_54(t[0], m); - sp_3072_cond_sub_54(t[0], t[0], m, ~(n >> 63)); + sp_3072_cond_sub_54(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 54 * 2); } @@ -12766,7 +12766,7 @@ static int sp_3072_mod_exp_54(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_3072_mont_reduce_54(rt, m, mp); n = sp_3072_cmp_54(rt, m); - sp_3072_cond_sub_54(rt, rt, m, ~(n >> 63)); + sp_3072_cond_sub_54(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 108); } @@ -13827,7 +13827,7 @@ static int sp_3072_mod_exp_2_54(sp_digit* r, const sp_digit* e, int bits, const sp_3072_mont_reduce_54(r, m, mp); n = sp_3072_cmp_54(r, m); - sp_3072_cond_sub_54(r, r, m, ~(n >> 63)); + sp_3072_cond_sub_54(r, r, m, (sp_digit)~(n >> 63)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -15036,7 +15036,7 @@ static int sp_4096_mod_exp_35(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_35(t[0], m, mp); n = sp_4096_cmp_35(t[0], m); - sp_4096_cond_sub_35(t[0], t[0], m, ~(n >> 63)); + sp_4096_cond_sub_35(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 35 * 2); } @@ -15126,7 +15126,7 @@ static int sp_4096_mod_exp_35(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_35(t[0], m, mp); n = sp_4096_cmp_35(t[0], m); - sp_4096_cond_sub_35(t[0], t[0], m, ~(n >> 63)); + sp_4096_cond_sub_35(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 35 * 2); } @@ -15271,7 +15271,7 @@ static int sp_4096_mod_exp_35(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_35(rt, m, mp); n = sp_4096_cmp_35(rt, m); - sp_4096_cond_sub_35(rt, rt, m, ~(n >> 63)); + sp_4096_cond_sub_35(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 70); } @@ -15859,7 +15859,7 @@ static int sp_4096_mod_exp_70(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_70(t[0], m, mp); n = sp_4096_cmp_70(t[0], m); - sp_4096_cond_sub_70(t[0], t[0], m, ~(n >> 63)); + sp_4096_cond_sub_70(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 70 * 2); } @@ -15949,7 +15949,7 @@ static int sp_4096_mod_exp_70(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_70(t[0], m, mp); n = sp_4096_cmp_70(t[0], m); - sp_4096_cond_sub_70(t[0], t[0], m, ~(n >> 63)); + sp_4096_cond_sub_70(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 70 * 2); } @@ -16077,7 +16077,7 @@ static int sp_4096_mod_exp_70(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_70(rt, m, mp); n = sp_4096_cmp_70(rt, m); - sp_4096_cond_sub_70(rt, rt, m, ~(n >> 63)); + sp_4096_cond_sub_70(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 140); } @@ -17031,7 +17031,7 @@ static int sp_4096_mod_exp_2_70(sp_digit* r, const sp_digit* e, int bits, const sp_4096_mont_reduce_70(r, m, mp); n = sp_4096_cmp_70(r, m); - sp_4096_cond_sub_70(r, r, m, ~(n >> 63)); + sp_4096_cond_sub_70(r, r, m, (sp_digit)~(n >> 63)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -18754,7 +18754,7 @@ static int sp_4096_mod_exp_39(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_39(t[0], m, mp); n = sp_4096_cmp_39(t[0], m); - sp_4096_cond_sub_39(t[0], t[0], m, ~(n >> 63)); + sp_4096_cond_sub_39(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 39 * 2); } @@ -18844,7 +18844,7 @@ static int sp_4096_mod_exp_39(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_39(t[0], m, mp); n = sp_4096_cmp_39(t[0], m); - sp_4096_cond_sub_39(t[0], t[0], m, ~(n >> 63)); + sp_4096_cond_sub_39(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 39 * 2); } @@ -18989,7 +18989,7 @@ static int sp_4096_mod_exp_39(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_39(rt, m, mp); n = sp_4096_cmp_39(rt, m); - sp_4096_cond_sub_39(rt, rt, m, ~(n >> 63)); + sp_4096_cond_sub_39(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 78); } @@ -19651,7 +19651,7 @@ static int sp_4096_mod_exp_78(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_78(t[0], m, mp); n = sp_4096_cmp_78(t[0], m); - sp_4096_cond_sub_78(t[0], t[0], m, ~(n >> 63)); + sp_4096_cond_sub_78(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 78 * 2); } @@ -19741,7 +19741,7 @@ static int sp_4096_mod_exp_78(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_78(t[0], m, mp); n = sp_4096_cmp_78(t[0], m); - sp_4096_cond_sub_78(t[0], t[0], m, ~(n >> 63)); + sp_4096_cond_sub_78(t[0], t[0], m, (sp_digit)~(n >> 63)); XMEMCPY(r, t[0], sizeof(*r) * 78 * 2); } @@ -19869,7 +19869,7 @@ static int sp_4096_mod_exp_78(sp_digit* r, const sp_digit* a, const sp_digit* e, sp_4096_mont_reduce_78(rt, m, mp); n = sp_4096_cmp_78(rt, m); - sp_4096_cond_sub_78(rt, rt, m, ~(n >> 63)); + sp_4096_cond_sub_78(rt, rt, m, (sp_digit)~(n >> 63)); XMEMCPY(r, rt, sizeof(sp_digit) * 156); } @@ -20978,7 +20978,7 @@ static int sp_4096_mod_exp_2_78(sp_digit* r, const sp_digit* e, int bits, const sp_4096_mont_reduce_78(r, m, mp); n = sp_4096_cmp_78(r, m); - sp_4096_cond_sub_78(r, r, m, ~(n >> 63)); + sp_4096_cond_sub_78(r, r, m, (sp_digit)~(n >> 63)); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -22013,7 +22013,7 @@ static void sp_256_map_5(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_5(r->x, p256_mod, p256_mp_mod); /* Reduce x to less than modulus */ n = sp_256_cmp_5(r->x, p256_mod); - sp_256_cond_sub_5(r->x, r->x, p256_mod, ~(n >> 51)); + sp_256_cond_sub_5(r->x, r->x, p256_mod, (sp_digit)~(n >> 51)); sp_256_norm_5(r->x); /* y /= z^3 */ @@ -22022,7 +22022,7 @@ static void sp_256_map_5(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_5(r->y, p256_mod, p256_mp_mod); /* Reduce y to less than modulus */ n = sp_256_cmp_5(r->y, p256_mod); - sp_256_cond_sub_5(r->y, r->y, p256_mod, ~(n >> 51)); + sp_256_cond_sub_5(r->y, r->y, p256_mod, (sp_digit)~(n >> 51)); sp_256_norm_5(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -22467,8 +22467,8 @@ static void sp_256_proj_point_add_5(sp_point_256* r, sp_256_mont_sub_5(y, y, t5, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -22485,7 +22485,7 @@ static void sp_256_proj_point_add_5(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -22659,8 +22659,8 @@ static int sp_256_proj_point_add_5_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -22677,7 +22677,7 @@ static int sp_256_proj_point_add_5_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -23363,7 +23363,7 @@ static void sp_256_ecc_recode_6_5(const sp_digit* k, ecc_recode_256* v) n = k[j]; o = 0; for (i=0; i<43; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 52) { y &= 0x3f; n >>= 6; @@ -23418,7 +23418,7 @@ static void sp_256_get_point_33_5(sp_point_256* r, const sp_point_256* table, r->z[3] = 0; r->z[4] = 0; for (i = 1; i < 33; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -23640,8 +23640,8 @@ static void sp_256_proj_point_add_qz1_5(sp_point_256* r, sp_256_mont_sub_5(y, t3, t1, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -23658,7 +23658,7 @@ static void sp_256_proj_point_add_qz1_5(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -23800,7 +23800,7 @@ static void sp_256_get_entry_256_5(sp_point_256* r, r->y[3] = 0; r->y[4] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -28908,7 +28908,7 @@ static void sp_384_map_7(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_7(r->x, p384_mod, p384_mp_mod); /* Reduce x to less than modulus */ n = sp_384_cmp_7(r->x, p384_mod); - sp_384_cond_sub_7(r->x, r->x, p384_mod, ~(n >> 54)); + sp_384_cond_sub_7(r->x, r->x, p384_mod, (sp_digit)~(n >> 54)); sp_384_norm_7(r->x); /* y /= z^3 */ @@ -28917,7 +28917,7 @@ static void sp_384_map_7(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_7(r->y, p384_mod, p384_mp_mod); /* Reduce y to less than modulus */ n = sp_384_cmp_7(r->y, p384_mod); - sp_384_cond_sub_7(r->y, r->y, p384_mod, ~(n >> 54)); + sp_384_cond_sub_7(r->y, r->y, p384_mod, (sp_digit)~(n >> 54)); sp_384_norm_7(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -29367,8 +29367,8 @@ static void sp_384_proj_point_add_7(sp_point_384* r, sp_384_mont_sub_7(y, y, t5, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -29385,7 +29385,7 @@ static void sp_384_proj_point_add_7(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -29559,8 +29559,8 @@ static int sp_384_proj_point_add_7_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -29577,7 +29577,7 @@ static int sp_384_proj_point_add_7_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -30299,7 +30299,7 @@ static void sp_384_ecc_recode_6_7(const sp_digit* k, ecc_recode_384* v) n = k[j]; o = 0; for (i=0; i<65; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 55) { y &= 0x3f; n >>= 6; @@ -30360,7 +30360,7 @@ static void sp_384_get_point_33_7(sp_point_384* r, const sp_point_384* table, r->z[5] = 0; r->z[6] = 0; for (i = 1; i < 33; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -30588,8 +30588,8 @@ static void sp_384_proj_point_add_qz1_7(sp_point_384* r, sp_384_mont_sub_7(y, t3, t1, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -30606,7 +30606,7 @@ static void sp_384_proj_point_add_qz1_7(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -30752,7 +30752,7 @@ static void sp_384_get_entry_256_7(sp_point_384* r, r->y[5] = 0; r->y[6] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -36418,7 +36418,7 @@ static void sp_521_map_9(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_9(r->x, p521_mod, p521_mp_mod); /* Reduce x to less than modulus */ n = sp_521_cmp_9(r->x, p521_mod); - sp_521_cond_sub_9(r->x, r->x, p521_mod, ~(n >> 57)); + sp_521_cond_sub_9(r->x, r->x, p521_mod, (sp_digit)~(n >> 57)); sp_521_norm_9(r->x); /* y /= z^3 */ @@ -36427,7 +36427,7 @@ static void sp_521_map_9(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_9(r->y, p521_mod, p521_mp_mod); /* Reduce y to less than modulus */ n = sp_521_cmp_9(r->y, p521_mod); - sp_521_cond_sub_9(r->y, r->y, p521_mod, ~(n >> 57)); + sp_521_cond_sub_9(r->y, r->y, p521_mod, (sp_digit)~(n >> 57)); sp_521_norm_9(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -36882,8 +36882,8 @@ static void sp_521_proj_point_add_9(sp_point_521* r, sp_521_mont_sub_9(y, y, t5, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -36900,7 +36900,7 @@ static void sp_521_proj_point_add_9(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -37074,8 +37074,8 @@ static int sp_521_proj_point_add_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -37092,7 +37092,7 @@ static int sp_521_proj_point_add_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -37696,7 +37696,7 @@ static void sp_521_ecc_recode_6_9(const sp_digit* k, ecc_recode_521* v) n = k[j]; o = 0; for (i=0; i<87; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 58) { y &= 0x3f; n >>= 6; @@ -37763,7 +37763,7 @@ static void sp_521_get_point_33_9(sp_point_521* r, const sp_point_521* table, r->z[7] = 0; r->z[8] = 0; for (i = 1; i < 33; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -37997,8 +37997,8 @@ static void sp_521_proj_point_add_qz1_9(sp_point_521* r, sp_521_mont_sub_9(y, t3, t1, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -38015,7 +38015,7 @@ static void sp_521_proj_point_add_qz1_9(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -38165,7 +38165,7 @@ static void sp_521_get_entry_256_9(sp_point_521* r, r->y[7] = 0; r->y[8] = 0; for (i = 1; i < 256; i++) { - mask = 0 - (i == idx); + mask = (sp_digit)0 - (i == idx); r->x[0] |= mask & table[i].x[0]; r->x[1] |= mask & table[i].x[1]; r->x[2] |= mask & table[i].x[2]; @@ -44320,7 +44320,7 @@ static void sp_1024_map_18(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_18(r->x, p1024_mod, p1024_mp_mod); /* Reduce x to less than modulus */ n = sp_1024_cmp_18(r->x, p1024_mod); - sp_1024_cond_sub_18(r->x, r->x, p1024_mod, ~(n >> 56)); + sp_1024_cond_sub_18(r->x, r->x, p1024_mod, (sp_digit)~(n >> 56)); sp_1024_norm_18(r->x); /* y /= z^3 */ @@ -44329,7 +44329,7 @@ static void sp_1024_map_18(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_18(r->y, p1024_mod, p1024_mp_mod); /* Reduce y to less than modulus */ n = sp_1024_cmp_18(r->y, p1024_mod); - sp_1024_cond_sub_18(r->y, r->y, p1024_mod, ~(n >> 56)); + sp_1024_cond_sub_18(r->y, r->y, p1024_mod, (sp_digit)~(n >> 56)); sp_1024_norm_18(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -44753,8 +44753,8 @@ static void sp_1024_proj_point_add_18(sp_point_1024* r, sp_1024_mont_sub_18(y, y, t5, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -44771,7 +44771,7 @@ static void sp_1024_proj_point_add_18(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -44945,8 +44945,8 @@ static int sp_1024_proj_point_add_18_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -44963,7 +44963,7 @@ static int sp_1024_proj_point_add_18_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -45575,7 +45575,7 @@ static void sp_1024_ecc_recode_7_18(const sp_digit* k, ecc_recode_1024* v) n = k[j]; o = 0; for (i=0; i<147; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 7 < 57) { y &= 0x7f; n >>= 7; @@ -45808,8 +45808,8 @@ static void sp_1024_proj_point_add_qz1_18(sp_point_1024* r, sp_1024_mont_sub_18(y, t3, t1, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -45826,7 +45826,7 @@ static void sp_1024_proj_point_add_qz1_18(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -53150,7 +53150,7 @@ static int sp_1024_ecc_is_point_18(const sp_point_1024* point, n = sp_1024_cmp_18(t1, p1024_mod); - sp_1024_cond_sub_18(t1, t1, p1024_mod, ~(n >> 56)); + sp_1024_cond_sub_18(t1, t1, p1024_mod, (sp_digit)~(n >> 56)); sp_1024_norm_18(t1); if (!sp_1024_iszero_18(t1)) { err = MP_VAL; diff --git a/wolfcrypt/src/sp_x86_64.c b/wolfcrypt/src/sp_x86_64.c index 19fba3379..d91357984 100644 --- a/wolfcrypt/src/sp_x86_64.c +++ b/wolfcrypt/src/sp_x86_64.c @@ -67,7 +67,7 @@ do { \ int ii; \ fprintf(stderr, name "=0x"); \ - for (ii = ((bits + 63) / 64) - 1; ii >= 0; ii--) \ + for (ii = (((bits) + 63) / 64) - 1; ii >= 0; ii--) \ fprintf(stderr, SP_PRINT_FMT, (var)[ii]); \ fprintf(stderr, "\n"); \ } while (0) @@ -492,8 +492,8 @@ static WC_INLINE sp_digit div_2048_word_16(sp_digit d1, sp_digit d0, static WC_INLINE sp_digit div_2048_word_16(sp_digit d1, sp_digit d0, sp_digit div) { - ASSERT_SAVED_VECTOR_REGISTERS(); register sp_digit r asm("rax"); + ASSERT_SAVED_VECTOR_REGISTERS(); __asm__ __volatile__ ( "divq %3" : "=a" (r) @@ -575,7 +575,7 @@ static WC_INLINE int sp_2048_div_16(const sp_digit* a, const sp_digit* d, sp_dig #endif sp_2048_cond_sub_16(&t1[16], &t1[16], d, (sp_digit)0 - r1); for (i = 15; i >= 0; i--) { - sp_digit mask = 0 - (t1[16 + i] == div); + sp_digit mask = (sp_digit)0 - (t1[16 + i] == div); sp_digit hi = t1[16 + i] + mask; r1 = div_2048_word_16(hi, t1[16 + i - 1], div); r1 |= mask; @@ -806,7 +806,7 @@ static int sp_2048_mod_exp_16(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[16], 0, sizeof(sp_digit) * 16); sp_2048_mont_reduce_16(r, m, mp); - mask = 0 - (sp_2048_cmp_16(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_16(r, m) >= 0); sp_2048_cond_sub_16(r, r, m, mask); } @@ -1046,7 +1046,7 @@ static int sp_2048_mod_exp_avx2_16(sp_digit* r, const sp_digit* a, const sp_digi XMEMSET(&r[16], 0, sizeof(sp_digit) * 16); sp_2048_mont_reduce_avx2_16(r, m, mp); - mask = 0 - (sp_2048_cmp_16(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_16(r, m) >= 0); sp_2048_cond_sub_avx2_16(r, r, m, mask); } @@ -1174,8 +1174,8 @@ static WC_INLINE sp_digit div_2048_word_32(sp_digit d1, sp_digit d0, static WC_INLINE sp_digit div_2048_word_32(sp_digit d1, sp_digit d0, sp_digit div) { - ASSERT_SAVED_VECTOR_REGISTERS(); register sp_digit r asm("rax"); + ASSERT_SAVED_VECTOR_REGISTERS(); __asm__ __volatile__ ( "divq %3" : "=a" (r) @@ -1350,7 +1350,7 @@ static WC_INLINE int sp_2048_div_32(const sp_digit* a, const sp_digit* d, sp_dig #endif sp_2048_cond_sub_32(&t1[32], &t1[32], d, (sp_digit)0 - r1); for (i = 31; i >= 0; i--) { - sp_digit mask = 0 - (t1[32 + i] == div); + sp_digit mask = (sp_digit)0 - (t1[32 + i] == div); sp_digit hi = t1[32 + i] + mask; r1 = div_2048_word_32(hi, t1[32 + i - 1], div); r1 |= mask; @@ -1616,7 +1616,7 @@ static int sp_2048_mod_exp_32(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[32], 0, sizeof(sp_digit) * 32); sp_2048_mont_reduce_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_32(r, r, m, mask); } @@ -1891,7 +1891,7 @@ static int sp_2048_mod_exp_avx2_32(sp_digit* r, const sp_digit* a, const sp_digi XMEMSET(&r[32], 0, sizeof(sp_digit) * 32); sp_2048_mont_reduce_avx2_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_avx2_32(r, r, m, mask); } @@ -1961,7 +1961,7 @@ int sp_RsaPublic_2048(const byte* in, word32 inLen, const mp_int* em, m = r + 32 * 2; ah = a + 32; - sp_2048_from_bin(ah, 32, in, inLen); + sp_2048_from_bin(ah, 32, in, (int)inLen); #if DIGIT_BIT >= 64 e = em->dp[0]; #else @@ -2182,7 +2182,7 @@ int sp_RsaPrivate_2048(const byte* in, word32 inLen, const mp_int* dm, r = a; - sp_2048_from_bin(a, 32, in, inLen); + sp_2048_from_bin(a, 32, in, (int)inLen); sp_2048_from_mp(d, 32, dm); sp_2048_from_mp(m, 32, mm); err = sp_2048_mod_exp_32(r, a, d, 2048, m, 0); @@ -2300,7 +2300,7 @@ int sp_RsaPrivate_2048(const byte* in, word32 inLen, const mp_int* dm, tmpb = tmpa + 32; r = a + 32; - sp_2048_from_bin(a, 32, in, inLen); + sp_2048_from_bin(a, 32, in, (int)inLen); sp_2048_from_mp(p, 16, pm); sp_2048_from_mp(q, 16, qm); sp_2048_from_mp(dp, 16, dpm); @@ -2675,7 +2675,7 @@ static int sp_2048_mod_exp_2_avx2_32(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[32], 0, sizeof(sp_digit) * 32); sp_2048_mont_reduce_avx2_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_avx2_32(r, r, m, mask); } @@ -2813,7 +2813,7 @@ static int sp_2048_mod_exp_2_32(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[32], 0, sizeof(sp_digit) * 32); sp_2048_mont_reduce_32(r, m, mp); - mask = 0 - (sp_2048_cmp_32(r, m) >= 0); + mask = (sp_digit)0 - (sp_2048_cmp_32(r, m) >= 0); sp_2048_cond_sub_32(r, r, m, mask); } @@ -2888,27 +2888,27 @@ int sp_DhExp_2048(const mp_int* base, const byte* exp, word32 expLen, if (err == MP_OKAY) { sp_2048_from_mp(b, 32, base); - sp_2048_from_bin(e, 32, exp, expLen); + sp_2048_from_bin(e, 32, exp, (int)expLen); sp_2048_from_mp(m, 32, mod); #ifdef HAVE_FFDHE_2048 if (base->used == 1 && base->dp[0] == 2 && m[31] == (sp_digit)-1) { #ifdef HAVE_INTEL_AVX2 if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) - err = sp_2048_mod_exp_2_avx2_32(r, e, expLen * 8, m); + err = sp_2048_mod_exp_2_avx2_32(r, e, (int)expLen * 8, m); else #endif - err = sp_2048_mod_exp_2_32(r, e, expLen * 8, m); + err = sp_2048_mod_exp_2_32(r, e, (int)expLen * 8, m); } else #endif { #ifdef HAVE_INTEL_AVX2 if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) - err = sp_2048_mod_exp_avx2_32(r, b, e, expLen * 8, m, 0); + err = sp_2048_mod_exp_avx2_32(r, b, e, (int)expLen * 8, m, 0); else #endif - err = sp_2048_mod_exp_32(r, b, e, expLen * 8, m, 0); + err = sp_2048_mod_exp_32(r, b, e, (int)expLen * 8, m, 0); } } @@ -3481,8 +3481,8 @@ static WC_INLINE sp_digit div_3072_word_24(sp_digit d1, sp_digit d0, static WC_INLINE sp_digit div_3072_word_24(sp_digit d1, sp_digit d0, sp_digit div) { - ASSERT_SAVED_VECTOR_REGISTERS(); register sp_digit r asm("rax"); + ASSERT_SAVED_VECTOR_REGISTERS(); __asm__ __volatile__ ( "divq %3" : "=a" (r) @@ -3564,7 +3564,7 @@ static WC_INLINE int sp_3072_div_24(const sp_digit* a, const sp_digit* d, sp_dig #endif sp_3072_cond_sub_24(&t1[24], &t1[24], d, (sp_digit)0 - r1); for (i = 23; i >= 0; i--) { - sp_digit mask = 0 - (t1[24 + i] == div); + sp_digit mask = (sp_digit)0 - (t1[24 + i] == div); sp_digit hi = t1[24 + i] + mask; r1 = div_3072_word_24(hi, t1[24 + i - 1], div); r1 |= mask; @@ -3795,7 +3795,7 @@ static int sp_3072_mod_exp_24(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[24], 0, sizeof(sp_digit) * 24); sp_3072_mont_reduce_24(r, m, mp); - mask = 0 - (sp_3072_cmp_24(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_24(r, m) >= 0); sp_3072_cond_sub_24(r, r, m, mask); } @@ -4035,7 +4035,7 @@ static int sp_3072_mod_exp_avx2_24(sp_digit* r, const sp_digit* a, const sp_digi XMEMSET(&r[24], 0, sizeof(sp_digit) * 24); sp_3072_mont_reduce_avx2_24(r, m, mp); - mask = 0 - (sp_3072_cmp_24(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_24(r, m) >= 0); sp_3072_cond_sub_avx2_24(r, r, m, mask); } @@ -4163,8 +4163,8 @@ static WC_INLINE sp_digit div_3072_word_48(sp_digit d1, sp_digit d0, static WC_INLINE sp_digit div_3072_word_48(sp_digit d1, sp_digit d0, sp_digit div) { - ASSERT_SAVED_VECTOR_REGISTERS(); register sp_digit r asm("rax"); + ASSERT_SAVED_VECTOR_REGISTERS(); __asm__ __volatile__ ( "divq %3" : "=a" (r) @@ -4339,7 +4339,7 @@ static WC_INLINE int sp_3072_div_48(const sp_digit* a, const sp_digit* d, sp_dig #endif sp_3072_cond_sub_48(&t1[48], &t1[48], d, (sp_digit)0 - r1); for (i = 47; i >= 0; i--) { - sp_digit mask = 0 - (t1[48 + i] == div); + sp_digit mask = (sp_digit)0 - (t1[48 + i] == div); sp_digit hi = t1[48 + i] + mask; r1 = div_3072_word_48(hi, t1[48 + i - 1], div); r1 |= mask; @@ -4553,7 +4553,7 @@ static int sp_3072_mod_exp_48(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[48], 0, sizeof(sp_digit) * 48); sp_3072_mont_reduce_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_48(r, r, m, mask); } @@ -4776,7 +4776,7 @@ static int sp_3072_mod_exp_avx2_48(sp_digit* r, const sp_digit* a, const sp_digi XMEMSET(&r[48], 0, sizeof(sp_digit) * 48); sp_3072_mont_reduce_avx2_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_avx2_48(r, r, m, mask); } @@ -4846,7 +4846,7 @@ int sp_RsaPublic_3072(const byte* in, word32 inLen, const mp_int* em, m = r + 48 * 2; ah = a + 48; - sp_3072_from_bin(ah, 48, in, inLen); + sp_3072_from_bin(ah, 48, in, (int)inLen); #if DIGIT_BIT >= 64 e = em->dp[0]; #else @@ -5067,7 +5067,7 @@ int sp_RsaPrivate_3072(const byte* in, word32 inLen, const mp_int* dm, r = a; - sp_3072_from_bin(a, 48, in, inLen); + sp_3072_from_bin(a, 48, in, (int)inLen); sp_3072_from_mp(d, 48, dm); sp_3072_from_mp(m, 48, mm); err = sp_3072_mod_exp_48(r, a, d, 3072, m, 0); @@ -5185,7 +5185,7 @@ int sp_RsaPrivate_3072(const byte* in, word32 inLen, const mp_int* dm, tmpb = tmpa + 48; r = a + 48; - sp_3072_from_bin(a, 48, in, inLen); + sp_3072_from_bin(a, 48, in, (int)inLen); sp_3072_from_mp(p, 24, pm); sp_3072_from_mp(q, 24, qm); sp_3072_from_mp(dp, 24, dpm); @@ -5560,7 +5560,7 @@ static int sp_3072_mod_exp_2_avx2_48(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[48], 0, sizeof(sp_digit) * 48); sp_3072_mont_reduce_avx2_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_avx2_48(r, r, m, mask); } @@ -5698,7 +5698,7 @@ static int sp_3072_mod_exp_2_48(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[48], 0, sizeof(sp_digit) * 48); sp_3072_mont_reduce_48(r, m, mp); - mask = 0 - (sp_3072_cmp_48(r, m) >= 0); + mask = (sp_digit)0 - (sp_3072_cmp_48(r, m) >= 0); sp_3072_cond_sub_48(r, r, m, mask); } @@ -5773,27 +5773,27 @@ int sp_DhExp_3072(const mp_int* base, const byte* exp, word32 expLen, if (err == MP_OKAY) { sp_3072_from_mp(b, 48, base); - sp_3072_from_bin(e, 48, exp, expLen); + sp_3072_from_bin(e, 48, exp, (int)expLen); sp_3072_from_mp(m, 48, mod); #ifdef HAVE_FFDHE_3072 if (base->used == 1 && base->dp[0] == 2 && m[47] == (sp_digit)-1) { #ifdef HAVE_INTEL_AVX2 if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) - err = sp_3072_mod_exp_2_avx2_48(r, e, expLen * 8, m); + err = sp_3072_mod_exp_2_avx2_48(r, e, (int)expLen * 8, m); else #endif - err = sp_3072_mod_exp_2_48(r, e, expLen * 8, m); + err = sp_3072_mod_exp_2_48(r, e, (int)expLen * 8, m); } else #endif { #ifdef HAVE_INTEL_AVX2 if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) - err = sp_3072_mod_exp_avx2_48(r, b, e, expLen * 8, m, 0); + err = sp_3072_mod_exp_avx2_48(r, b, e, (int)expLen * 8, m, 0); else #endif - err = sp_3072_mod_exp_48(r, b, e, expLen * 8, m, 0); + err = sp_3072_mod_exp_48(r, b, e, (int)expLen * 8, m, 0); } } @@ -6276,8 +6276,8 @@ static WC_INLINE sp_digit div_4096_word_64(sp_digit d1, sp_digit d0, static WC_INLINE sp_digit div_4096_word_64(sp_digit d1, sp_digit d0, sp_digit div) { - ASSERT_SAVED_VECTOR_REGISTERS(); register sp_digit r asm("rax"); + ASSERT_SAVED_VECTOR_REGISTERS(); __asm__ __volatile__ ( "divq %3" : "=a" (r) @@ -6452,7 +6452,7 @@ static WC_INLINE int sp_4096_div_64(const sp_digit* a, const sp_digit* d, sp_dig #endif sp_4096_cond_sub_64(&t1[64], &t1[64], d, (sp_digit)0 - r1); for (i = 63; i >= 0; i--) { - sp_digit mask = 0 - (t1[64 + i] == div); + sp_digit mask = (sp_digit)0 - (t1[64 + i] == div); sp_digit hi = t1[64 + i] + mask; r1 = div_4096_word_64(hi, t1[64 + i - 1], div); r1 |= mask; @@ -6666,7 +6666,7 @@ static int sp_4096_mod_exp_64(sp_digit* r, const sp_digit* a, const sp_digit* e, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64); sp_4096_mont_reduce_64(r, m, mp); - mask = 0 - (sp_4096_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_64(r, m) >= 0); sp_4096_cond_sub_64(r, r, m, mask); } @@ -6889,7 +6889,7 @@ static int sp_4096_mod_exp_avx2_64(sp_digit* r, const sp_digit* a, const sp_digi XMEMSET(&r[64], 0, sizeof(sp_digit) * 64); sp_4096_mont_reduce_avx2_64(r, m, mp); - mask = 0 - (sp_4096_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_64(r, m) >= 0); sp_4096_cond_sub_avx2_64(r, r, m, mask); } @@ -6959,7 +6959,7 @@ int sp_RsaPublic_4096(const byte* in, word32 inLen, const mp_int* em, m = r + 64 * 2; ah = a + 64; - sp_4096_from_bin(ah, 64, in, inLen); + sp_4096_from_bin(ah, 64, in, (int)inLen); #if DIGIT_BIT >= 64 e = em->dp[0]; #else @@ -7180,7 +7180,7 @@ int sp_RsaPrivate_4096(const byte* in, word32 inLen, const mp_int* dm, r = a; - sp_4096_from_bin(a, 64, in, inLen); + sp_4096_from_bin(a, 64, in, (int)inLen); sp_4096_from_mp(d, 64, dm); sp_4096_from_mp(m, 64, mm); err = sp_4096_mod_exp_64(r, a, d, 4096, m, 0); @@ -7298,7 +7298,7 @@ int sp_RsaPrivate_4096(const byte* in, word32 inLen, const mp_int* dm, tmpb = tmpa + 64; r = a + 64; - sp_4096_from_bin(a, 64, in, inLen); + sp_4096_from_bin(a, 64, in, (int)inLen); sp_4096_from_mp(p, 32, pm); sp_4096_from_mp(q, 32, qm); sp_4096_from_mp(dp, 32, dpm); @@ -7673,7 +7673,7 @@ static int sp_4096_mod_exp_2_avx2_64(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64); sp_4096_mont_reduce_avx2_64(r, m, mp); - mask = 0 - (sp_4096_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_64(r, m) >= 0); sp_4096_cond_sub_avx2_64(r, r, m, mask); } @@ -7811,7 +7811,7 @@ static int sp_4096_mod_exp_2_64(sp_digit* r, const sp_digit* e, int bits, XMEMSET(&r[64], 0, sizeof(sp_digit) * 64); sp_4096_mont_reduce_64(r, m, mp); - mask = 0 - (sp_4096_cmp_64(r, m) >= 0); + mask = (sp_digit)0 - (sp_4096_cmp_64(r, m) >= 0); sp_4096_cond_sub_64(r, r, m, mask); } @@ -7886,27 +7886,27 @@ int sp_DhExp_4096(const mp_int* base, const byte* exp, word32 expLen, if (err == MP_OKAY) { sp_4096_from_mp(b, 64, base); - sp_4096_from_bin(e, 64, exp, expLen); + sp_4096_from_bin(e, 64, exp, (int)expLen); sp_4096_from_mp(m, 64, mod); #ifdef HAVE_FFDHE_4096 if (base->used == 1 && base->dp[0] == 2 && m[63] == (sp_digit)-1) { #ifdef HAVE_INTEL_AVX2 if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) - err = sp_4096_mod_exp_2_avx2_64(r, e, expLen * 8, m); + err = sp_4096_mod_exp_2_avx2_64(r, e, (int)expLen * 8, m); else #endif - err = sp_4096_mod_exp_2_64(r, e, expLen * 8, m); + err = sp_4096_mod_exp_2_64(r, e, (int)expLen * 8, m); } else #endif { #ifdef HAVE_INTEL_AVX2 if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) - err = sp_4096_mod_exp_avx2_64(r, b, e, expLen * 8, m, 0); + err = sp_4096_mod_exp_avx2_64(r, b, e, (int)expLen * 8, m, 0); else #endif - err = sp_4096_mod_exp_64(r, b, e, expLen * 8, m, 0); + err = sp_4096_mod_exp_64(r, b, e, (int)expLen * 8, m, 0); } } @@ -8084,14 +8084,14 @@ static int sp_256_mod_mul_norm_4(sp_digit* r, const sp_digit* a, const sp_digit* (void)m; - a32[0] = a[0] & 0xffffffff; - a32[1] = a[0] >> 32; - a32[2] = a[1] & 0xffffffff; - a32[3] = a[1] >> 32; - a32[4] = a[2] & 0xffffffff; - a32[5] = a[2] >> 32; - a32[6] = a[3] & 0xffffffff; - a32[7] = a[3] >> 32; + a32[0] = (int64_t)(a[0] & 0xffffffff); + a32[1] = (int64_t)(a[0] >> 32); + a32[2] = (int64_t)(a[1] & 0xffffffff); + a32[3] = (int64_t)(a[1] >> 32); + a32[4] = (int64_t)(a[2] & 0xffffffff); + a32[5] = (int64_t)(a[2] >> 32); + a32[6] = (int64_t)(a[3] & 0xffffffff); + a32[7] = (int64_t)(a[3] >> 32); /* 1 1 0 -1 -1 -1 -1 0 */ t[0] = 0 + a32[0] + a32[1] - a32[3] - a32[4] - a32[5] - a32[6]; @@ -8141,10 +8141,10 @@ static int sp_256_mod_mul_norm_4(sp_digit* r, const sp_digit* a, const sp_digit* t[5] += t[4] >> 32; t[4] &= 0xffffffff; t[6] += t[5] >> 32; t[5] &= 0xffffffff; t[7] += t[6] >> 32; t[6] &= 0xffffffff; - r[0] = (t[1] << 32) | t[0]; - r[1] = (t[3] << 32) | t[2]; - r[2] = (t[5] << 32) | t[4]; - r[3] = (t[7] << 32) | t[6]; + r[0] = (sp_digit)((t[1] << 32) | t[0]); + r[1] = (sp_digit)((t[3] << 32) | t[2]); + r[2] = (sp_digit)((t[5] << 32) | t[4]); + r[3] = (sp_digit)((t[7] << 32) | t[6]); return MP_OKAY; } @@ -8519,7 +8519,7 @@ static void sp_256_map_4(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_4(r->x, p256_mod, p256_mp_mod); /* Reduce x to less than modulus */ n = sp_256_cmp_4(r->x, p256_mod); - sp_256_cond_sub_4(r->x, r->x, p256_mod, ~(n >> 63)); + sp_256_cond_sub_4(r->x, r->x, p256_mod, (sp_digit)~(n >> 63)); sp_256_norm_4(r->x); /* y /= z^3 */ @@ -8528,7 +8528,7 @@ static void sp_256_map_4(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_4(r->y, p256_mod, p256_mp_mod); /* Reduce y to less than modulus */ n = sp_256_cmp_4(r->y, p256_mod); - sp_256_cond_sub_4(r->y, r->y, p256_mod, ~(n >> 63)); + sp_256_cond_sub_4(r->y, r->y, p256_mod, (sp_digit)~(n >> 63)); sp_256_norm_4(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -8945,8 +8945,8 @@ static void sp_256_proj_point_add_4(sp_point_256* r, sp_256_mont_sub_4(y, y, t5, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -8963,7 +8963,7 @@ static void sp_256_proj_point_add_4(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -9135,8 +9135,8 @@ static int sp_256_proj_point_add_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -9153,7 +9153,7 @@ static int sp_256_proj_point_add_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -9364,7 +9364,7 @@ static void sp_256_ecc_recode_6_4(const sp_digit* k, ecc_recode_256* v) n = k[j]; o = 0; for (i=0; i<43; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 64) { y &= 0x3f; n >>= 6; @@ -9691,7 +9691,7 @@ static void sp_256_map_avx2_4(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_avx2_4(r->x, p256_mod, p256_mp_mod); /* Reduce x to less than modulus */ n = sp_256_cmp_4(r->x, p256_mod); - sp_256_cond_sub_4(r->x, r->x, p256_mod, ~(n >> 63)); + sp_256_cond_sub_4(r->x, r->x, p256_mod, (sp_digit)~(n >> 63)); sp_256_norm_4(r->x); /* y /= z^3 */ @@ -9700,7 +9700,7 @@ static void sp_256_map_avx2_4(sp_point_256* r, const sp_point_256* p, sp_256_mont_reduce_avx2_4(r->y, p256_mod, p256_mp_mod); /* Reduce y to less than modulus */ n = sp_256_cmp_4(r->y, p256_mod); - sp_256_cond_sub_4(r->y, r->y, p256_mod, ~(n >> 63)); + sp_256_cond_sub_4(r->y, r->y, p256_mod, (sp_digit)~(n >> 63)); sp_256_norm_4(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -10063,8 +10063,8 @@ static void sp_256_proj_point_add_avx2_4(sp_point_256* r, sp_256_mont_sub_avx2_4(y, y, t5, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -10081,7 +10081,7 @@ static void sp_256_proj_point_add_avx2_4(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -10253,8 +10253,8 @@ static int sp_256_proj_point_add_avx2_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -10271,7 +10271,7 @@ static int sp_256_proj_point_add_avx2_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -10644,8 +10644,8 @@ static void sp_256_proj_point_add_qz1_4(sp_point_256* r, sp_256_mont_sub_4(y, t3, t1, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -10662,7 +10662,7 @@ static void sp_256_proj_point_add_qz1_4(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -11133,8 +11133,8 @@ static void sp_256_proj_point_add_qz1_avx2_4(sp_point_256* r, sp_256_mont_sub_avx2_4(y, t3, t1, p256_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -11151,7 +11151,7 @@ static void sp_256_proj_point_add_qz1_avx2_4(sp_point_256* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -12031,7 +12031,7 @@ static void sp_256_ecc_recode_7_4(const sp_digit* k, ecc_recode_256* v) n = k[j]; o = 0; for (i=0; i<37; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 7 < 64) { y &= 0x7f; n >>= 7; @@ -24918,8 +24918,8 @@ static WC_INLINE sp_digit div_256_word_4(sp_digit d1, sp_digit d0, static WC_INLINE sp_digit div_256_word_4(sp_digit d1, sp_digit d0, sp_digit div) { - ASSERT_SAVED_VECTOR_REGISTERS(); register sp_digit r asm("rax"); + ASSERT_SAVED_VECTOR_REGISTERS(); __asm__ __volatile__ ( "divq %3" : "=a" (r) @@ -24986,7 +24986,7 @@ static WC_INLINE int sp_256_div_4(const sp_digit* a, const sp_digit* d, sp_digit #endif sp_256_cond_sub_4(&t1[4], &t1[4], d, (sp_digit)0 - r1); for (i = 3; i >= 0; i--) { - sp_digit mask = 0 - (t1[4 + i] == div); + sp_digit mask = (sp_digit)0 - (t1[4 + i] == div); sp_digit hi = t1[4 + i] + mask; r1 = div_256_word_4(hi, t1[4 + i - 1], div); r1 |= mask; @@ -27129,18 +27129,18 @@ static int sp_384_mod_mul_norm_6(sp_digit* r, const sp_digit* a, const sp_digit* if (err == MP_OKAY) { a32 = t + 12; - a32[0] = a[0] & 0xffffffff; - a32[1] = a[0] >> 32; - a32[2] = a[1] & 0xffffffff; - a32[3] = a[1] >> 32; - a32[4] = a[2] & 0xffffffff; - a32[5] = a[2] >> 32; - a32[6] = a[3] & 0xffffffff; - a32[7] = a[3] >> 32; - a32[8] = a[4] & 0xffffffff; - a32[9] = a[4] >> 32; - a32[10] = a[5] & 0xffffffff; - a32[11] = a[5] >> 32; + a32[0] = (int64_t)(a[0] & 0xffffffff); + a32[1] = (int64_t)(a[0] >> 32); + a32[2] = (int64_t)(a[1] & 0xffffffff); + a32[3] = (int64_t)(a[1] >> 32); + a32[4] = (int64_t)(a[2] & 0xffffffff); + a32[5] = (int64_t)(a[2] >> 32); + a32[6] = (int64_t)(a[3] & 0xffffffff); + a32[7] = (int64_t)(a[3] >> 32); + a32[8] = (int64_t)(a[4] & 0xffffffff); + a32[9] = (int64_t)(a[4] >> 32); + a32[10] = (int64_t)(a[5] & 0xffffffff); + a32[11] = (int64_t)(a[5] >> 32); /* 1 0 0 0 0 0 0 0 1 1 0 -1 */ t[0] = 0 + a32[0] + a32[8] + a32[9] - a32[11]; @@ -27195,12 +27195,12 @@ static int sp_384_mod_mul_norm_6(sp_digit* r, const sp_digit* a, const sp_digit* t[10] += t[9] >> 32; t[9] &= 0xffffffff; t[11] += t[10] >> 32; t[10] &= 0xffffffff; - r[0] = (t[1] << 32) | t[0]; - r[1] = (t[3] << 32) | t[2]; - r[2] = (t[5] << 32) | t[4]; - r[3] = (t[7] << 32) | t[6]; - r[4] = (t[9] << 32) | t[8]; - r[5] = (t[11] << 32) | t[10]; + r[0] = (sp_digit)((t[1] << 32) | t[0]); + r[1] = (sp_digit)((t[3] << 32) | t[2]); + r[2] = (sp_digit)((t[5] << 32) | t[4]); + r[3] = (sp_digit)((t[7] << 32) | t[6]); + r[4] = (sp_digit)((t[9] << 32) | t[8]); + r[5] = (sp_digit)((t[11] << 32) | t[10]); } #ifdef WOLFSSL_SP_SMALL_STACK @@ -27612,7 +27612,7 @@ static void sp_384_map_6(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_6(r->x, p384_mod, p384_mp_mod); /* Reduce x to less than modulus */ n = sp_384_cmp_6(r->x, p384_mod); - sp_384_cond_sub_6(r->x, r->x, p384_mod, ~(n >> 63)); + sp_384_cond_sub_6(r->x, r->x, p384_mod, (sp_digit)~(n >> 63)); sp_384_norm_6(r->x); /* y /= z^3 */ @@ -27621,7 +27621,7 @@ static void sp_384_map_6(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_6(r->y, p384_mod, p384_mp_mod); /* Reduce y to less than modulus */ n = sp_384_cmp_6(r->y, p384_mod); - sp_384_cond_sub_6(r->y, r->y, p384_mod, ~(n >> 63)); + sp_384_cond_sub_6(r->y, r->y, p384_mod, (sp_digit)~(n >> 63)); sp_384_norm_6(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -28044,8 +28044,8 @@ static void sp_384_proj_point_add_6(sp_point_384* r, sp_384_mont_sub_6(y, y, t5, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -28062,7 +28062,7 @@ static void sp_384_proj_point_add_6(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -28236,8 +28236,8 @@ static int sp_384_proj_point_add_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -28254,7 +28254,7 @@ static int sp_384_proj_point_add_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -28468,7 +28468,7 @@ static void sp_384_ecc_recode_6_6(const sp_digit* k, ecc_recode_384* v) n = k[j]; o = 0; for (i=0; i<65; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 64) { y &= 0x3f; n >>= 6; @@ -28831,7 +28831,7 @@ static void sp_384_map_avx2_6(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_avx2_6(r->x, p384_mod, p384_mp_mod); /* Reduce x to less than modulus */ n = sp_384_cmp_6(r->x, p384_mod); - sp_384_cond_sub_6(r->x, r->x, p384_mod, ~(n >> 63)); + sp_384_cond_sub_6(r->x, r->x, p384_mod, (sp_digit)~(n >> 63)); sp_384_norm_6(r->x); /* y /= z^3 */ @@ -28840,7 +28840,7 @@ static void sp_384_map_avx2_6(sp_point_384* r, const sp_point_384* p, sp_384_mont_reduce_avx2_6(r->y, p384_mod, p384_mp_mod); /* Reduce y to less than modulus */ n = sp_384_cmp_6(r->y, p384_mod); - sp_384_cond_sub_6(r->y, r->y, p384_mod, ~(n >> 63)); + sp_384_cond_sub_6(r->y, r->y, p384_mod, (sp_digit)~(n >> 63)); sp_384_norm_6(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -29215,8 +29215,8 @@ static void sp_384_proj_point_add_avx2_6(sp_point_384* r, sp_384_mont_sub_avx2_6(y, y, t5, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -29233,7 +29233,7 @@ static void sp_384_proj_point_add_avx2_6(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -29407,8 +29407,8 @@ static int sp_384_proj_point_add_avx2_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -29425,7 +29425,7 @@ static int sp_384_proj_point_add_avx2_6_nb(sp_ecc_ctx_t* sp_ctx, sp_point_384* r (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -29804,8 +29804,8 @@ static void sp_384_proj_point_add_qz1_6(sp_point_384* r, sp_384_mont_sub_6(y, t3, t1, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -29822,7 +29822,7 @@ static void sp_384_proj_point_add_qz1_6(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -30296,8 +30296,8 @@ static void sp_384_proj_point_add_qz1_avx2_6(sp_point_384* r, sp_384_mont_sub_avx2_6(y, t3, t1, p384_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -30314,7 +30314,7 @@ static void sp_384_proj_point_add_qz1_avx2_6(sp_point_384* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -31194,7 +31194,7 @@ static void sp_384_ecc_recode_7_6(const sp_digit* k, ecc_recode_384* v) n = k[j]; o = 0; for (i=0; i<55; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 7 < 64) { y &= 0x7f; n >>= 7; @@ -49895,8 +49895,8 @@ static WC_INLINE sp_digit div_384_word_6(sp_digit d1, sp_digit d0, static WC_INLINE sp_digit div_384_word_6(sp_digit d1, sp_digit d0, sp_digit div) { - ASSERT_SAVED_VECTOR_REGISTERS(); register sp_digit r asm("rax"); + ASSERT_SAVED_VECTOR_REGISTERS(); __asm__ __volatile__ ( "divq %3" : "=a" (r) @@ -49965,7 +49965,7 @@ static WC_INLINE int sp_384_div_6(const sp_digit* a, const sp_digit* d, sp_digit #endif sp_384_cond_sub_6(&t1[6], &t1[6], d, (sp_digit)0 - r1); for (i = 5; i >= 0; i--) { - sp_digit mask = 0 - (t1[6 + i] == div); + sp_digit mask = (sp_digit)0 - (t1[6 + i] == div); sp_digit hi = t1[6 + i] + mask; r1 = div_384_word_6(hi, t1[6 + i - 1], div); r1 |= mask; @@ -52484,7 +52484,7 @@ static void sp_521_map_9(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_9(r->x, p521_mod, p521_mp_mod); /* Reduce x to less than modulus */ n = sp_521_cmp_9(r->x, p521_mod); - sp_521_cond_sub_9(r->x, r->x, p521_mod, ~(n >> 63)); + sp_521_cond_sub_9(r->x, r->x, p521_mod, (sp_digit)~(n >> 63)); sp_521_norm_9(r->x); /* y /= z^3 */ @@ -52493,7 +52493,7 @@ static void sp_521_map_9(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_9(r->y, p521_mod, p521_mp_mod); /* Reduce y to less than modulus */ n = sp_521_cmp_9(r->y, p521_mod); - sp_521_cond_sub_9(r->y, r->y, p521_mod, ~(n >> 63)); + sp_521_cond_sub_9(r->y, r->y, p521_mod, (sp_digit)~(n >> 63)); sp_521_norm_9(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -52918,8 +52918,8 @@ static void sp_521_proj_point_add_9(sp_point_521* r, sp_521_mont_sub_9(y, y, t5, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -52936,7 +52936,7 @@ static void sp_521_proj_point_add_9(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -53110,8 +53110,8 @@ static int sp_521_proj_point_add_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -53128,7 +53128,7 @@ static int sp_521_proj_point_add_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -53342,7 +53342,7 @@ static void sp_521_ecc_recode_6_9(const sp_digit* k, ecc_recode_521* v) n = k[j]; o = 0; for (i=0; i<87; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 6 < 64) { y &= 0x3f; n >>= 6; @@ -53682,7 +53682,7 @@ static void sp_521_map_avx2_9(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_avx2_9(r->x, p521_mod, p521_mp_mod); /* Reduce x to less than modulus */ n = sp_521_cmp_9(r->x, p521_mod); - sp_521_cond_sub_9(r->x, r->x, p521_mod, ~(n >> 63)); + sp_521_cond_sub_9(r->x, r->x, p521_mod, (sp_digit)~(n >> 63)); sp_521_norm_9(r->x); /* y /= z^3 */ @@ -53691,7 +53691,7 @@ static void sp_521_map_avx2_9(sp_point_521* r, const sp_point_521* p, sp_521_mont_reduce_avx2_9(r->y, p521_mod, p521_mp_mod); /* Reduce y to less than modulus */ n = sp_521_cmp_9(r->y, p521_mod); - sp_521_cond_sub_9(r->y, r->y, p521_mod, ~(n >> 63)); + sp_521_cond_sub_9(r->y, r->y, p521_mod, (sp_digit)~(n >> 63)); sp_521_norm_9(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -54066,8 +54066,8 @@ static void sp_521_proj_point_add_avx2_9(sp_point_521* r, sp_521_mont_sub_avx2_9(y, y, t5, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -54084,7 +54084,7 @@ static void sp_521_proj_point_add_avx2_9(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -54258,8 +54258,8 @@ static int sp_521_proj_point_add_avx2_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -54276,7 +54276,7 @@ static int sp_521_proj_point_add_avx2_9_nb(sp_ecc_ctx_t* sp_ctx, sp_point_521* r (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -54655,8 +54655,8 @@ static void sp_521_proj_point_add_qz1_9(sp_point_521* r, sp_521_mont_sub_9(y, t3, t1, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -54673,7 +54673,7 @@ static void sp_521_proj_point_add_qz1_9(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -55147,8 +55147,8 @@ static void sp_521_proj_point_add_qz1_avx2_9(sp_point_521* r, sp_521_mont_sub_avx2_9(y, t3, t1, p521_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -55165,7 +55165,7 @@ static void sp_521_proj_point_add_qz1_avx2_9(sp_point_521* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -56171,7 +56171,7 @@ static void sp_521_ecc_recode_7_9(const sp_digit* k, ecc_recode_521* v) n = k[j]; o = 0; for (i=0; i<75; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 7 < 64) { y &= 0x7f; n >>= 7; @@ -90954,8 +90954,8 @@ static WC_INLINE sp_digit div_521_word_9(sp_digit d1, sp_digit d0, static WC_INLINE sp_digit div_521_word_9(sp_digit d1, sp_digit d0, sp_digit div) { - ASSERT_SAVED_VECTOR_REGISTERS(); register sp_digit r asm("rax"); + ASSERT_SAVED_VECTOR_REGISTERS(); __asm__ __volatile__ ( "divq %3" : "=a" (r) @@ -93162,8 +93162,8 @@ static WC_INLINE sp_digit div_1024_word_16(sp_digit d1, sp_digit d0, static WC_INLINE sp_digit div_1024_word_16(sp_digit d1, sp_digit d0, sp_digit div) { - ASSERT_SAVED_VECTOR_REGISTERS(); register sp_digit r asm("rax"); + ASSERT_SAVED_VECTOR_REGISTERS(); __asm__ __volatile__ ( "divq %3" : "=a" (r) @@ -93245,7 +93245,7 @@ static WC_INLINE int sp_1024_div_16(const sp_digit* a, const sp_digit* d, sp_dig #endif sp_1024_cond_sub_16(&t1[16], &t1[16], d, (sp_digit)0 - r1); for (i = 15; i >= 0; i--) { - sp_digit mask = 0 - (t1[16 + i] == div); + sp_digit mask = (sp_digit)0 - (t1[16 + i] == div); sp_digit hi = t1[16 + i] + mask; r1 = div_1024_word_16(hi, t1[16 + i - 1], div); r1 |= mask; @@ -93711,7 +93711,7 @@ static void sp_1024_map_16(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_16(r->x, p1024_mod, p1024_mp_mod); /* Reduce x to less than modulus */ n = sp_1024_cmp_16(r->x, p1024_mod); - sp_1024_cond_sub_16(r->x, r->x, p1024_mod, ~(n >> 63)); + sp_1024_cond_sub_16(r->x, r->x, p1024_mod, (sp_digit)~(n >> 63)); sp_1024_norm_16(r->x); /* y /= z^3 */ @@ -93720,7 +93720,7 @@ static void sp_1024_map_16(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_16(r->y, p1024_mod, p1024_mp_mod); /* Reduce y to less than modulus */ n = sp_1024_cmp_16(r->y, p1024_mod); - sp_1024_cond_sub_16(r->y, r->y, p1024_mod, ~(n >> 63)); + sp_1024_cond_sub_16(r->y, r->y, p1024_mod, (sp_digit)~(n >> 63)); sp_1024_norm_16(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -94148,8 +94148,8 @@ static void sp_1024_proj_point_add_16(sp_point_1024* r, sp_1024_mont_sub_16(y, y, t5, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -94166,7 +94166,7 @@ static void sp_1024_proj_point_add_16(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -94340,8 +94340,8 @@ static int sp_1024_proj_point_add_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -94358,7 +94358,7 @@ static int sp_1024_proj_point_add_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024* r, (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -94580,7 +94580,7 @@ static void sp_1024_ecc_recode_7_16(const sp_digit* k, ecc_recode_1024* v) n = k[j]; o = 0; for (i=0; i<147; i++) { - y = (int8_t)n; + y = (uint8_t)(int8_t)n; if (o + 7 < 64) { y &= 0x7f; n >>= 7; @@ -94858,7 +94858,7 @@ static void sp_1024_map_avx2_16(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_avx2_16(r->x, p1024_mod, p1024_mp_mod); /* Reduce x to less than modulus */ n = sp_1024_cmp_16(r->x, p1024_mod); - sp_1024_cond_sub_16(r->x, r->x, p1024_mod, ~(n >> 63)); + sp_1024_cond_sub_16(r->x, r->x, p1024_mod, (sp_digit)~(n >> 63)); sp_1024_norm_16(r->x); /* y /= z^3 */ @@ -94867,7 +94867,7 @@ static void sp_1024_map_avx2_16(sp_point_1024* r, const sp_point_1024* p, sp_1024_mont_reduce_avx2_16(r->y, p1024_mod, p1024_mp_mod); /* Reduce y to less than modulus */ n = sp_1024_cmp_16(r->y, p1024_mod); - sp_1024_cond_sub_16(r->y, r->y, p1024_mod, ~(n >> 63)); + sp_1024_cond_sub_16(r->y, r->y, p1024_mod, (sp_digit)~(n >> 63)); sp_1024_norm_16(r->y); XMEMSET(r->z, 0, sizeof(r->z) / 2); @@ -95266,8 +95266,8 @@ static void sp_1024_proj_point_add_avx2_16(sp_point_1024* r, sp_1024_mont_sub_avx2_16(y, y, t5, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -95284,7 +95284,7 @@ static void sp_1024_proj_point_add_avx2_16(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -95458,8 +95458,8 @@ static int sp_1024_proj_point_add_avx2_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024 { { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -95476,7 +95476,7 @@ static int sp_1024_proj_point_add_avx2_16_nb(sp_ecc_ctx_t* sp_ctx, sp_point_1024 (ctx->z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } ctx->state = 25; break; @@ -95859,8 +95859,8 @@ static void sp_1024_proj_point_add_qz1_16(sp_point_1024* r, sp_1024_mont_sub_16(y, t3, t1, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -95877,7 +95877,7 @@ static void sp_1024_proj_point_add_qz1_16(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -96320,8 +96320,8 @@ static void sp_1024_proj_point_add_qz1_avx2_16(sp_point_1024* r, sp_1024_mont_sub_avx2_16(y, t3, t1, p1024_mod); { int i; - sp_digit maskp = 0 - (q->infinity & (!p->infinity)); - sp_digit maskq = 0 - (p->infinity & (!q->infinity)); + sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); + sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); sp_digit maskt = ~(maskp | maskq); sp_digit inf = (sp_digit)(p->infinity & q->infinity); @@ -96338,7 +96338,7 @@ static void sp_1024_proj_point_add_qz1_avx2_16(sp_point_1024* r, (z[i] & maskt); } r->z[0] |= inf; - r->infinity = (word32)inf; + r->infinity = (int)inf; } } } @@ -105298,7 +105298,7 @@ static int sp_1024_ecc_is_point_16(const sp_point_1024* point, n = sp_1024_cmp_16(t1, p1024_mod); - sp_1024_cond_sub_16(t1, t1, p1024_mod, ~(n >> 63)); + sp_1024_cond_sub_16(t1, t1, p1024_mod, (sp_digit)~(n >> 63)); sp_1024_norm_16(t1); if (!sp_1024_iszero_16(t1)) { err = MP_VAL;