/* -*-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
*
/*----- 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.
*
{ 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 -------------------------------------------------*/
/* -*-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
*
/*----- 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.
*
{ 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 -------------------------------------------------*/
/* -*-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
*
/*----- 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.
*
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@ --- *
/* -*-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
*
/*----- 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.
*
{ 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 -------------------------------------------------*/
/* -*-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
*
/*----- 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.
*
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 {
*/
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 -------------------------------------------------*/
/* -*-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
*
/*----- 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.
*
{ 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 -------------------------------------------------*/