X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/600127f0c8669936093fc6bddda5a2dcb59cd076..b0b682aa5f6174deb5bde83701b191556986fe05:/dh-check.c diff --git a/dh-check.c b/dh-check.c index 8956bd1..f9317f5 100644 --- a/dh-check.c +++ b/dh-check.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: dh-check.c,v 1.1 2001/02/03 16:08:24 mdw Exp $ + * $Id: dh-check.c,v 1.2 2001/06/16 12:56:38 mdw Exp $ * * Checks Diffie-Hellman group parameters * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: dh-check.c,v $ + * Revision 1.2 2001/06/16 12:56:38 mdw + * Fixes for interface change to @mpmont_expr@ and @mpmont_mexpr@. + * * Revision 1.1 2001/02/03 16:08:24 mdw * Add consistency checking for public keys. * @@ -66,6 +69,7 @@ int dh_checkparam(keycheck *kc, const dh_param *dp, mp **v, size_t n) mpmont mm; mp *pm1 = MP_NEW; mp *q = MP_NEW; + mp *x; mpmul mu; size_t i; @@ -96,7 +100,9 @@ int dh_checkparam(keycheck *kc, const dh_param *dp, mp **v, size_t n) goto fail; q = mp_odd(q, dp->q, &i); mpmont_create(&mm, dp->p); - q = mpmont_expr(&mm, q, dp->g, q); + x = mpmont_mul(&mm, MP_NEW, dp->g, mm.r2); + q = mpmont_expr(&mm, q, x, q); + mp_drop(x); do { if (mp_eq(q, mm.r) != !i) { if (keycheck_report(kc, KCSEV_ERR, "order of g != q")) {