Skip to main content

dkls23_core/
lib.rs

1//! A library for dealing with the `DKLs23` protocol (see <https://eprint.iacr.org/2023/765.pdf>)
2//! and related protocols.
3//!
4//! Written and used by Alore.
5#![recursion_limit = "512"]
6#![forbid(unsafe_code)]
7
8pub mod curve;
9pub mod protocols;
10pub mod utilities;
11
12pub use protocols::dkg_session::DkgSession;
13pub use protocols::sign_session::SignSession;
14pub use protocols::signature::EcdsaSignature;
15
16// The following constants should not be changed!
17// They are the same as the reference implementation of DKLs19:
18// https://gitlab.com/neucrypt/mpecdsa/-/blob/release/src/lib.rs
19
20/// Computational security parameter `lambda_c` from `DKLs23`.
21/// We take it to be the same as the parameter `kappa`.
22pub const RAW_SECURITY: u16 = 256;
23/// `RAW_SECURITY` divided by 8 (used for arrays of bytes)
24pub const SECURITY: u16 = 32;
25
26/// Statistical security parameter `lambda_s` from `DKLs23`.
27pub const STAT_SECURITY: u16 = 80;