Crate signature_bls

Crate signature_bls 

Source
Expand description

This crate implements BLS signatures according to the IETF draft v4

for the Proof of Possession Cipher Suite

Since BLS signatures can use either G1 or G2 fields, there are two types of public keys and signatures. Normal and Variant (suffix’d with Vt).

Normal puts signatures in G1 and pubic keys in G2. Variant is the reverse.

This crate has been designed to be compliant with no-std by avoiding allocations

but provides some optimizations when an allocator exists for verifying aggregated signatures.

Structs§

AggregateSignature
Represents a BLS signature in G1 for multiple signatures that signed the different messages
AggregateSignatureVt
Represents a BLS signature in G1 for multiple signatures that signed the different messages
MultiPublicKey
Represents multiple public keys into one that can be used to verify multisignatures
MultiPublicKeyVt
Represents multiple public keys into one that can be used to verify multisignatures
MultiSignature
Represents a BLS signature in G1 for multiple signatures that signed the same message
MultiSignatureVt
Represents a BLS SignatureVt in G1 for multiple SignatureVts that signed the same message
PartialSignature
Represents a BLS partial signature in G1 using the proof of possession scheme
PartialSignatureVt
Represents a BLS partial signature in G2 using the proof of possession scheme
ProofOfPossession
A proof of possession of the secret key
ProofOfPossessionVt
A proof of possession of the secret key
PublicKey
A BLS public key
PublicKeyVt
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
SecretKeyShare
A secret key share is field element 0 < x < r where r is the curve order. See Section 4.3 in https://eprint.iacr.org/2016/663.pdf Must be combined with other secret key shares to produce the completed key, or used for creating partial signatures which can be combined into a complete signature
Signature
Represents a BLS signature in G1 using the proof of possession scheme
SignatureVt
Represents a BLS SignatureVt in G1 using the proof of possession scheme

Enums§

Error
Errors during secret sharing