コード例 #1
0
ファイル: test_g2_pop.py プロジェクト: onyb/py_ecc
def test_fast_aggregate_verify(SKs, message):
    PKs = [G2ProofOfPossession.PrivToPub(sk) for sk in SKs]
    signatures = [G2ProofOfPossession.Sign(sk, message) for sk in SKs]
    aggregate_signature = G2ProofOfPossession.Aggregate(signatures)
    assert G2ProofOfPossession.FastAggregateVerify(PKs, message,
                                                   aggregate_signature)
コード例 #2
0
ファイル: test_g2_pop.py プロジェクト: prestwich/py_ecc
def compute_aggregate_signature(SKs, message):
    PKs = [G2ProofOfPossession.SkToPk(sk) for sk in SKs]
    signatures = [G2ProofOfPossession.Sign(sk, message) for sk in SKs]
    aggregate_signature = G2ProofOfPossession.Aggregate(signatures)
    return (PKs, aggregate_signature)
コード例 #3
0
 def Aggregate(signatures: Sequence[BLSSignature]) -> BLSSignature:
     # py_ecc use a different EMPTY_SIGNATURE. Return the Trinity one here:
     if len(signatures) == 0:
         return EMPTY_SIGNATURE
     return G2ProofOfPossession.Aggregate(signatures)
コード例 #4
0
ファイル: bls.py プロジェクト: zhouhaw/eth2.0-specs
def Aggregate(signatures):
    return bls.Aggregate(signatures)