Add missed step in DH key pair generation.

This commit is contained in:
John Safranek
2021-04-20 14:00:47 -07:00
parent eeb57fb099
commit 7ba8196a3d

View File

@ -1144,10 +1144,16 @@ static int GeneratePrivateDh186(DhKey* key, WC_RNG* rng, byte* priv,
ForceZero(cBuf, cSz);
XFREE(cBuf, key->heap, DYNAMIC_TYPE_TMP_BUFFER);
/* tmpQ: M = 2^N - 1 */
/* tmpQ: M = min(2^N,q) - 1 */
if (err == MP_OKAY)
err = mp_2expt(tmpQ, *privSz * 8);
if (err == MP_OKAY) {
if (mp_cmp(tmpQ, &key->q) == MP_GT) {
err = mp_copy(&key->q, tmpQ);
}
}
if (err == MP_OKAY)
err = mp_sub_d(tmpQ, 1, tmpQ);