]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Failure to set multipliers[NPRIMES] was rendering the input-modulus
authorSimon Tatham <anakin@pobox.com>
Sat, 28 Jun 2003 14:11:28 +0000 (14:11 +0000)
committerSimon Tatham <anakin@pobox.com>
Sat, 28 Jun 2003 14:11:28 +0000 (14:11 +0000)
feature (make sure your prime is not congruent to Foo mod Bar)
largely ineffective. As a result, RSA keys were being generated
every so often with at least one prime congruent to 1 mod 37,
causing modinv(37, phi(n)) to divide by zero, and rightly so. I
believe this fixes `puttygen-zero-div'.

[originally from svn r3316]

sshprime.c

index b48ce1a33ff1849a08fd36e48a30f9a6d7b276b4..4d79aacd6e3ad677926e18b898dc30a55e9dc064 100644 (file)
@@ -1255,6 +1255,10 @@ Bignum primegen(int bits, int modulus, int residue, Bignum factor,
     moduli[NPRIMES] = modulus;
     residues[NPRIMES] = (bignum_mod_short(p, (unsigned short) modulus)
                         + modulus - residue);
+    if (factor)
+       multipliers[NPRIMES] = bignum_mod_short(factor, modulus);
+    else
+       multipliers[NPRIMES] = 1;
     delta = 0;
     while (1) {
        for (i = 0; i < (sizeof(moduli) / sizeof(*moduli)); i++)