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

frost-rerandomized

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

9 releases (1 stable)

1.0.0 Feb 19, 2024
1.0.0-rc.0 Nov 17, 2023
0.7.0 Sep 13, 2023
0.6.0 Jul 5, 2023
0.1.0 Mar 9, 2023

#1565 in Cryptography

Download history 520/week @ 2024-01-03 518/week @ 2024-01-10 695/week @ 2024-01-17 815/week @ 2024-01-24 1111/week @ 2024-01-31 673/week @ 2024-02-07 798/week @ 2024-02-14 734/week @ 2024-02-21 554/week @ 2024-02-28 468/week @ 2024-03-06 532/week @ 2024-03-13 669/week @ 2024-03-20 605/week @ 2024-03-27 1131/week @ 2024-04-03 915/week @ 2024-04-10 586/week @ 2024-04-17

3,419 downloads per month
Used in 8 crates (6 directly)

MIT/Apache

265KB
5K 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–13MB
~130K SLoC