diff options
Diffstat (limited to 'cipher/primegen.c')
-rw-r--r-- | cipher/primegen.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/cipher/primegen.c b/cipher/primegen.c index f44d89d14..6ff326050 100644 --- a/cipher/primegen.c +++ b/cipher/primegen.c @@ -327,8 +327,13 @@ gen_prime( unsigned nbits, int secret, int randomlevel ) m_free(p); } - /* set high order bit to 1, set low order bit to 1 */ + /* set high order bit to 1, set low order bit to . + if we are generating a secret prime we are most probably + doing that for RSA, to make sure that the modulus does have + the requested keysize we set the 2 high order bits */ mpi_set_highbit( prime, nbits-1 ); + if (secret) + mpi_set_bit (prime, nbits-2); mpi_set_bit( prime, 0 ); /* calculate all remainders */ |