rustywallet-frost
FROST (Flexible Round-Optimized Schnorr Threshold) signatures for rustywallet.
Features
- Distributed Key Generation (DKG): Generate threshold keys across multiple participants
- Threshold Signing: t-of-n threshold signatures
- Signature Aggregation: Combine partial signatures into valid Schnorr signature
- Robustness: Detection of malicious signers
Installation
[]
= "0.1"
Quick Start
use *;
// Setup: 2-of-3 threshold
let threshold = 2;
let num_participants = 3;
// Run DKG
let = run_dkg?;
// Create signing session
let message = b"Hello, FROST!";
let signers = vec!; // Participants 1 and 2 will sign
// Generate commitments
let commitments: = signers.iter
.map
.collect;
// Create partial signatures
let partial_sigs: = signers.iter
.zip
.map
.collect;
// Aggregate into final signature
let signature = aggregate?;
// Verify
assert!;
Security Notes
- Minimum threshold of 2 is enforced
- Secret shares are zeroized on drop
- Malicious participant detection during DKG
- Nonces must never be reused
License
MIT