Expand description
FROST BluePallas ciphersuite implementation for the Mina protocol. This library uses the mina_hasher crate for the Poseidon hash function and mina_curves for the Pallas curve implementation, and implements the FROST signature scheme as specified in the FROST paper and the Mina protocol specifications.
Re-exports§
pub use frost_core as frost;
Modules§
- errors
- Error types for the frost-bluepallas library
- hasher
- Mina-compatible hashing utilities for FROST using the Pallas curve.
- keys
- This module contains utilities for FROST key management using the BluePallas curve
- negate 🔒
- Utilities for negating Y coordinates in FROST commitments using the BluePallas curve. This mimics Mina’s handling of point negation.
- round1
- FROST(Pallas, Posiedon) Round 1 functionality and types.
- round2
- FROST(Pallas, Posiedon) Round 2 functionality and types, for signature share generation.
- signing_
utilities - Convenience functions to generate FROST signatures from various inputs.
Structs§
- Blue
Pallas - The BluePallas ciphersuite, which uses the Pallas curve and Poseidon hash function.
- Pallas
Group - PallasGroup implements the FROST group interface for the Pallas curve
- Pallas
Scalar Field - PallasScalarField implements the FROST field interface for the Pallas scalar field
Enums§
- Field
Error - An error related to a scalar Field.
- Group
Error - An error related to a Group (usually an elliptic curve or constructed from one) or one of its Elements.
Constants§
Traits§
- Challenge
Message - Message contract required by the BluePallas challenge logic.
- Ciphersuite
- A FROST ciphersuite specifies the underlying prime-order group details and cryptographic hash function.
- Field
- A prime order finite field GF(q) over which all scalar values for our prime order group can be multiplied are defined.
- Group
- A prime-order group (or subgroup) that provides everything we need to create and verify Schnorr signatures.
Functions§
Type Aliases§
- Error
- Identifier
- Signature
- A Schnorr signature on FROST(Pallas, Posiedon).
- Signing
Key - A signing key for a Schnorr signature on FROST(Pallas, Posiedon).
- Signing
Package - Generated by the coordinator of the signing operation and distributed to each signing party.
- Verifying
Key - A valid verifying key for Schnorr signatures on FROST(Pallas, Posiedon).