# Functions
NewBlindSigner returns a Pointcheval-Sanders BlindSigner as a function of the passed arguments.
NewRecipient returns a Recipient that would like to obtain a Pointcheval-Sanders blind signature on the passed messages.
NewSigner returns a Signer as function of an array of secret keys and the corresponding array of public keys.
NewVerifier returns a SignVerifier as a function of an array of public kets.
# Structs
BlindSigner produces Pointcheval-Sanders blind signatures.
BlindSignRequest is what the recipient send to the Pointcheval-Sanders signer to obtain the blind signature.
BlindSignResponse is the response of the BlindSigner to a blind signature request.
EncProof is a zero-knowledge proof of correct encryption of committed messages It consists of zero-knowledge proofs of knowledge of messages that open a commitment and proofs of correct encryption of the same messages under a known Elgamal public key.
EncProofCommitments contains the commitments to EncProof randomness For a statement (x1, ..., x_n): y = \prod_{i=1}^n g_i^x_i, one computes s = \prod_{i=1}^n g_i^r_i as the commitment to randomness (r_1, ..., r_n).
Recipient requests a Pointcheval-Sanders blind signature Recipient would like to obtain a Pointcheval-Sanders signature on a committed vector of messages.
Signature is a Pointcheval-Sanders signature.
Signer produces a Pointcheval-Sanders signature.
SignVerifier checks the validity of a Pointcheval-Sanders signature.