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
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)
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)