From ab0ca95f6684b62bbcb979aa54dc678401e37a57 Mon Sep 17 00:00:00 2001 From: mdw Date: Sat, 1 Jul 2000 11:18:51 +0000 Subject: [PATCH] Use new interfaces for key manipulation. --- keyutil.c | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/keyutil.c b/keyutil.c index ea5a8e8..be8d5f9 100644 --- a/keyutil.c +++ b/keyutil.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: keyutil.c,v 1.6 2000/06/17 11:28:22 mdw Exp $ + * $Id: keyutil.c,v 1.7 2000/07/01 11:18:51 mdw Exp $ * * Simple key manager program * @@ -30,6 +30,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: keyutil.c,v $ + * Revision 1.7 2000/07/01 11:18:51 mdw + * Use new interfaces for key manipulation. + * * Revision 1.6 2000/06/17 11:28:22 mdw * Use secure memory interface from MP library. `rand_getgood' is * deprecated. @@ -385,7 +388,7 @@ static void alg_des(keyopts *k) static void alg_rsa(keyopts *k) { - rsa_param rp; + rsa_priv rp; key_data *kd; /* --- Sanity checking --- */ @@ -405,21 +408,14 @@ static void alg_rsa(keyopts *k) { grand *g = fibrand_create(rand_global.ops->word(&rand_global)); - mpmont mm; + rsa_pub rpp; mp *m = mprand_range(MP_NEW, rp.n, g, 0); mp *c; - /* --- Encrypt the plaintext --- */ - - mpmont_create(&mm, rp.n); - c = mpmont_exp(&mm, MP_NEW, m, rp.e); - mpmont_destroy(&mm); - - /* --- Decrypt the ciphertext --- */ - - c = rsa_decrypt(&rp, c, c, g); - - /* --- Check everything went OK --- */ + rpp.n = rp.n; + rpp.e = rp.e; + c = rsa_qpubop(&rpp, MP_NEW, m); + c = rsa_qprivop(&rp, c, c, g); if (MP_CMP(c, !=, m)) die(EXIT_FAILURE, "test encryption failed"); @@ -445,8 +441,7 @@ static void alg_rsa(keyopts *k) mpkey(kd, "d-mod-q", rp.dq, KCAT_PRIV | KF_BURN); dolock(k, kd, "private"); - mp_drop(rp.p); mp_drop(rp.q); mp_drop(rp.n); mp_drop(rp.q_inv); - mp_drop(rp.e); mp_drop(rp.d); mp_drop(rp.dp); mp_drop(rp.dq); + rsa_privfree(&rp); } static void alg_dsaparam(keyopts *k) @@ -601,7 +596,7 @@ static void alg_dh(keyopts *k) static void alg_bbs(keyopts *k) { - bbs_param bp; + bbs_priv bp; key_data *kd; /* --- Sanity checking --- */ @@ -629,7 +624,7 @@ static void alg_bbs(keyopts *k) mpkey(kd, "q", bp.q, KCAT_PRIV | KF_BURN); dolock(k, kd, "private"); - mp_drop(bp.p); mp_drop(bp.q); mp_drop(bp.n); + bbs_privfree(&bp); } /* --- The algorithm tables --- */ -- 2.11.0