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
Add DKG support #129
Add DKG support #129
Conversation
@dconnolly I rebased and solved conflicts. I reproduced the issue you found, it was caused by a mistake in I changed |
Codecov ReportBase: 83.54% // Head: 86.48% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## main #129 +/- ##
==========================================
+ Coverage 83.54% 86.48% +2.94%
==========================================
Files 17 18 +1
Lines 1392 1769 +377
==========================================
+ Hits 1163 1530 +367
- Misses 229 239 +10
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
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.
The PR looks very good. I tried to thoroughly check if the implementation matches the spec and the paper. I just have a few very minor suggestions.
Note that running
cargo d --document-private-items
produces two warnings about unresolved links.
Co-authored-by: Marek <mail@marek.onl>
Co-authored-by: Marek <mail@marek.onl>
Thanks, great suggestions! I also fixed the warnings. |
Implements DKG per the FROST paper.
This required adding a new hash function to the Ciphersuite. I named it
HDKG
instead ofH6
to avoid future collisions. I also made it optional by returning anOption
, so that ciphersuites can return None if they don't need the DKG, and making returning None the default implementation so that ciphersuites don't even need to implement it if not needed.I'm not super happy with the struct names, suggestions are welcome. Though I think that using "Round1/2" in them makes it a bit clearer for users than trying to come up with semantic names.
Based on #112
Closes #35 , #63