New functions for freeing public and private keys.
authormdw <mdw>
Sat, 1 Jul 2000 11:20:51 +0000 (11:20 +0000)
committermdw <mdw>
Sat, 1 Jul 2000 11:20:51 +0000 (11:20 +0000)
bbs-fetch.c
dh-fetch.c
dh.h
dsa-fetch.c
dsa.h
rsa-fetch.c

index 87827bc..e0597a0 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
 /* -*-c-*-
  *
- * $Id: bbs-fetch.c,v 1.1 2000/06/17 10:41:45 mdw Exp $
+ * $Id: bbs-fetch.c,v 1.2 2000/07/01 11:19:22 mdw Exp $
  *
  * Key fetching for BBS public and private keys
  *
  *
  * Key fetching for BBS public and private keys
  *
@@ -30,6 +30,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: bbs-fetch.c,v $
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: bbs-fetch.c,v $
+ * Revision 1.2  2000/07/01 11:19:22  mdw
+ * New functions for freeing public and private keys.
+ *
  * Revision 1.1  2000/06/17 10:41:45  mdw
  * Table for driving key data extraction.
  *
  * Revision 1.1  2000/06/17 10:41:45  mdw
  * Table for driving key data extraction.
  *
@@ -59,4 +62,25 @@ const key_fetchdef bbs_privfetch[] = {
   { 0,         0,                              0,              0 }  
 };
 
   { 0,         0,                              0,              0 }  
 };
 
+/* --- @bbs_pubfree@, @bbs_privfree@ --- *
+ *
+ * Arguments:  @bbs_pub *bp@, @bbs_priv *bp@ = pointer to key block
+ *
+ * Returns:    ---
+ *
+ * Use:                Frees an RSA key block.
+ */
+
+void bbs_pubfree(bbs_pub *bp)
+{
+  mp_drop(bp->n);
+}
+
+void bbs_privfree(bbs_priv *bp)
+{
+  mp_drop(bp->n);
+  mp_drop(bp->p);
+  mp_drop(bp->q);
+}
+
 /*----- That's all, folks -------------------------------------------------*/
 /*----- That's all, folks -------------------------------------------------*/
index 7a7e18c..2f25122 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
 /* -*-c-*-
  *
- * $Id: dh-fetch.c,v 1.1 2000/06/17 10:41:45 mdw Exp $
+ * $Id: dh-fetch.c,v 1.2 2000/07/01 11:19:22 mdw Exp $
  *
  * Key fetching for Diffie-Hellman public and private keys
  *
  *
  * Key fetching for Diffie-Hellman public and private keys
  *
@@ -30,6 +30,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: dh-fetch.c,v $
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: dh-fetch.c,v $
+ * Revision 1.2  2000/07/01 11:19:22  mdw
+ * New functions for freeing public and private keys.
+ *
  * Revision 1.1  2000/06/17 10:41:45  mdw
  * Table for driving key data extraction.
  *
  * Revision 1.1  2000/06/17 10:41:45  mdw
  * Table for driving key data extraction.
  *
@@ -71,4 +74,38 @@ const key_fetchdef dh_privfetch[] = {
   { 0,         0,                              0,              0 }  
 };
 
   { 0,         0,                              0,              0 }  
 };
 
+/* --- @dh_paramfree@, @dh_pubfree@, @dh_privfree@ --- *
+ *
+ * Arguments:  @dh_param *dp@, @dh_pub *dp@, @dh_priv *dp@ = pointer
+ *                     to key block to free
+ *
+ * Returns:    ---
+ *
+ * Use:                Frees a Diffie-Hellman key block.
+ */
+
+void dh_paramfree(dh_param *dp)
+{
+  mp_drop(dp->p);
+  mp_drop(dp->q);
+  mp_drop(dp->g);
+}
+
+void dh_pubfree(dh_pub *dp)
+{
+  mp_drop(dp->dp.p);
+  mp_drop(dp->dp.q);
+  mp_drop(dp->dp.g);
+  mp_drop(dp->y);
+}
+
+void dh_privfree(dh_priv *dp)
+{
+  mp_drop(dp->dp.p);
+  mp_drop(dp->dp.q);
+  mp_drop(dp->dp.g);
+  mp_drop(dp->y);
+  mp_drop(dp->x);
+}
+
 /*----- That's all, folks -------------------------------------------------*/
 /*----- That's all, folks -------------------------------------------------*/
diff --git a/dh.h b/dh.h
index 2fff372..2ae710c 100644 (file)
--- a/dh.h
+++ b/dh.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
 /* -*-c-*-
  *
- * $Id: dh.h,v 1.4 2000/06/17 10:52:47 mdw Exp $
+ * $Id: dh.h,v 1.5 2000/07/01 11:20:51 mdw Exp $
  *
  * Diffie-Hellman and related public-key systems
  *
  *
  * Diffie-Hellman and related public-key systems
  *
@@ -30,6 +30,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: dh.h,v $
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: dh.h,v $
+ * Revision 1.5  2000/07/01 11:20:51  mdw
+ * New functions for freeing public and private keys.
+ *
  * Revision 1.4  2000/06/17 10:52:47  mdw
  * Minor changes for key fetching.
  *
  * Revision 1.4  2000/06/17 10:52:47  mdw
  * Minor changes for key fetching.
  *
@@ -88,6 +91,20 @@ extern const key_fetchdef dh_pubfetch[];
 extern const key_fetchdef dh_privfetch[];
 #define DH_PRIVFETCHSZ 9
 
 extern const key_fetchdef dh_privfetch[];
 #define DH_PRIVFETCHSZ 9
 
+/* --- @dh_paramfree@, @dh_pubfree@, @dh_privfree@ --- *
+ *
+ * Arguments:  @dh_param *dp@, @dh_pub *dp@, @dh_priv *dp@ = pointer to
+ *                     key block to free
+ *
+ * Returns:    ---
+ *
+ * Use:                Frees a Diffie-Hellman key block.
+ */
+
+extern void dh_paramfree(dh_param */*dp*/);
+extern void dh_pubfree(dh_pub */*dp*/);
+extern void dh_privfree(dh_priv */*dp*/);
+
 /*----- Functions provided ------------------------------------------------*/
 
 /* --- @dh_gen@ --- *
 /*----- Functions provided ------------------------------------------------*/
 
 /* --- @dh_gen@ --- *
index 440f80e..27c446e 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
 /* -*-c-*-
  *
- * $Id: dsa-fetch.c,v 1.1 2000/06/17 10:41:45 mdw Exp $
+ * $Id: dsa-fetch.c,v 1.2 2000/07/01 11:19:22 mdw Exp $
  *
  * Key fetching for DSA public and private keys
  *
  *
  * Key fetching for DSA public and private keys
  *
@@ -30,6 +30,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: dsa-fetch.c,v $
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: dsa-fetch.c,v $
+ * Revision 1.2  2000/07/01 11:19:22  mdw
+ * New functions for freeing public and private keys.
+ *
  * Revision 1.1  2000/06/17 10:41:45  mdw
  * Table for driving key data extraction.
  *
  * Revision 1.1  2000/06/17 10:41:45  mdw
  * Table for driving key data extraction.
  *
@@ -71,4 +74,38 @@ const key_fetchdef dsa_privfetch[] = {
   { 0,         0,                              0,              0 }  
 };
 
   { 0,         0,                              0,              0 }  
 };
 
+/* --- @dsa_paramfree@, @dsa_pubfree@, @dsa_privfree@ --- *
+ *
+ * Arguments:  @dsa_param *dp@, @dsa_pub *dp@, @dsa_priv *dp@ = pointer
+ *                     to key block to free
+ *
+ * Returns:    ---
+ *
+ * Use:                Frees a DSA key block.
+ */
+
+void dsa_paramfree(dsa_param *dp)
+{
+  mp_drop(dp->p);
+  mp_drop(dp->q);
+  mp_drop(dp->g);
+}
+
+void dsa_pubfree(dsa_pub *dp)
+{
+  mp_drop(dp->dp.p);
+  mp_drop(dp->dp.q);
+  mp_drop(dp->dp.g);
+  mp_drop(dp->y);
+}
+
+void dsa_privfree(dsa_priv *dp)
+{
+  mp_drop(dp->dp.p);
+  mp_drop(dp->dp.q);
+  mp_drop(dp->dp.g);
+  mp_drop(dp->y);
+  mp_drop(dp->x);
+}
+
 /*----- That's all, folks -------------------------------------------------*/
 /*----- That's all, folks -------------------------------------------------*/
