diff options
author | Özgür Kesim <oec-taler@kesim.org> | 2022-04-22 15:14:30 +0200 |
---|---|---|
committer | Özgür Kesim <oec-taler@kesim.org> | 2022-04-22 15:15:57 +0200 |
commit | 31c545b9e803310312a0d9433e79cf206e00ffe4 (patch) | |
tree | bed76f9858625a1d9f3e88d18e0b11d5ac70a7e7 | |
parent | eea35ffb01328f4109e4cfaeeff1c3cae586d8e4 (diff) |
-fixed tests for age restriction, now using correct seed
-rw-r--r-- | src/util/age_restriction.c | 4 | ||||
-rw-r--r-- | src/util/test_age_restriction.c | 14 | ||||
-rw-r--r-- | src/util/test_crypto.c | 18 |
3 files changed, 24 insertions, 12 deletions
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); |