Use new interfaces for key manipulation.
authormdw <mdw>
Sat, 1 Jul 2000 11:18:51 +0000 (11:18 +0000)
committermdw <mdw>
Sat, 1 Jul 2000 11:18:51 +0000 (11:18 +0000)
keyutil.c

index ea5a8e8..be8d5f9 100644 (file)
--- 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 --- */