diff options
author | Christian Grothoff <grothoff@gnunet.org> | 2021-11-05 14:00:10 +0100 |
---|---|---|
committer | Christian Grothoff <grothoff@gnunet.org> | 2021-11-05 14:00:10 +0100 |
commit | 32da809fd665f1ac19210bf48952f1988f417fb8 (patch) | |
tree | eebd61cf482dddf83c1ce530f3aca0c045a33591 /src/include | |
parent | 766922f7e9bd5570fd12b663e61f8bd622e51c78 (diff) |
abstract denomination keys a bit more
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/taler_crypto_lib.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/include/taler_crypto_lib.h b/src/include/taler_crypto_lib.h index 8871369e2..b726972ce 100644 --- a/src/include/taler_crypto_lib.h +++ b/src/include/taler_crypto_lib.h @@ -678,6 +678,26 @@ TALER_denom_pub_free (struct TALER_DenominationPublicKey *denom_pub); /** + * Initialize denomination public-private key pair. + * + * For #TALER_DENOMINATION_RSA, an additional "unsigned int" + * argument with the number of bits for 'n' (e.g. 2048) must + * be passed. + * + * @param[out] denom_priv where to write the private key + * @param[out] deonm_pub where to write the public key + * @param cipher which type of cipher to use + * @param ... cipher-specific parameters + * @return #GNUNET_OK on success, #GNUNET_NO if parameters were invalid + */ +enum GNUNET_GenericReturnValue +TALER_denom_priv_create (struct TALER_DenominationPrivateKey *denom_priv, + struct TALER_DenominationPublicKey *denom_pub, + enum TALER_DenominationCipher cipher, + ...); + + +/** * Free internals of @a denom_priv, but not @a denom_priv itself. * * @param[in] denom_priv key to free @@ -696,6 +716,22 @@ TALER_denom_sig_free (struct TALER_DenominationSignature *denom_sig); /** + * Create blinded signature. + * + * @param[out] denom_sig where to write the signature + * @param denom_priv private key to use for signing + * @param blinded_msg message to sign + * @param blinded_msg_size number of bytes in @a blinded_msg + * @return #GNUNET_OK on success + */ +enum GNUNET_GenericReturnValue +TALER_denom_sign_blinded (struct TALER_BlindedDenominationSignature *denom_sig, + const struct TALER_DenominationPrivateKey *denom_priv, + void *blinded_msg, + size_t blinded_msg_size); + + +/** * Free internals of @a denom_sig, but not @a denom_sig itself. * * @param[in] denom_sig signature to free |