generated from martinthomson/internet-draft-template
-
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: Align spec with revised paper #105
Merged
Merged
+140
−77
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
b9a89e9
to
4c49104
Compare
32ff590
to
c0ee1fd
Compare
5cee6ce
to
d99544a
Compare
92d31b4
to
e933503
Compare
e933503
to
06ec588
Compare
c0ee1fd
to
d684990
Compare
9b3f4ef
to
c2ea50c
Compare
cjpatton
commented
Aug 16, 2022
> TODO(issue #106) Decide if it's safe to model this construction as a random | ||
> oracle. `PrgAes128.derive_seed()` is used for the Fiat-Shamir heuristic in | ||
> Prio3 ({{prio3}}). A fixed-key is used for this step (the all-zero string). A | ||
> reasoanble starting point would be to model AES as an ideal cipher. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Filed #106.
tgeoghegan
reviewed
Aug 16, 2022
d684990
to
6da1b7a
Compare
ee1a02c
to
4f569cb
Compare
divergentdave
approved these changes
Aug 17, 2022
6da1b7a
to
b6cf76b
Compare
4f569cb
to
4591bf3
Compare
bb59f30
to
87f0cc6
Compare
4591bf3
to
825063f
Compare
87f0cc6
to
875da0e
Compare
825063f
to
6166162
Compare
A bug was found in [BBCGGI+19] that leads to an attack on the robustness of Prio3. The attack is based on an observation in Appendix A of the paper "A New Paradigm for Collision-Free Hashing: Incrementality at Reduced Cost" from Bellare and Micciancio (Eurocrypt 1997). In short, the attack allows a malicious Client to construct invalid input shares for which the Aggregators would compute a `k_joint_rand` of its choosing. This bug was patched in Section 6.2.3 of https://eprint.iacr.org/archive/2019/188/20220727:184451 as follows: Instead of XORing joint randomness shares computed by the Aggregators, `k_joint_rand` is computed by hashing the shares. This change patches the Prio3 spec in kind.
This improves syntax highlighting in vim.
6166162
to
529c503
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Partially addresses #102.
A bug was found in [BBCGGI+19] that leads to an attack on the robustness
of Prio3. The attack is based on an observation in Appendix A of the
paper "A New Paradigm for Collision-Free Hashing: Incrementality at
Reduced Cost" from Bellare and Micciancio (Eurocrypt 1997). In short,
the attack allows a malicious Client to construct invalid input shares
for which the Aggregators would compute a
k_joint_rand
of itschoosing.
This bug was patched in Section 6.2.3 of
https://eprint.iacr.org/archive/2019/188/20220727:184451 as follows:
Instead of XORing joint randomness shares computed by the
Aggregators,
k_joint_rand
is computed by hashing the shares. Thischange patches the Prio3 spec in kind.