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§
- Aggregate
Signature - Represents a BLS signature in G1 for multiple signatures that signed the different messages
- Aggregate
Signature Vt - Represents a BLS signature in G1 for multiple signatures that signed the different messages
- Multi
Public Key - Represents multiple public keys into one that can be used to verify multisignatures
- Multi
Public KeyVt - Represents multiple public keys into one that can be used to verify multisignatures
- Multi
Signature - Represents a BLS signature in G1 for multiple signatures that signed the same message
- Multi
Signature Vt - Represents a BLS SignatureVt in G1 for multiple SignatureVts that signed the same message
- Partial
Signature - Represents a BLS partial signature in G1 using the proof of possession scheme
- Partial
Signature Vt - Represents a BLS partial signature in G2 using the proof of possession scheme
- Proof
OfPossession - A proof of possession of the secret key
- Proof
OfPossession Vt - A proof of possession of the secret key
- Public
Key - A BLS public key
- Public
KeyVt - A BLS public key
- Secret
Key - The secret key is field element 0 <
x<rwhereris the curve order. See Section 4.3 in https://eprint.iacr.org/2016/663.pdf - Secret
KeyShare - A secret key share is field element 0 <
x<rwhereris 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
- Signature
Vt - Represents a BLS SignatureVt in G1 using the proof of possession scheme
Enums§
- Error
- Errors during secret sharing