|
@@ -84,8 +84,8 @@ retry:
|
|
|
|
|
|
if (mp_iszero(r) == LTC_MP_YES) { goto retry; }
|
|
if (mp_iszero(r) == LTC_MP_YES) { goto retry; }
|
|
|
|
|
|
- /* FIPS 186-4 4.6: use leftmost min(bitlen(q), bitlen(hash)) */
|
|
|
|
- if (inlen > (unsigned long)(key->qord)) inlen = (unsigned long)(key->qord);
|
|
|
|
|
|
+ /* FIPS 186-4 4.6: use leftmost min(bitlen(q), bitlen(hash)) bits of 'hash'*/
|
|
|
|
+ inlen = MIN(inlen, (unsigned long)(key->qord));
|
|
|
|
|
|
/* now find s = (in + xr)/k mod q */
|
|
/* now find s = (in + xr)/k mod q */
|
|
if ((err = mp_read_unsigned_bin(tmp, (unsigned char *)in, inlen)) != CRYPT_OK) { goto error; }
|
|
if ((err = mp_read_unsigned_bin(tmp, (unsigned char *)in, inlen)) != CRYPT_OK) { goto error; }
|