/* -*-c-*-
*
- * $Id: rsa-priv.c,v 1.1 2000/07/01 11:23:20 mdw Exp $
+ * $Id: rsa-priv.c,v 1.3 2001/06/16 12:56:38 mdw Exp $
*
* RSA private-key operations
*
/*----- Revision history --------------------------------------------------*
*
* $Log: rsa-priv.c,v $
+ * Revision 1.3 2001/06/16 12:56:38 mdw
+ * Fixes for interface change to @mpmont_expr@ and @mpmont_mexpr@.
+ *
+ * Revision 1.2 2000/10/08 12:11:22 mdw
+ * Use @MP_EQ@ instead of @MP_CMP@.
+ *
* Revision 1.1 2000/07/01 11:23:20 mdw
* Renamed from `rsa-decrypt', since the name was no longer appropriate.
* Add functions for doing padded RSA decryption and signing.
do {
k = mprand_range(k, rp->n, rd->r, 0);
mp_gcd(&g, 0, &ki, rp->n, k);
- } while (MP_CMP(g, !=, MP_ONE));
+ } while (!MP_EQ(g, MP_ONE));
+ k = mpmont_mul(&rd->nm, k, k, rd->nm.r2);
k = mpmont_expr(&rd->nm, k, k, rp->e);
c = mpmont_mul(&rd->nm, c, c, k);
mp_drop(k);
/* --- Sort out some space --- */
dstr_ensure(d, n);
- p = d->buf + d->len;
+ p = (octet *)d->buf + d->len;
p[0] = 0;
/* --- Do the packing --- */