aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit31c545b9e803310312a0d9433e79cf206e00ffe4 (patch)
treebed76f9858625a1d9f3e88d18e0b11d5ac70a7e7
parenteea35ffb01328f4109e4cfaeeff1c3cae586d8e4 (diff)
-fixed tests for age restriction, now using correct seed
-rw-r--r--src/util/age_restriction.c4
-rw-r--r--src/util/test_age_restriction.c14
-rw-r--r--src/util/test_crypto.c18
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);