gennaro-dkg

Crates.iogennaro-dkg
lib.rsgennaro-dkg
version
sourcesrc
created_at2023-01-05 21:36:47.471614
updated_at2024-12-12 23:45:10.353749
descriptionThe Gennaro Distributed Key Generation Algorithm
homepagehttps://github.com/mikelodder7/gennaro-dkg
repositoryhttps://github.com/mikelodder7/gennaro-dkg
max_upload_size
id751831
Cargo.toml error:TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Michael Lodder (mikelodder7)

documentation

https://docs.rs/gennaro-dkg

README

gennaro-dkg

Crate Docs Apache 2.0 Build status Downloads

The Gennaro Distributed Key Generation Algorithm as described here

This implementation also mitigates the Rogue Key Attack.

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.

Essentially communication channels are deliberately not part of this crate. The sending and receiving of messages needs to be handled by the consumer of this crate. This allows the protocol to be used in both sync and async environments.

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.

Commit count: 62

cargo fmt