Crate signature_bls[−][src]
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
Represents a BLS signature in G1 for multiple signatures that signed the different messages
Represents a BLS signature in G1 for multiple signatures that signed the different messages
Represents multiple public keys into one that can be used to verify multisignatures
Represents multiple public keys into one that can be used to verify multisignatures
Represents a BLS signature in G1 for multiple signatures that signed the same message
Represents a BLS SignatureVt in G1 for multiple SignatureVts that signed the same message
Represents a BLS partial signature in G1 using the proof of possession scheme
Represents a BLS partial signature in G2 using the proof of possession scheme
A proof of possession of the secret key
A proof of possession of the secret key
A BLS public key
A BLS public key
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
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
Represents a BLS signature in G1 using the proof of possession scheme
Represents a BLS SignatureVt in G1 using the proof of possession scheme
Enums
Errors during secret sharing