Crate signature_bbs_plus[][src]

Structs

BlindSignature

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

BlindSignatureContext

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

BlsSignature

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

Challenge

A challenge generated by fiat-shamir heuristic

Commitment

Represents one or more commitments as x * G1 + …

Issuer

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.

Message

A message that is signed into a signature

MessageGenerators

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

Nonce

A nonce that is used for zero-knowledge proofs

PokSignature

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

PokSignatureProof

The actual proof that is sent from prover to verifier.

ProofOfPossession

A proof of possession of the secret key

Prover

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

PublicKey

A BLS public key

SecretKey

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

Signature

A BBS+ signature

SignatureBlinding

A message that is signed into a signature

Verifier

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.

Enums

HiddenMessage

Two types of hidden messages

ProofMessage

A message classification by the prover

Constants

COMMITMENT_BYTES

The number of bytes in a commitment

FIELD_BYTES

The number of bytes in a challenge or nonce

MAX_MSGS

The maximum messages allowed without an allocator