blsful 3.1.0

BLS signature implementation according to the IETF spec on the BLS12-381 curve.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::impls::inner_types::*;
use crate::*;

/// A trait that defines the BLS schemes that support multi-signatures
pub trait BlsMultiKey: BlsSignatureCore {
    /// Merges multiple public keys into one
    fn from_public_keys<I: Iterator<Item = Self::PublicKey>>(keys: I) -> Self::PublicKey {
        let mut g = Self::PublicKey::identity();
        for key in keys {
            g += key;
        }
        g
    }
}