diff --git a/wolfcrypt/src/sp_c32.c b/wolfcrypt/src/sp_c32.c index f6322d0fe..0052deace 100644 --- a/wolfcrypt/src/sp_c32.c +++ b/wolfcrypt/src/sp_c32.c @@ -2083,7 +2083,7 @@ static int sp_2048_mod_exp_45(sp_digit* r, sp_digit* a, sp_digit* e, int bits, n |= e[i--] << (9 - c); c += 23; } - y = n >> 27; + y = (n >> 27) & 0x1f; n <<= 5; c -= 5; XMEMCPY(rt, t[y], sizeof(rt)); @@ -3016,7 +3016,7 @@ static int sp_2048_mod_exp_90(sp_digit* r, sp_digit* a, sp_digit* e, int bits, n |= e[i--] << (9 - c); c += 23; } - y = n >> 27; + y = (n >> 27) & 0x1f; n <<= 5; c -= 5; XMEMCPY(rt, t[y], sizeof(rt)); diff --git a/wolfcrypt/src/sp_c64.c b/wolfcrypt/src/sp_c64.c index 3f54833d5..5bdeb7f7f 100644 --- a/wolfcrypt/src/sp_c64.c +++ b/wolfcrypt/src/sp_c64.c @@ -1593,7 +1593,7 @@ static int sp_2048_mod_exp_18(sp_digit* r, sp_digit* a, sp_digit* e, int bits, n |= e[i--] << (7 - c); c += 57; } - y = n >> 59; + y = (n >> 59) & 0x1f; n <<= 5; c -= 5; XMEMCPY(rt, t[y], sizeof(rt)); @@ -2442,7 +2442,7 @@ static int sp_2048_mod_exp_36(sp_digit* r, sp_digit* a, sp_digit* e, int bits, n |= e[i--] << (7 - c); c += 57; } - y = n >> 59; + y = (n >> 59) & 0x1f; n <<= 5; c -= 5; XMEMCPY(rt, t[y], sizeof(rt));