aboutsummaryrefslogtreecommitdiffstats
path: root/cipher/primegen.c
diff options
context:
space:
mode:
Diffstat (limited to 'cipher/primegen.c')
-rw-r--r--cipher/primegen.c7
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 */