]> git.ipfire.org Git - thirdparty/nettle.git/commitdiff
(rsa_generate_keypair): Output a newline after a
authorNiels Möller <nisse@lysator.liu.se>
Mon, 18 Mar 2002 17:11:03 +0000 (18:11 +0100)
committerNiels Möller <nisse@lysator.liu.se>
Mon, 18 Mar 2002 17:11:03 +0000 (18:11 +0100)
non-empty line of 'e':s (bad e was chosen, try again).

Rev: src/nettle/rsa-keygen.c:1.2

rsa-keygen.c

index 2d2cc922875ad1c9ea7e0f7719808c63a2d0e548..4305c0a84942947465a73c8cc5ab98147a7fb7ea 100644 (file)
@@ -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