Cryptographic/bls_signatures library
🔐 BLS (Boneh-Lynn-Shacham) Signatures Implementation
A production-ready implementation of BLS signatures, a cryptographic signature scheme that supports aggregation and is used in modern blockchain systems for efficient multi-signature schemes and threshold signatures.
Features:
- BLS12-381 curve implementation (modern standard)
- Signature aggregation support
- Threshold signature capabilities
- Optimized for performance with minimal memory allocation
- Comprehensive error handling and validation
- Thread-safe implementation suitable for concurrent environments
- Produces short signatures (96 bytes) and supports aggregation
Time complexity: O(n) for signature aggregation, O(1) for verification Space complexity: O(1) constant space usage
Example:
final signature = BLSSignatures.sign('Hello, World!', privateKey);
final isValid = BLSSignatures.verify('Hello, World!', signature, publicKey);
print('Signature valid: $isValid');
Classes
- BLS12381Curve
- BLS12-381 curve parameters
- BLSKeyPair
- BLS key pair
- BLSPublicKey
- BLS public key structure
- BLSSignature
- BLS signature structure
- BLSSignatures
- BLS digital signature algorithm implementation