sm3: kdf constant time check all zero

This commit is contained in:
Sun Yimin 2022-08-09 15:58:55 +08:00 committed by GitHub
parent 05aeed5c34
commit b7cc21a055
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -225,10 +225,10 @@ func Kdf(z []byte, len int) ([]byte, bool) {
ct++
md.Reset()
}
for i := 0; i < len; i++ {
if k[i] != 0 {
return k[:len], true
}
k = k[:len]
var b uint8
for _, v := range k {
b |= v
}
return k, false
return k, int((uint32(b)-1)>>31) != 1
}