示例#1
0
def keymap(privkeys):
    keymap = {}
    for i, k in enumerate(privkeys):
        keymap[bls.privtopub(k)] = k
        if i % 50 == 0:
            print("Generated %d keys" % i)
    return keymap
示例#2
0
def test_bls_core(privkey):
    p1 = multiply(G1, privkey)
    p2 = multiply(G2, privkey)
    msg = str(privkey).encode('utf-8')
    msghash = hash_to_G2(msg)
    assert normalize(decompress_G1(compress_G1(p1))) == normalize(p1)
    assert normalize(decompress_G2(compress_G2(p2))) == normalize(p2)
    assert normalize(decompress_G2(compress_G2(msghash))) == normalize(msghash)
    sig = sign(msg, privkey)
    pub = privtopub(privkey)
    assert verify(msg, pub, sig)
示例#3
0
def test_signature_aggregation(msg, privkeys):
    sigs = [sign(msg, k) for k in privkeys]
    pubs = [privtopub(k) for k in privkeys]
    aggsig = aggregate_sigs(sigs)
    aggpub = aggregate_pubs(pubs)
    assert verify(msg, aggpub, aggsig)