Crate signature_ps[][src]

Expand description

This crate implements the Pointcheval Saunders signature as described in https://eprint.iacr.org/2015/525.pdf and https://eprint.iacr.org/2017/1197.pdf

Structs

BlindSignature

A PS 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

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.

MessageGenerators

The generators contain a generator point for each message that is blindly signed and two extra. See section 4.2 in https://eprint.iacr.org/2015/525.pdf and https://eprint.iacr.org/2017/1197.pdf

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.

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

The public key contains a generator point for each message that is signed and two extra. See section 4.2 in https://eprint.iacr.org/2015/525.pdf and https://eprint.iacr.org/2017/1197.pdf

SecretKey

The secret key contains a field element for each message that is signed and two extra. See section 4.2 in https://eprint.iacr.org/2015/525.pdf and https://eprint.iacr.org/2017/1197.pdf

Signature

A Pointcheval Saunders 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.