14 releases (4 stable)
| new 3.0.0-rc.0 | Jan 28, 2026 |
|---|---|
| 2.2.0 | Aug 27, 2025 |
| 2.1.0 | Jan 15, 2025 |
| 2.0.0 | Oct 23, 2024 |
| 0.1.0 | Mar 9, 2023 |
#3 in #randomized
12,948 downloads per month
Used in 44 crates
(11 directly)
375KB
7K
SLoC
FROST implementation supporting re-randomizable keys.
To sign with re-randomized FROST:
- Do Round 1 the same way as regular FROST;
- The Coordinator should call [
RandomizedParams::new_from_commitments()] and send the generate randomizer seed (the second returned value) to all participants, using a confidential channel, along with the regularfrost::SigningPackage; - Each participant should regenerate the RandomizerParams by calling
[
RandomizedParams::regenerate_from_seed_and_commitments()], which they should pass to [sign_with_randomizer_seed()] and send the resultingfrost::round2::SignatureShareback to the Coordinator; - The Coordinator should then call
aggregate.
FROST (Flexible Round-Optimised Schnorr Threshold signatures) Rerandomized
A ciphersuite-generic implementation of Re-Randomized FROST, which allows creating signatures using FROST under re-randomized keys.
Usage
frost-rerandomized is similar to frost-core, but provides different
sign() and aggregate() functions adding support for re-randomized signatures.
Currently, the main ciphersuite crates do not re-expose the rerandomization
functions; if you want to use this functionality, you will need to use this
crate parametrized with the chosen ciphersuite. The exceptions are the Zcash
ciphersuites in reddsa which
do expose the randomized functionality.
Example
See ciphersuite-specific modules, e.g. the ones in reddsa.
Dependencies
~1–6.5MB
~122K SLoC