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

Explore Shamir secret sharing (was "Multiple protocol runs and/or threshold secret sharing") #22

Closed
tgeoghegan opened this issue Mar 25, 2021 · 4 comments
Labels
parking-lot Parking lot for future discussions

Comments

@tgeoghegan
Copy link
Collaborator

Prio v2 employs a linear secret sharing scheme in which all input shares are required in order to produce coherent outputs. This gives us robustness against malicious clients, but not malicious servers (robustness per section 2 of the 2017 paper).

We could provide robustness against a minority of malicious servers by running the protocol over multiple subsets of aggregators. If the outputs across all aggregator subsets do not agree, then participants know that there is at least one malicious server.

If linear secret sharing is employed, then clients would have to generate input shares once for each subset. We could also use a threshold secret sharing scheme (e.g., Shamir), which would reduce work for clients.

@cjpatton
Copy link
Collaborator

This will be interesting :)

@cjpatton
Copy link
Collaborator

cjpatton commented Jun 9, 2021

#43 partially addresses this issue by deciding that multiple helpers will be used for resilience. Whether we can use Shamir secret sharing to provide robustness against cheating servers is still an open question. Though IMO we shouldn't try to change the spec to allow for this.

@cjpatton cjpatton changed the title Multiple protocol runs and/or threshold secret sharing Explore Shamir secret sharing (was "Multiple protocol runs and/or threshold secret sharing") Jul 14, 2021
@cjpatton cjpatton added the parking-lot Parking lot for future discussions label Jul 14, 2021
@cjpatton
Copy link
Collaborator

This issue predates the VDAF abstraction and no longer applies (directly) to DAP. However, it's an interesting consideration for a future variant of Prio3 (or other VDAF).

@cjpatton cjpatton closed this as not planned Won't fix, can't repro, duplicate, stale Sep 13, 2022
cjpatton added a commit to cfrg/draft-irtf-cfrg-vdaf that referenced this issue Oct 31, 2024
Demonstration of the composition of FLP with Shamir's secret sharing.
This could be the basis of a Prio3 variant that tolerates drop out of an
Aggregator.

Imagine a DAP setup [1] where a Leader wants to be able to run the
protocol with one of two Helpers so that if the first Helper goes
offline, it can continue the computation with the other.

For this to work, the Client still needs to know the identities of the
two Helpers prior to generating its report.

[1] ietf-wg-ppm/draft-ietf-ppm-dap#22
cjpatton added a commit to cfrg/draft-irtf-cfrg-vdaf that referenced this issue Oct 31, 2024
A demonstration of the composition of FLP with Shamir's secret sharing.
This could be the basis of a Prio3 variant that tolerates drop out of an
Aggregator.

Imagine a DAP setup [1] where a Leader wants to be able to run the
protocol with one of two Helpers so that if the first Helper goes
offline, it can continue the computation with the other.

For this to work, the Client still needs to know the identities of the
two Helpers prior to generating its report.

[1] ietf-wg-ppm/draft-ietf-ppm-dap#22
@cjpatton
Copy link
Collaborator

Said variant of Prio3: cfrg/draft-irtf-cfrg-vdaf#520

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
parking-lot Parking lot for future discussions
Projects
None yet
Development

No branches or pull requests

2 participants