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

Adds Prio3 a set of verifiable distributed aggregation functions. #522

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

armfazh
Copy link
Contributor

@armfazh armfazh commented Dec 17, 2024

Prio3 supports several variants for aggregating data measurements in a privacy preserving manner.
This implementation is compliant with v13 of CRFG draft VDAF https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-vdaf-13#name-prio3

Prio3 supports several variants for aggregating data measurements
in a privacy preserving manner.
This implementation is compliant with v13 of CRFG draft VDAF
https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-vdaf-13#name-prio3
@armfazh armfazh added the new feature New functionality or module label Dec 17, 2024
@armfazh armfazh self-assigned this Dec 17, 2024
Copy link
Contributor

@cjpatton cjpatton left a comment

Choose a reason for hiding this comment

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

This looks really good!

math/integer.go Show resolved Hide resolved
vdaf/doc.go Show resolved Hide resolved
vdaf/prio3/arith/arith.go Outdated Show resolved Hide resolved
vdaf/prio3/arith/arith.go Outdated Show resolved Hide resolved
vdaf/prio3/arith/arith.go Outdated Show resolved Hide resolved
vdaf/prio3/mhcv/mhcv.go Outdated Show resolved Hide resolved
vdaf/prio3/mhcv/mhcv.go Outdated Show resolved Hide resolved
vdaf/prio3/prio3_test.go Outdated Show resolved Hide resolved
vdaf/prio3/arith/templates/vector.go.tmpl Show resolved Hide resolved
vdaf/prio3/arith/arith.go Show resolved Hide resolved
@armfazh
Copy link
Contributor Author

armfazh commented Dec 20, 2024

Items todo:

  • Make Encode() constant time so doesn't leak measurement.
  • Add a unit test for Query(), to catch invalid query randomness
  • Mul of polynomials using NTT

@cjpatton
Copy link
Contributor

Items todo:

* Make Encode() constant time so doesn't leak measurement.

* Add a unit test for Query(), to catch invalid query randomness

* Mul of polynomials using NTT

Feel free to punt the NTT optimizations to a future PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New functionality or module
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants