Skip to content

Commit 3b20f49

Browse files
authored
Merge pull request #7139 from douzzer/20230118-fix-_sp_mont_red-WOLFSSL_NO_CT_OPS
20230118-fix-_sp_mont_red-WOLFSSL_NO_CT_OPS
2 parents b0de0a1 + 9d56de2 commit 3b20f49

1 file changed

Lines changed: 18 additions & 12 deletions

File tree

wolfcrypt/src/sp_int.c

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17135,18 +17135,21 @@ static int _sp_mont_red(sp_int* a, const sp_int* m, sp_int_digit mp, int ct)
1713517135
bits = sp_count_bits(m);
1713617136

1713717137
/* Adding numbers into m->used * 2 digits - zero out unused digits. */
17138-
if (!ct) {
17139-
for (i = a->used; i < m->used * 2; i++) {
17140-
a->dp[i] = 0;
17141-
}
17142-
}
17143-
else {
17138+
#ifndef WOLFSSL_NO_CT_OPS
17139+
if (ct) {
1714417140
for (i = 0; i < m->used * 2; i++) {
1714517141
a->dp[i] &=
1714617142
(sp_int_digit)
1714717143
(sp_int_sdigit)ctMaskIntGTE((int)(a->used-1), (int)i);
1714817144
}
1714917145
}
17146+
else
17147+
#endif /* !WOLFSSL_NO_CT_OPS */
17148+
{
17149+
for (i = a->used; i < m->used * 2; i++) {
17150+
a->dp[i] = 0;
17151+
}
17152+
}
1715017153

1715117154
/* Special case when modulus is 1 digit or less. */
1715217155
if (m->used <= 1) {
@@ -17260,18 +17263,21 @@ static int _sp_mont_red(sp_int* a, const sp_int* m, sp_int_digit mp, int ct)
1726017263
bits = sp_count_bits(m);
1726117264
mask = ((sp_int_digit)1 << (bits & (SP_WORD_SIZE - 1))) - 1;
1726217265

17263-
if (!ct) {
17264-
for (i = a->used; i < m->used * 2; i++) {
17265-
a->dp[i] = 0;
17266-
}
17267-
}
17268-
else {
17266+
#ifndef WOLFSSL_NO_CT_OPS
17267+
if (ct) {
1726917268
for (i = 0; i < m->used * 2; i++) {
1727017269
a->dp[i] &=
1727117270
(sp_int_digit)
1727217271
(sp_int_sdigit)ctMaskIntGTE((int)(a->used-1), (int)i);
1727317272
}
1727417273
}
17274+
else
17275+
#endif
17276+
{
17277+
for (i = a->used; i < m->used * 2; i++) {
17278+
a->dp[i] = 0;
17279+
}
17280+
}
1727517281

1727617282
if (m->used <= 1) {
1727717283
sp_int_digit l;

0 commit comments

Comments
 (0)