#threshold-signature #schnorr-signature #signature-scheme #schnorr #signature #threshold #randomized

no-std frost-rerandomized

Types and traits to support implementing a re-randomized variant of Flexible Round-Optimized Schnorr Threshold signature schemes (FROST)

12 releases (3 stable)

2.1.0 Jan 15, 2025
2.0.0 Oct 23, 2024
2.0.0-rc.0 Jun 20, 2024
1.0.0 Feb 19, 2024
0.1.0 Mar 9, 2023

#703 in Cryptography

Download history 1090/week @ 2024-10-26 1248/week @ 2024-11-02 1347/week @ 2024-11-09 1324/week @ 2024-11-16 741/week @ 2024-11-23 1072/week @ 2024-11-30 847/week @ 2024-12-07 880/week @ 2024-12-14 431/week @ 2024-12-21 306/week @ 2024-12-28 686/week @ 2025-01-04 1110/week @ 2025-01-11 1053/week @ 2025-01-18 1314/week @ 2025-01-25 1868/week @ 2025-02-01 2115/week @ 2025-02-08

6,592 downloads per month
Used in 26 crates (11 directly)

MIT/Apache

320KB
6K SLoC

FROST (Flexible Round-Optimised Schnorr Threshold signatures) Rerandomized

Base traits and types in Rust that implement 'Two-Round Threshold Schnorr Signatures with FROST' generically for frost-core::Ciphersuite implementations, with support for Zcash-compatible RedDSA re-randomized signatures.

Status ⚠

The FROST specification is not yet finalized, and this codebase has not yet been audited or released. The APIs and types in frost-rerandomized are subject to change.

Usage

frost-rerandomized is similar to frost-core, but provides different sign() and aggregate() functions adding support for re-randomized signatures. End-users should not use frost-rerandomized if they want to sign and verify signatures, they should use the crate specific to their ciphersuite/curve parameters that uses frost-rerandomized as a dependency, such as reddsa.

Example

See ciphersuite-specific modules, e.g. the ones in reddsa.

Dependencies

~1–11MB
~119K SLoC