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

Broadcast of polynomials commitments in VSS/DKG #407

Open
SK0M0R0H opened this issue Dec 17, 2019 · 4 comments · May be fixed by #512
Open

Broadcast of polynomials commitments in VSS/DKG #407

SK0M0R0H opened this issue Dec 17, 2019 · 4 comments · May be fixed by #512

Comments

@SK0M0R0H
Copy link

SK0M0R0H commented Dec 17, 2019

Hello!
According to the original papers, a dealer of the VSS/DKG schemes has to broadcast polynomials commitments (Deal.Commitments in Kyber).
In Kyber, these commitments are encrypted together with deals. So a malicious party can send different deals (given from different polynomials) to different parties. For Rabin's DKG, it will be revealed in the second phase. But in the original version, this would have been revealed in the first phase and the party would not have got into the QUAL set.
Maybe I missed something, why did you change this "broadcast rule"?

@nikkolasg
Copy link
Collaborator

Hi,

You are right, good eye! However, let me add in some context:

  • Unfortunately, Pedersen DKG requires synchronous communication model with a broadcast channel. That is very hard to do in practice: reliable broadcast or consensus / blockchain. In the case where we don't have this broadcast channel, the attacker can still send any commitment in the clear to any party, not necessarily the same, leading back to the same case as here. Nevertheless, you are probably right we should still expose it in the API as an uncrypted field in the Deal.
  • Due to this limitation of the model, we/I plan to hopefully move towards an asynchronous DKG which use a relaxed network model. In that case, there's not gonna be any need to rely on the attacker correctly broadcasting any values.

Gonna open up an issue for revealing the commitment. Thanks !

@nikkolasg
Copy link
Collaborator

@SK0M0R0H Just want to flag out here that I've rewrote a new DKG library and I've put that public commitment in the clear now; it's on a fork of kyber though.
https://github.com/drand/kyber/blob/master/share/dkg/structs.go#L97

@SK0M0R0H
Copy link
Author

SK0M0R0H commented May 9, 2020

@nikkolasg Thank you!

@Robingoumaz
Copy link

#512 will bring the drand DKG into kyber

@Robingoumaz Robingoumaz linked a pull request May 15, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants