From: Niels Möller Date: Mon, 18 Mar 2002 17:11:03 +0000 (+0100) Subject: (rsa_generate_keypair): Output a newline after a X-Git-Tag: nettle_1.6_release_20021003~235 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=131d0d944a81a5b9c213c8ab5b2bedb99848d52c;p=thirdparty%2Fnettle.git (rsa_generate_keypair): Output a newline after a non-empty line of 'e':s (bad e was chosen, try again). Rev: src/nettle/rsa-keygen.c:1.2 --- diff --git a/rsa-keygen.c b/rsa-keygen.c index 2d2cc922..4305c0a8 100644 --- a/rsa-keygen.c +++ b/rsa-keygen.c @@ -303,21 +303,28 @@ rsa_generate_keypair(struct rsa_public_key *pub, /* If we didn't have a given e, generate one now. */ if (e_size) - for (;;) - { - bignum_random_size(pub->e, e_size, - random_ctx, random); + { + int retried = 0; + for (;;) + { + bignum_random_size(pub->e, e_size, + random_ctx, random); - /* Make sure it's odd and that the most significant bit is - * set */ - mpz_setbit(pub->e, 0); - mpz_setbit(pub->e, e_size - 1); - - /* Needs gmp-3, or inverse might be negative. */ - if (mpz_invert(key->d, pub->e, phi)) - break; - else if (progress) progress(progress_ctx, 'e'); - } + /* Make sure it's odd and that the most significant bit is + * set */ + mpz_setbit(pub->e, 0); + mpz_setbit(pub->e, e_size - 1); + + /* Needs gmp-3, or inverse might be negative. */ + if (mpz_invert(key->d, pub->e, phi)) + break; + + if (progress) progress(progress_ctx, 'e'); + retried = 1; + } + if (retried && progress) + progress(progress_ctx, '\n'); + } else { /* Must always succeed, as we already that e