Expand description


A BBS+ blind signature structurally identical to Signature but is used to help with misuse and confusion.

Contains the data used for computing a blind signature and verifying proof of hidden messages from a prover

Represents a BLS signature in G1 using the proof of possession scheme

This struct represents an Issuer of signatures or Signer. Provided are methods for signing regularly where all messages are known and 2PC where some are only known to the holder and a blind signature is created.

An iterator structure for generators

The generators that are used to sign a vector of commitments for a BBS+ bls These must be the same generators used by sign, verify, prove, and open

Proof of Knowledge of a Signature that is used by the prover to construct PoKOfSignatureProof.

The actual proof that is sent from prover to verifier.

A proof of possession of the secret key

A Prover is whomever receives signatures or uses them to generate proofs. Provided are methods for 2PC where some are only known to the prover and a blind signature is created, unblinding signatures, verifying signatures, and creating signature proofs of knowledge with selective disclosure proofs

A BLS public key

The secret key is field element 0 < x < r where r is the curve order. See Section 4.3 in https://eprint.iacr.org/2016/663.pdf

A BBS+ signature

This struct represents an Verifier of signatures. Provided are methods for generating a context to ask for revealed messages and the prover keep all others hidden.


The maximum number of messages that can be signed by this crate