Expand description
Non-interactive publicly verifiable distributed key generation and resharing algorithm over BLS12-381 Built using Arkworks
This library provides an implementation of a non-interactive, publicly verifiable distributed key generation (DKG) and key resharing protocol using the BLS12-381 pairing-friendly elliptic curve.
§Features
- Non-interactive DKG and resharing
- Publicly verifiable
- Secure against malicious adversaries
- Built on Arkworks & round-based model
- Single-round DKG and resharing
- Non-interactive, single-round signing
- Asynchronous API
- Optimized performance
§Usage
See the README for usage examples and more information.
§Version Compatibility
This crate is compatible with Rust 1.80.0 and later.
§References
See: NPVDKGRS for more information.
Re-exports§
pub use addr::Address;pub use keys::Keypair;pub use keys::PublicKey;pub use keys::SecretKey;pub use params::Parameters;pub use rounds::keygen;pub use rounds::refresh;pub use rounds::sign;pub use sig::Signature;
Modules§
- addr
- Addresses and Public Keys
- ark
- Arkworks specific utilities
- cipher
- Encryption and Decryption functions
- hash
- Hashing functions
- keys
- Key Pair is a struct that contains the public and private keys
- maps
- Share Maps
- params
- DKG Protocol Parameters
- party
- Participants in the protocol
- poly
- Working with Polynomials.
- rounds
- NPVDKG Protocol Rounds
- share
- Sharing of secrets and verification
- sig
- Signing and Signatures
- trace
- Progress tracing Traces progress of protocol execution