# Public domain. import sys import signatures import doublescalarmult def verifybatch(smvector): results = [] for sm in smvector: R,S,A,M = sm[0],sm[1],sm[2],sm[3] h = signatures.inthash(str(R) + str(A) + M) checkR = doublescalarmult.doublescalarmult(S,signatures.B,(-h) % signatures.l,signatures.groupelt(A)) results.append(R == checkR.x) return results signatures.benchmark(verifybatch,int(sys.argv[1]))