Expand description
Digital signatures over the BLS12-381 curve using G1 as the Public Key (48 bytes) and G2 as the Signature (96 bytes).
§Domain Separation Tag (DST)
All signatures use the POP
(Proof of Possession) scheme during signing. For Proof-of-Possession (POP) signatures,
the domain separation tag is BLS_POP_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_
. For signatures over other messages, the
domain separation tag is BLS_SIG_BLS12381G2_XMD:SHA-256_SSWU_RO_POP_
. You can read more about DSTs here.
Functions§
- aggregate_
public_ keys - Aggregates multiple public keys.
- aggregate_
signatures - Aggregates multiple signatures.
- aggregate_
verify_ multiple_ messages - Verifies the aggregate signature over multiple unique messages from a single public key.
- aggregate_
verify_ multiple_ public_ keys - Verifies the aggregate signature over a single message from multiple public keys.
- compute_
public - Computes the public key from the private key.
- hash_
message - Hashes the provided message with the domain separation tag (DST) to the curve.
- hash_
message_ namespace - Hashes the provided message with the domain separation tag (DST) and namespace to the curve.
- keypair
- Returns a new keypair derived from the provided randomness.
- msm_
interpolate - Interpolate the value of some Point with precomputed Barycentric Weights and multi-scalar multiplication (MSM).
- partial_
aggregate_ signatures - Aggregates multiple partial signatures into a single signature.
- partial_
sign_ message - Signs the provided message with the key share.
- partial_
sign_ proof_ of_ possession - Generates a proof of possession for the private key share.
- partial_
verify_ message - Verifies the partial signature against the public polynomial.
- partial_
verify_ multiple_ messages - Verifies the signatures from multiple partial signatures over multiple unique messages from a single signer.
- partial_
verify_ multiple_ public_ keys - Attempts to verify multiple PartialSignatures over the same message as a single aggregate signature (or returns any invalid signature found).
- partial_
verify_ multiple_ public_ keys_ precomputed - Attempts to verify multiple PartialSignatures over the same message as a single aggregate signature (or returns any invalid signature found).
- partial_
verify_ proof_ of_ possession - Verifies the proof of possession for the provided public polynomial.
- sign
- Signs the provided message with the private key.
- sign_
message - Signs the provided message with the private key.
- sign_
proof_ of_ possession - Generates a proof of possession for the private key.
- threshold_
signature_ recover - Recovers a signature from at least
threshold
partial signatures. - threshold_
signature_ recover_ multiple - Recovers multiple signatures from multiple sets of at least
threshold
partial signatures. - threshold_
signature_ recover_ pair - Recovers a pair of signatures from two sets of at least
threshold
partial signatures. - threshold_
signature_ recover_ with_ weights - Recovers a signature from
threshold
partial signatures. - verify
- Verifies the signature with the provided public key.
- verify_
message - Verifies the signature with the provided public key.
- verify_
proof_ of_ possession - Verifies a proof of possession for the provided public key.