frost/frost-rerandomized
Conrado Gouvea ba8086db5c
Simplify rerandomized FROST (#437)
* refactor Lagrange coefficient computation

* simplified rerandomized FROST

* switch to a Randomize trait, remove unaccurate comment

* remove manual rerandomization test

* improve comments

* removed unneeded alpha_share

* Apply suggestions from code review

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>

* frost-rerandomized: add serde feature

* add Randomizer type

* revert DuplicatedIdentifiers back to DuplicatedIdentifier

---------

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2023-08-14 16:15:22 +00:00
..
src Simplify rerandomized FROST (#437) 2023-08-14 16:15:22 +00:00
Cargo.toml Simplify rerandomized FROST (#437) 2023-08-14 16:15:22 +00:00
README.md s/rerandomized/re-randomized/ for prose text (#248) 2023-02-23 15:03:46 -03:00

README.md

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.