NOTE: THIS LIBRARY IS NOT YET FORMALLY REVIEWED FOR SECURITY
Implements BLS signatures with aggregation compatible with relic toolkit for cryptographic primitives (pairings, EC, hashing) according to the IETF BLS RFC with these curve parameters for BLS12-381.
Features:
- Non-interactive signature aggregation following IETF specification
- Efficient verification using Proof of Possession (only one pairing per distinct message)
- Aggregate public keys and private keys
- EIP-2333 key derivation (including unhardened BIP-32-like keys)
- Key and signature serialization
- Batch verification
This library uses minimum public key sizes (MPL). A G2Element is a signature (96 bytes), and a G1Element is a public key (48 bytes). A private key is a 32 byte integer. There are three schemes: Basic, Augmented, and ProofOfPossession. Augmented should be enough for most use cases, and ProofOfPossession can be used where verification must be fast.
Coming soon.
Coming soon.
Coming soon.
Coming soon.
Coming soon.
Coming soon.
Coming soon.
HD keys using EIP-2333
Coming soon.
Performance times coming soon.
Coming soon.
Make a pull request.
The IETF bls draft is followed. Test vectors can also be seen in the python and cpp test files.
Relic is used with the Apache 2.0 license