--- /n/sources/plan9/sys/src/libsec/port/genprime.c Wed Mar 28 04:10:32 2001 +++ /sys/src/libsec/port/genprime.c Tue Dec 1 09:40:24 2015 @@ -17,6 +17,7 @@ genprime(mpint *p, int n, int accuracy) p->p[p->top-1] &= (x-1); p->p[p->top-1] |= x; p->p[0] |= 1; + mpnorm(p); // keep icrementing till it looks prime for(;;){ --- /n/sources/plan9/sys/src/libsec/port/rsagen.c Wed May 12 06:00:02 2004 +++ /sys/src/libsec/port/rsagen.c Sun Feb 5 05:15:17 2017 @@ -39,6 +39,8 @@ rsagen(int nlen, int elen, int rounds) break; mpadd(mpone, e, e); } + if(d->sign < 0) + mpadd(phi, d, d); mpfree(t1); mpfree(t2);