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.
keypair
Returns a new keypair derived from the provided randomness.
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_proof_of_possession
Verifies the proof of possession for the provided public polynomial.
sign
Sign the provided payload 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.
verify
Verify the signature from 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.