factorial: Fix usage message to fit in with conventions.
[u/mdw/catacomb] / rsa-recover.c
index 304cbca..5cf1f06 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: rsa-recover.c,v 1.4 2000/07/01 11:22:22 mdw Exp $
+ * $Id: rsa-recover.c,v 1.7 2004/04/08 01:36:15 mdw Exp $
  *
  * Recover RSA parameters
  *
  * MA 02111-1307, USA.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: rsa-recover.c,v $
- * Revision 1.4  2000/07/01 11:22:22  mdw
- * Remove bad type name `rsa_param'.
- *
- * Revision 1.3  2000/06/22 19:03:14  mdw
- * Use the new @mp_odd@ function.
- *
- * Revision 1.2  2000/06/17 12:07:19  mdw
- * Fix a bug in argument validation.  Force %$p > q$% in output.  Use
- * %$\lambda(n) = \lcm(p - 1, q - 1)$% rather than the more traditional
- * %$\phi(n) = (p - 1)(q - 1)$% when computing the decryption exponent.
- *
- * Revision 1.1  1999/12/22 15:50:45  mdw
- * Initial RSA support.
- *
- */
-
 /*----- Header files ------------------------------------------------------*/
 
 #include "mp.h"
@@ -86,7 +67,7 @@ int rsa_recover(rsa_priv *rp)
        mp_div(&rp->q, &r, rp->n, rp->p);
       else
        mp_div(&rp->p, &r, rp->n, rp->q);
-      if (MP_CMP(r, !=, MP_ZERO)) {
+      if (!MP_EQ(r, MP_ZERO)) {
        mp_drop(r);
        return (-1);
       }
@@ -138,8 +119,9 @@ int rsa_recover(rsa_priv *rp)
         */
 
        aw = primetab[i++];
-       z = mpmont_expr(&mm, z, &a, t);
-       if (MP_CMP(z, ==, mm.r) || MP_CMP(z, ==, m1))
+       z = mpmont_mul(&mm, z, &a, mm.r2);
+       z = mpmont_expr(&mm, z, z, t);
+       if (MP_EQ(z, mm.r) || MP_EQ(z, m1))
          continue;
 
        /* --- Now square until something interesting happens --- *
@@ -153,10 +135,10 @@ int rsa_recover(rsa_priv *rp)
        for (;;) {
          mp *zz = mp_sqr(MP_NEW, z);
          zz = mpmont_reduce(&mm, zz, zz);
-         if (MP_CMP(zz, ==, mm.r)) {
+         if (MP_EQ(zz, mm.r)) {
            mp_drop(zz);
            goto done;
-         } else if (MP_CMP(zz, ==, m1)) {
+         } else if (MP_EQ(zz, m1)) {
            mp_drop(zz);
            goto again;
          }
@@ -227,7 +209,7 @@ int rsa_recover(rsa_priv *rp)
     }
 
     mp_drop(phi);
-    if (MP_CMP(g, !=, MP_ONE)) {
+    if (!MP_EQ(g, MP_ONE)) {
       mp_drop(g);
       return (-1);
     }