X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=sshdssg.c;h=3d7b0ef69d555f255be2df66a9c484e963bddf4e;hb=df441398ab2ae63d0101e77b391edb3d16de1a23;hp=3eb68d46e4a8058c5ceaef2d09c513eb477738ae;hpb=e9f6d3276a213e76f7f39a966d63a03fbdf85a05;p=PuTTY.git diff --git a/sshdssg.c b/sshdssg.c index 3eb68d46..3d7b0ef6 100644 --- a/sshdssg.c +++ b/sshdssg.c @@ -9,6 +9,7 @@ int dsa_generate(struct dss_key *key, int bits, progfn_t pfn, void *pfnparam) { Bignum qm1, power, g, h, tmp; + unsigned pfirst, qfirst; int progress; /* @@ -70,15 +71,16 @@ int dsa_generate(struct dss_key *key, int bits, progfn_t pfn, pfn(pfnparam, PROGFN_READY, 0, 0); + invent_firstbits(&pfirst, &qfirst); /* * Generate q: a prime of length 160. */ - key->q = primegen(160, 2, 2, NULL, 1, pfn, pfnparam); + key->q = primegen(160, 2, 2, NULL, 1, pfn, pfnparam, qfirst); /* * Now generate p: a prime of length `bits', such that p-1 is * divisible by q. */ - key->p = primegen(bits-160, 2, 2, key->q, 2, pfn, pfnparam); + key->p = primegen(bits-160, 2, 2, key->q, 2, pfn, pfnparam, pfirst); /* * Next we need g. Raise 2 to the power (p-1)/q modulo p, and