X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/5c72ca6161da0e7976245222c412d62ebae2e386..5462f4596108c4309fb69b4e57aa1e59d7100908:/sshrsag.c diff --git a/sshrsag.c b/sshrsag.c index eb714ad6..dbe89409 100644 --- a/sshrsag.c +++ b/sshrsag.c @@ -10,6 +10,7 @@ int rsa_generate(struct RSAKey *key, int bits, progfn_t pfn, void *pfnparam) { Bignum pm1, qm1, phi_n; + unsigned pfirst, qfirst; /* * Set up the phase limits for the progress report. We do this @@ -59,10 +60,11 @@ int rsa_generate(struct RSAKey *key, int bits, progfn_t pfn, * general that's slightly more fiddly to arrange. By choosing * a prime e, we can simplify the criterion.) */ + invent_firstbits(&pfirst, &qfirst); key->p = primegen(bits / 2, RSA_EXPONENT, 1, NULL, - 1, pfn, pfnparam); + 1, pfn, pfnparam, pfirst); key->q = primegen(bits - bits / 2, RSA_EXPONENT, 1, NULL, - 2, pfn, pfnparam); + 2, pfn, pfnparam, qfirst); /* * Ensure p > q, by swapping them if not.