-
Notifications
You must be signed in to change notification settings - Fork 15
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
Prio3: Improve circuit specifications #451
Conversation
Reviewer note: the diff is quite big because we are coalescing the circuit specification, encoding scheme, and parameter table into a single listing. My recommendation would be not look at the diff, but instead pull the branch and read through {{prio3-instantiations}}. |
d4541cc
to
f7dd19a
Compare
c8e6146
to
7473dd3
Compare
Rebased. |
Rebased. Initially the unit tests failed because |
Rebased. |
Rework the spec of each Prio3 variant by listing the entire class of each circuit. Also, list the specification of each gadget in the appendix. * Prio3Sum: Use `PolyEval` instead of `Range2`, as this is a much more useful gadget to list in the doc. * Say "variant" instead of "instance". * Document missing operations on polynomials. * Modify the constructor for `Field` elements by interpreting negative integers as additive inverses. This is necessary in order to allow expressing polynomial coefficients in the `PolyEval` circuit independent of the field modulus.
5dab644
to
517034b
Compare
Stacked on #449 (to reduce rebase conflicts later on).
Closes #411.
Rework the spec of each Prio3 variant by listing the entire class of each circuit. Also, list the specification of each gadget in
the appendix.
PolyEval
instead ofRange2
, as this is a much more useful gadget to list in the doc.Field
elements by interpreting negative integers as additive inverses. This is necessary in order to allow expressing polynomial coefficients in thePolyEval
circuit independent of the field modulus.