38 releases
1.0.0-rc1 | Oct 18, 2024 |
---|---|
1.0.0-pre.0 | Jul 31, 2024 |
0.9.0-rc2 | Jul 30, 2024 |
0.9.0-rc1 | Mar 26, 2024 |
0.2.8-pre0 | Mar 20, 2023 |
#389 in Cryptography
1,424 downloads per month
645KB
2K
SLoC
gennaro-dkg
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:
- Use Signal Protocol since this offers the highest security.
- Use the latest version of TLS if you can rely on and trust PKI.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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
~8–11MB
~200K SLoC