diff --git a/crypto/sm3/sm3.c b/crypto/sm3/sm3.c index 41ec80e6..17994f94 100644 --- a/crypto/sm3/sm3.c +++ b/crypto/sm3/sm3.c @@ -177,7 +177,7 @@ void sm3_compress(uint32_t digest[8], const unsigned char block[64]) for(j =16; j < 64; j++) { T[j] = 0x7A879D8A; - SS1 = ROTATELEFT((ROTATELEFT(A,12) + E + ROTATELEFT(T[j],j)), 7); + SS1 = ROTATELEFT((ROTATELEFT(A,12) + E + ROTATELEFT(T[j],j%32)), 7); SS2 = SS1 ^ ROTATELEFT(A,12); TT1 = FF1(A,B,C) + D + SS2 + W1[j]; TT2 = GG1(E,F,G) + H + SS1 + W[j];