/*----- Header files ------------------------------------------------------*/
+#include <mLib/macros.h>
+
#ifndef CATACOMB_DH_H
# include "dh.h"
#endif
+#ifndef CATACOMB_GRAND_H
+# include "grand.h"
+#endif
+
#ifndef CATACOMB_KEY_H
# include "key.h"
#endif
* @mp *q@ = order of the DSA group
* @mp *x@ = secret key
* @const octet *m@ = message hash
- * @const gchash *h@ = hash class
+ * @const gchash *ch@ = hash class
* @grand *r@ = random bit source, or null
*
* Returns: A nonce.
* Returns: ---
*
* Use: Computes a DSA signature of a message.
+ *
+ * This function is deprecated. It's really rather badly
+ * designed, and hard to use securely (and hard to fix). Please
+ * use @gdsa_sign@ instead.
*/
-extern void dsa_mksig(const dsa_param */*dp*/, mp */*a*/,
- mp */*m*/, mp */*k*/,
- mp **/*rr*/, mp **/*ss*/);
+extern
+#ifndef CATACOMB_DSAIMPL
+ DEPRECATED("please use `gdsa_sign' instead")
+#endif
+ void dsa_mksig(const dsa_param */*dp*/, mp */*a*/, mp */*m*/, mp */*k*/,
+ mp **/*rr*/, mp **/*ss*/);
/* --- @dsa_sign@ --- *
*
*
* Use: Signs a message, storing the results in a big-endian binary
* form.
+ *
+ * This function is deprecated. It's really rather badly
+ * designed, and hard to use securely (and hard to fix). Please
+ * use @gdsa_sign@ instead.
*/
-extern void dsa_sign(dsa_param */*dp*/, mp */*a*/,
- const void */*m*/, size_t /*msz*/,
- const void */*k*/, size_t /*ksz*/,
- void */*r*/, size_t /*rsz*/,
- void */*s*/, size_t /*ssz*/);
+extern
+#ifndef CATACOMB_DSAIMPL
+ DEPRECATED("please use `gdsa_sign' instead")
+#endif
+ void dsa_sign(dsa_param */*dp*/, mp */*a*/,
+ const void */*m*/, size_t /*msz*/,
+ const void */*k*/, size_t /*ksz*/,
+ void */*r*/, size_t /*rsz*/, void */*s*/, size_t /*ssz*/);
/* --- @dsa_vrfy@ --- *
*