Skip to content

Commit

Permalink
Only check prefixes are suffixes of last level if that level is > 0
Browse files Browse the repository at this point in the history
  • Loading branch information
schoppmp committed May 2, 2024
1 parent 4e8e70c commit 15299a7
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions poc/vdaf_poplar1.py
Original file line number Diff line number Diff line change
Expand Up @@ -171,18 +171,20 @@ def is_valid(Poplar1, agg_param, previous_agg_params):
(level, prefixes) = agg_param
(last_level, last_prefixes) = previous_agg_params[-1]
# The empty prefix 0 is always there.
last_prefixes_set = set(list(last_prefixes) + [0])
last_prefixes_set = set(list(last_prefixes))

# Check that level increased.
if level <= last_level:
return False

# Check that prefixes are suffixes of the last level's prefixes.
for (i, prefix) in enumerate(prefixes):
last_prefix = Poplar1.get_ancestor(prefix, level, last_level)
if last_prefix not in last_prefixes_set:
# Current prefix not a suffix of last level's prefixes.
return False
# Check that prefixes are suffixes of the last level's prefixes,
# unless the last level was 0 (and therefore had no prefixes).
if last_level > 0:
for (i, prefix) in enumerate(prefixes):
last_prefix = Poplar1.get_ancestor(prefix, level, last_level)
if last_prefix not in last_prefixes_set:
# Current prefix not a suffix of last level's prefixes.
return False
return True

@classmethod
Expand Down

0 comments on commit 15299a7

Please sign in to comment.