Closed naure closed 4 months ago
It looks like the CI is failing due to formatting differences. You can always run cargo make ci
to test this locally! (Assumes you have cargo make
installed).
Also fixed all linter errors.
I just figured out that the usual warnings from cargo
and rust-analyzer
don’t work with the specified rust version. I used this command to make it work again:
rustup override set nightly
Overall, the code looks good. I just have some minor comments. I will say that I don't think the original paper updated rid with rho for key refresh, but updating rid with rho should not be problematic from a replay standpoint.
Indeed you're right. Should it just keep the old rid instead?
The output now keeps the existing rid instead of the new one.
This is the first version of the Key Refresh protocol.
Init keyrefresh module
Add MessageType and BroadcastTag for keyrefresh.
Fix test
keyrefresh: protocol description
keyrefresh: Remove rid
keyrefresh: generate key updates for all participants.
keyrefresh: key updates sum to 0. Store updates.
keyrefresh: generate, broadcast, and verify proofs. Remove keygen variant.
keyrefresh: aggregate updates
keyrefresh: send and receive private updates
keyrefresh: pass inputs from keygen and auxinfo
keyrefresh: encrypt and decrypt the private updates
keyrefresh: verify_with_precommit
keyrefresh: all checks for KeyrefreshDecommit