From 31c545b9e803310312a0d9433e79cf206e00ffe4 Mon Sep 17 00:00:00 2001 From: Özgür Kesim Date: Fri, 22 Apr 2022 15:14:30 +0200 Subject: -fixed tests for age restriction, now using correct seed --- src/util/age_restriction.c | 4 +++- src/util/test_age_restriction.c | 14 +++++++++----- src/util/test_crypto.c | 18 ++++++++++++------ 3 files changed, 24 insertions(+), 12 deletions(-) (limited to 'src/util') diff --git a/src/util/age_restriction.c b/src/util/age_restriction.c index 1fa8c558a..dfb376b2d 100644 --- a/src/util/age_restriction.c +++ b/src/util/age_restriction.c @@ -88,17 +88,19 @@ TALER_age_restriction_commit ( const struct GNUNET_HashCode *seed, struct TALER_AgeCommitmentProof *new) { - struct GNUNET_HashCode seed_i = *seed; + struct GNUNET_HashCode seed_i; uint8_t num_pub = __builtin_popcount (mask->bits) - 1; uint8_t num_priv = get_age_group (mask, age); size_t i; + GNUNET_assert (NULL != seed); GNUNET_assert (NULL != new); GNUNET_assert (mask->bits & 1); /* fist bit must have been set */ GNUNET_assert (0 <= num_priv); GNUNET_assert (31 > num_priv); GNUNET_assert (num_priv <= num_pub); + seed_i = *seed; new->commitment.mask.bits = mask->bits; new->commitment.num = num_pub; new->proof.num = num_priv; diff --git a/src/util/test_age_restriction.c b/src/util/test_age_restriction.c index bf64a705d..9b8c6dfe5 100644 --- a/src/util/test_age_restriction.c +++ b/src/util/test_age_restriction.c @@ -148,12 +148,16 @@ test_attestation (void) struct TALER_AgeCommitmentProof acp[3] = {0}; struct TALER_AgeAttestation at = {0}; uint8_t age_group = get_age_group (&age_mask, age); - uint64_t salt = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, - UINT64_MAX); + struct GNUNET_HashCode seed; + + + GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, + &seed, + sizeof(seed)); ret = TALER_age_restriction_commit (&age_mask, age, - salt, + &seed, &acp[0]); printf ( @@ -166,8 +170,8 @@ test_attestation (void) /* Also derive two more commitments right away */ for (uint8_t i = 0; i<2; i++) { - salt = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, - UINT64_MAX); + uint64_t salt = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, + UINT64_MAX); GNUNET_assert (GNUNET_OK == TALER_age_commitment_derive (&acp[i], salt, diff --git a/src/util/test_crypto.c b/src/util/test_crypto.c index c9f690b2b..a517b5bc3 100644 --- a/src/util/test_crypto.c +++ b/src/util/test_crypto.c @@ -131,13 +131,16 @@ test_planchets_rsa (uint8_t age) { struct TALER_AgeCommitmentProof acp; struct TALER_AgeCommitmentHash ah = {0}; - uint64_t salt = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, - UINT64_MAX); + struct GNUNET_HashCode seed; + + GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, + &seed, + sizeof(seed)); GNUNET_assert (GNUNET_OK == TALER_age_restriction_commit (&age_mask, age, - salt, + &seed, &acp)); TALER_age_commitment_hash (&acp.commitment, &ah); @@ -260,13 +263,16 @@ test_planchets_cs (uint8_t age) { struct TALER_AgeCommitmentHash ah = {0}; struct TALER_AgeCommitmentProof acp; - uint64_t salt = GNUNET_CRYPTO_random_u64 (GNUNET_CRYPTO_QUALITY_WEAK, - UINT64_MAX); + struct GNUNET_HashCode seed; + + GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK, + &seed, + sizeof(seed)); GNUNET_assert (GNUNET_OK == TALER_age_restriction_commit (&age_mask, age, - salt, + &seed, &acp)); TALER_age_commitment_hash (&acp.commitment, &ah); -- cgit v1.2.3