diff --git a/dsa.h b/dsa.h
index e891b40..2b4949d 100644 (file)
--- a/dsa.h
+++ b/dsa.h
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
 /* -*-c-*-
  *
- * $Id: dsa.h,v 1.5 2000/06/17 10:53:42 mdw Exp $
+ * $Id: dsa.h,v 1.6 2000/07/01 11:20:51 mdw Exp $
  *
  * Digital Signature Algorithm
  *
  *
  * Digital Signature Algorithm
  *
@@ -30,6 +30,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: dsa.h,v $
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: dsa.h,v $
+ * Revision 1.6  2000/07/01 11:20:51  mdw
+ * New functions for freeing public and private keys.
+ *
  * Revision 1.5  2000/06/17 10:53:42  mdw
  * Minor changes for key fetching.  Typesetting fixes.
  *
  * Revision 1.5  2000/06/17 10:53:42  mdw
  * Minor changes for key fetching.  Typesetting fixes.
  *
@@ -126,6 +129,20 @@ extern const key_fetchdef dsa_pubfetch[];
 extern const key_fetchdef dsa_privfetch[];
 #define DSA_PRIVFETCHSZ 9
 
 extern const key_fetchdef dsa_privfetch[];
 #define DSA_PRIVFETCHSZ 9
 
+/* --- @dsa_paramfree@, @dsa_pubfree@, @dsa_privfree@ --- *
+ *
+ * Arguments:  @dsa_param *dp@, @dsa_pub *dp@, @dsa_priv *dp@ = pointer
+ *                     to key block to free
+ *
+ * Returns:    ---
+ *
+ * Use:                Frees a DSA key block.
+ */
+
+extern void dsa_paramfree(dsa_param */*dp*/);
+extern void dsa_pubfree(dsa_pub */*dp*/);
+extern void dsa_privfree(dsa_priv */*dp*/);
+
 /*----- DSA stepper -------------------------------------------------------*/
 
 typedef struct dsa_stepctx {
 /*----- DSA stepper -------------------------------------------------------*/
 
 typedef struct dsa_stepctx {
@@ -250,9 +267,9 @@ extern int dsa_vrfy(const dsa_param */*dp*/, mp */*y*/,
  */
 
 extern int dsa_verify(const dsa_param */*dp*/, mp */*y*/,
  */
 
 extern int dsa_verify(const dsa_param */*dp*/, mp */*y*/,
-              const void */*m*/, size_t /*msz*/,
-              const void */*r*/, size_t /*rsz*/,
-              const void */*s*/, size_t /*ssz*/);
+                     const void */*m*/, size_t /*msz*/,
+                     const void */*r*/, size_t /*rsz*/,
+                     const void */*s*/, size_t /*ssz*/);
 
 /*----- That's all, folks -------------------------------------------------*/
 
 
 /*----- That's all, folks -------------------------------------------------*/
 
index f3dcc1d..feb8e97 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
 /* -*-c-*-
  *
- * $Id: rsa-fetch.c,v 1.1 2000/06/17 10:41:45 mdw Exp $
+ * $Id: rsa-fetch.c,v 1.2 2000/07/01 11:19:22 mdw Exp $
  *
  * Key fetching for RSA public and private keys
  *
  *
  * Key fetching for RSA public and private keys
  *
@@ -30,6 +30,9 @@
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: rsa-fetch.c,v $
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: rsa-fetch.c,v $
+ * Revision 1.2  2000/07/01 11:19:22  mdw
+ * New functions for freeing public and private keys.
+ *
  * Revision 1.1  2000/06/17 10:41:45  mdw
  * Table for driving key data extraction.
  *
  * Revision 1.1  2000/06/17 10:41:45  mdw
  * Table for driving key data extraction.
  *
@@ -65,4 +68,31 @@ const key_fetchdef rsa_privfetch[] = {
   { 0,         0,                              0,              0 }  
 };
 
   { 0,         0,                              0,              0 }  
 };
 
+/* --- @rsa_pubfree@, @rsa_privfree@ --- *
+ *
+ * Arguments:  @rsa_pub *rp@, @rsa_priv *rp@ = pointer to key block
+ *
+ * Returns:    ---
+ *
+ * Use:                Frees an RSA key block.
+ */
+
+void rsa_pubfree(rsa_pub *rp)
+{
+  mp_drop(rp->n);
+  mp_drop(rp->e);
+}
+
+void rsa_privfree(rsa_priv *rp)
+{
+  mp_drop(rp->n);
+  mp_drop(rp->e);
+  mp_drop(rp->p);
+  mp_drop(rp->q);
+  mp_drop(rp->q_inv);
+  mp_drop(rp->d);
+  mp_drop(rp->dp);
+  mp_drop(rp->dq);
+}
+
 /*----- That's all, folks -------------------------------------------------*/
 /*----- That's all, folks -------------------------------------------------*/