X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=sshrsag.c;h=dbe89409aa58d51ad63c13ebfd7a7bc78af8e524;hb=33c58dd91b8350bd47b363786a3f39587cf8ead6;hp=eb714ad605e7c77c4d4684df696d250cd99847dd;hpb=d345ebc2a5a0b599be5ce4462ef6d7a9b510497a;p=PuTTY.git 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.