diff options
author | Gian Demarmels <gian@demarmels.org> | 2022-01-11 21:21:18 +0100 |
---|---|---|
committer | Gian Demarmels <gian@demarmels.org> | 2022-02-04 15:36:11 +0100 |
commit | 5b7e8f9ac55990823363edffa0e907256d15ce4f (patch) | |
tree | 7c0b265ea23c46a40e131ea3eea16090688b0a0c /src/util/denom.c | |
parent | daa7fdcfb1053bdd943ad7cd1bd8eb623d1c9157 (diff) | |
download | exchange-5b7e8f9ac55990823363edffa0e907256d15ce4f.tar.xz |
refactoring
Diffstat (limited to 'src/util/denom.c')
-rw-r--r-- | src/util/denom.c | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/src/util/denom.c b/src/util/denom.c index c7cf62c3e..43204f09c 100644 --- a/src/util/denom.c +++ b/src/util/denom.c @@ -170,8 +170,7 @@ TALER_denom_sig_unblind ( struct TALER_DenominationSignature *denom_sig, const struct TALER_BlindedDenominationSignature *bdenom_sig, const union TALER_DenominationBlindingKeyP *bks, - const struct TALER_DenominationPublicKey *denom_pub, - ...) + const struct TALER_DenominationPublicKey *denom_pub) { if (bdenom_sig->cipher != denom_pub->cipher) { @@ -198,25 +197,35 @@ TALER_denom_sig_unblind ( return GNUNET_OK; case TALER_DENOMINATION_CS: { - va_list ap; - va_start (ap, denom_pub); - struct TALER_DenominationCsPublicR *r_pub_blind; - r_pub_blind = va_arg (ap, struct TALER_DenominationCsPublicR *); - struct GNUNET_CRYPTO_CsBlindingSecret bs[2]; + // struct TALER_DenominationCsPublicR r_pub_blind; + // struct GNUNET_CRYPTO_CsC c[2]; + // struct TALER_CoinPubHash c_hash; + + // TALER_coin_pub_hash (coin_pub, + // age_commitment_hash, + // c_hash); + GNUNET_CRYPTO_cs_blinding_secrets_derive (&bks->nonce, bs); + // GNUNET_CRYPTO_cs_calc_blinded_c (bs, + // &alg_values->r_pub, + // &denom_pub->details.cs_public_key, + // &c_hash->hash, + // sizeof(struct GNUNET_HashCode), + // c, + // r_pub_blind->r_pub); + GNUNET_CRYPTO_cs_unblind (&bdenom_sig->details.blinded_cs_answer.s_scalar, &bs[bdenom_sig->details.blinded_cs_answer.b], &denom_sig->details.cs_signature.s_scalar); - GNUNET_memcpy (&denom_sig->details.cs_signature.r_point, - &r_pub_blind->r_pub[bdenom_sig->details.blinded_cs_answer.b - ], - sizeof(struct GNUNET_CRYPTO_CsRPublic)); + // GNUNET_memcpy (&denom_sig->details.cs_signature.r_point, + // &r_pub_blind.r_pub[bdenom_sig->details.blinded_cs_answer.b + // ], + // sizeof(struct GNUNET_CRYPTO_CsRPublic)); denom_sig->cipher = TALER_DENOMINATION_CS; - va_end (ap); return GNUNET_OK; } default: @@ -333,9 +342,9 @@ TALER_denom_blind (const struct TALER_DenominationPublicKey *dk, const union TALER_DenominationBlindingKeyP *coin_bks, const struct TALER_AgeHash *age_commitment_hash, const struct TALER_CoinSpendPublicKeyP *coin_pub, + const struct TALER_ExchangeWithdrawValues *alg_values, struct TALER_CoinPubHash *c_hash, - struct TALER_BlindedPlanchet *blinded_planchet, - ...) + struct TALER_BlindedPlanchet *blinded_planchet) { TALER_coin_pub_hash (coin_pub, age_commitment_hash, @@ -361,27 +370,19 @@ TALER_denom_blind (const struct TALER_DenominationPublicKey *dk, case TALER_DENOMINATION_CS: { blinded_planchet->cipher = dk->cipher; - va_list ap; - va_start (ap, blinded_planchet); - struct TALER_DenominationCsPublicR *r_pub; - struct TALER_DenominationCsPublicR *blinded_r_pub; - - r_pub = va_arg (ap, struct TALER_DenominationCsPublicR *); - blinded_r_pub = va_arg (ap, struct TALER_DenominationCsPublicR *); - + struct TALER_DenominationCsPublicR blinded_r_pub; struct GNUNET_CRYPTO_CsBlindingSecret bs[2]; + GNUNET_CRYPTO_cs_blinding_secrets_derive (&coin_bks->nonce, bs); GNUNET_CRYPTO_cs_calc_blinded_c (bs, - r_pub->r_pub, + alg_values->details.cs_values.r_pub.r_pub, &dk->details.cs_public_key, &c_hash->hash, sizeof(struct GNUNET_HashCode), blinded_planchet->details. cs_blinded_planchet.c, - blinded_r_pub->r_pub); - - va_end (ap); + blinded_r_pub.r_pub); return GNUNET_OK; } default: |