def mult_prod_str( G, key, elements ): #not actually used in commit_str, but could be potentially useful. Be careful that it was potentially causing segmentation fault. #G,key=ck bvec = _FFI.new("EC_POINT * []", len(elements)) for i in xrange(len(elements)): bvec[i] = key[i].pt evec = _FFI.new("BIGNUM * []", len(elements)) for i in xrange(len(elements)): evec[i] = Bn.from_decimal(str(elements[i])).bn comm = EcPt(G) _C.EC_POINTs_mul(G.ecg, comm.pt, _FFI.NULL, len(elements), bvec, evec, _FFI.NULL) return comm
def mult_prod(G, key, elements): #G,key=ck bvec = _FFI.new("EC_POINT * []", len(elements)) for i in xrange(len(elements)): bvec[i] = key[i].pt evec = _FFI.new("BIGNUM * []", len(elements)) for i in xrange(len(elements)): try: evec[i] = elements[i].bn except AttributeError: #does this even work properly? evec[i] = Bn(elements[i]).bn comm = EcPt(G) _C.EC_POINTs_mul(G.ecg, comm.pt, _FFI.NULL, len(elements), bvec, evec, _FFI.NULL) return comm