#generation #key #distributed #gennaro

gennaro-dkg

The Gennaro Distributed Key Generation Algorithm

23 releases (8 breaking)

0.9.0-rc1 Mar 26, 2024
0.8.0 Sep 5, 2023
0.5.0 Jul 26, 2023
0.2.8-pre0 Mar 20, 2023

#573 in Cryptography

Download history 22/week @ 2023-12-21 82/week @ 2024-01-04 140/week @ 2024-01-11 161/week @ 2024-01-18 108/week @ 2024-01-25 139/week @ 2024-02-01 39/week @ 2024-02-08 42/week @ 2024-02-15 107/week @ 2024-02-22 175/week @ 2024-02-29 154/week @ 2024-03-07 121/week @ 2024-03-14 358/week @ 2024-03-21 340/week @ 2024-03-28 162/week @ 2024-04-04

1,015 downloads per month

Apache-2.0 OR MIT

645KB
2K SLoC

gennaro-dkg

Crate Docs Apache 2.0 Build status Downloads

The Gennaro Distributed Key Generation Algorithm as described here

Security Notes

This crate has received one security audit from Kudelski Security with no significant findings. The audit report can be found here. We'd like to thank LIT Protocol for sponsoring this audit.

Protocol details

The protocol provided in this crate provides the following

  • It will continue as long as there are enough participants a.k.a above the threshold
  • Abort if the number of participants drops below the threshold

Malformed messages are not allowed and result in bad participants. Non-responsive participants are out of scope for this crate since this includes timeouts and retries which could be for a number of reasons: network latency, system crashes, etc. This is left to consumers as is handling the creation a secure channel to send data.

A good description of methods to do this can be found here.

In a nut shell:

  1. Use Signal Protocol since this offers the highest security.
  2. Use the latest version of TLS if you can rely on and trust PKI.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~4.5–6.5MB
~107K SLoC