Skip to main content

Crate frost_bluepallas

Crate frost_bluepallas 

Source
Expand description

Information sharing: https://github.com/o1-labs/proof-systems defines tools for interfacing with the mina blockchain (pretty sure that) the actual internals of the mina blockchain such as signature verification for contracts with the signature permission happens through the OCaml implementation.

There are 3 relevant crates in the proof-systems, signer which uses hasher and curves Do not use the pasta-curves from crates.io. That’s different implementation of pasta by the ZCash Foundation (the won’t match up nicely). The above 3 crates are not on crates.io and are used directly from github.

The goal is to replace the functionality of signer with the implementation of frost-core found in this file! So the tests will generate a signature with our implementation and try to verify it with the signer’s verify method. We do not use signer at all in our implementation. We do use hasher which provides the hash functions used by signer and our implementation of frost-core.

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§

BluePallas
The BluePallas ciphersuite, which uses the Pallas curve and Poseidon hash function.
PallasGroup
PallasGroup implements the FROST group interface for the Pallas curve
PallasScalarField
PallasScalarField implements the FROST field interface for the Pallas scalar field

Enums§

FieldError
An error related to a scalar Field.
GroupError
An error related to a Group (usually an elliptic curve or constructed from one) or one of its Elements.

Constants§

CONTEXT_STRING
HASH_SIZE 🔒

Traits§

ChallengeMessage
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§

aggregate

Type Aliases§

Error
Identifier
Signature
A Schnorr signature on FROST(Pallas, Posiedon).
SigningKey
A signing key for a Schnorr signature on FROST(Pallas, Posiedon).
SigningPackage
Generated by the coordinator of the signing operation and distributed to each signing party.
VerifyingKey
A valid verifying key for Schnorr signatures on FROST(Pallas, Posiedon).