Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add poc changes for #177 #1

Closed
wants to merge 1 commit into from
Closed

Add poc changes for #177 #1

wants to merge 1 commit into from

Conversation

albertpl
Copy link
Owner

@albertpl albertpl commented Oct 2, 2023

@@ -658,6 +658,12 @@ class SumVec(Valid):
JOINT_RAND_LEN = 1
OUTPUT_LEN = None # Set by constructor

@classmethod
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I choose to this approach, instead of making field a __init__ parameter because

  1. Follow existing patterns in vdaf_prio3.py where we using Prio3 as a template to create Prio3SumVec etc.
  2. SumVec.Field is closer to template/generic parameters than instance properties, to me

@@ -483,6 +510,41 @@ class Prio3HistogramWithLength(Prio3Histogram):
return Prio3HistogramWithLength


class Prio3SumVecWithMultiproof(Prio3SumVec):
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is the Prio3SumVec variant with configurable PROOFS parameter.

@albertpl albertpl force-pushed the poc-prio3-multiproof branch 2 times, most recently from 44b4ea8 to 8b74ffc Compare October 3, 2023 00:45
length: Unsigned,
bits: Unsigned,
chunk_length: Unsigned,
num_proofs: Unsigned,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One feedback we got in issue 177 is the algorithm identifier needs to commit to the choice of field and number of proofs. I think that means one code point needs to map to a particular choice of field and number of proofs. The current Prio3 does so by including the algorithm identifier in the domain separation tag.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. I just pushed a commit to make it clear that algorithm ID is dependent on (field, num_proofs). Let me know.

@albertpl albertpl force-pushed the poc-prio3-multiproof branch 2 times, most recently from e880a21 to 71f242a Compare October 3, 2023 22:59
* Support multiproofs in Prio3
* Add new Prio3SumVec variant, i.e. Prio3SumVecWithMultiproof, with configuration (field size, number of proofs)
* Add with_field class methods to introduce new SumVec with configurable field size
@albertpl albertpl force-pushed the poc-prio3-multiproof branch from 2ee0feb to e11c788 Compare October 14, 2023 00:27
@albertpl albertpl closed this Oct 24, 2023
@albertpl albertpl deleted the poc-prio3-multiproof branch October 24, 2023 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants