aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-11-13 20:20:19 +0100
committerChristian Grothoff <christian@grothoff.org>2022-11-13 20:20:19 +0100
commit390d241019c0c2695bae1532bf857e1c278d7747 (patch)
tree3327a6df908102b2e18caf51d7842166a6ec8014 /src/include
parentde2fdc2a9a12acfc15d631f3406c2ff1cffa12ec (diff)
implement CS batch operations in libtalerutil
Diffstat (limited to 'src/include')
-rw-r--r--src/include/taler_crypto_lib.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h
index 010a5bc71..30a652682 100644
--- a/src/include/taler_crypto_lib.h
+++ b/src/include/taler_crypto_lib.h
@@ -2634,6 +2634,30 @@ TALER_CRYPTO_helper_cs_r_derive_withdraw (
/**
* Ask the helper to derive R using the information
+ * from @a cdrs.
+ *
+ * This operation will block until the R has been obtained. Should
+ * this process receive a signal (that is not ignored) while the operation is
+ * pending, the operation will fail. Note that the helper may still believe
+ * that it created the signature. Thus, signals may result in a small
+ * differences in the signature counters. Retrying in this case may work.
+ *
+ * @param dh helper to process connection
+ * @param cdrs array with derivation input data
+ * @param cdrs_length length of the @a cdrs array
+ * @param[out] crp array set to the pair of R values, must be of length @a cdrs_length
+ * @return set to the error code (or #TALER_EC_NONE on success)
+ */
+enum TALER_ErrorCode
+TALER_CRYPTO_helper_cs_r_batch_derive_withdraw (
+ struct TALER_CRYPTO_CsDenominationHelper *dh,
+ const struct TALER_CRYPTO_CsDeriveRequest *cdrs,
+ unsigned int cdrs_length,
+ struct TALER_DenominationCSPublicRPairP *crps);
+
+
+/**
+ * Ask the helper to derive R using the information
* from @a cdr.
*
* This operation will block until the R has been obtained. Should
@@ -2655,6 +2679,30 @@ TALER_CRYPTO_helper_cs_r_derive_melt (
/**
+ * Ask the helper to derive R using the information
+ * from @a cdrs.
+ *
+ * This operation will block until the R has been obtained. Should
+ * this process receive a signal (that is not ignored) while the operation is
+ * pending, the operation will fail. Note that the helper may still believe
+ * that it created the signature. Thus, signals may result in a small
+ * differences in the signature counters. Retrying in this case may work.
+ *
+ * @param dh helper to process connection
+ * @param cdrs array with derivation input data
+ * @param cdrs_length length of the @a cdrs array
+ * @param[out] crps array set to the pair of R values, must be of length @a cdrs_length
+ * @return set to the error code (or #TALER_EC_NONE on success)
+ */
+enum TALER_ErrorCode
+TALER_CRYPTO_helper_cs_r_batch_derive_melt (
+ struct TALER_CRYPTO_CsDenominationHelper *dh,
+ const struct TALER_CRYPTO_CsDeriveRequest *cdrs,
+ unsigned int cdrs_length,
+ struct TALER_DenominationCSPublicRPairP *crps);
+
+
+/**
* Close connection to @a dh.
*
* @param[in] dh connection to close