mirror of
https://github.com/openssl/openssl.git
synced 2024-12-21 16:03:42 +08:00
Don't set the two top bits to one when generating a random number < q.:wq
This commit is contained in:
parent
4041156461
commit
c11dead17c
@ -84,7 +84,7 @@ int DSA_generate_key(DSA *dsa)
|
||||
i=BN_num_bits(dsa->q);
|
||||
for (;;)
|
||||
{
|
||||
if (!BN_rand(priv_key,i,1,0))
|
||||
if (!BN_rand(priv_key,i,0,0))
|
||||
goto err;
|
||||
if (BN_cmp(priv_key,dsa->q) >= 0)
|
||||
BN_sub(priv_key,priv_key,dsa->q);
|
||||
|
@ -181,7 +181,7 @@ static int dsa_sign_setup(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
|
||||
/* Get random k */
|
||||
for (;;)
|
||||
{
|
||||
if (!BN_rand(&k, BN_num_bits(dsa->q), 1, 0)) goto err;
|
||||
if (!BN_rand(&k, BN_num_bits(dsa->q), 0, 0)) goto err;
|
||||
if (BN_cmp(&k,dsa->q) >= 0)
|
||||
BN_sub(&k,&k,dsa->q);
|
||||
if (!BN_is_zero(&k)) break;
|
||||
|
Loading…
Reference in New Issue
Block a user