diff options
author | Christian Grothoff <christian@grothoff.org> | 2022-11-13 20:20:19 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2022-11-13 20:20:19 +0100 |
commit | 390d241019c0c2695bae1532bf857e1c278d7747 (patch) | |
tree | 3327a6df908102b2e18caf51d7842166a6ec8014 /src/include | |
parent | de2fdc2a9a12acfc15d631f3406c2ff1cffa12ec (diff) |
implement CS batch operations in libtalerutil
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/taler_crypto_lib.h | 48 |
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 |