X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/ef5f48103e83977bda6ef4d7d1aacbb66a629b10..67a452f7a9d69723741b064f08d70462bc8f00e7:/dsa-sign.c diff --git a/dsa-sign.c b/dsa-sign.c index 613a07e..c4117bc 100644 --- a/dsa-sign.c +++ b/dsa-sign.c @@ -1,13 +1,13 @@ /* -*-c-*- * - * $Id: dsa-sign.c,v 1.2 1999/12/10 23:18:38 mdw Exp $ + * $Id: dsa-sign.c,v 1.3 2004/04/08 01:36:15 mdw Exp $ * * DSA signing operation * * (c) 1999 Straylight/Edgeware */ -/*----- Licensing notice --------------------------------------------------* +/*----- Licensing notice --------------------------------------------------* * * This file is part of Catacomb. * @@ -15,29 +15,18 @@ * it under the terms of the GNU Library General Public License as * published by the Free Software Foundation; either version 2 of the * License, or (at your option) any later version. - * + * * Catacomb is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Library General Public License for more details. - * + * * You should have received a copy of the GNU Library General Public * License along with Catacomb; if not, write to the Free * Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, * MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: dsa-sign.c,v $ - * Revision 1.2 1999/12/10 23:18:38 mdw - * Change interface for suggested destinations. - * - * Revision 1.1 1999/11/19 19:28:00 mdw - * Implementation of the Digital Signature Algorithm. - * - */ - /*----- Header files ------------------------------------------------------*/ #include "dsa.h" @@ -64,7 +53,7 @@ void dsa_mksig(const dsa_param *dp, mp *a, mp *m, mp *k, mp **rr, mp **ss) { mpmont pm; mpbarrett qb; - mp *k1 = MP_NEW, *r; + mp *k1, *r; mp *ar; /* --- Compute %$r = (g^k \bmod p) \bmod q$% --- */ @@ -76,7 +65,7 @@ void dsa_mksig(const dsa_param *dp, mp *a, mp *m, mp *k, mp **rr, mp **ss) /* --- Compute %$k^{-1} \bmod q$% --- */ - mp_gcd(0, 0, &k1, dp->q, k); + k1 = mp_modinv(MP_NEW, k, dp->q); /* --- Now for %$k^{-1}(m + ar)$% --- */ @@ -179,7 +168,7 @@ static int verify(dstr *v) fputs("\ns = ", stderr); mp_writefile(m, stderr, 16); mp_drop(m); } - + fputc('\n', stderr); ok = 0; }