test_inner_product.sage 818 B

1234567891011121314151617181920212223242526272829
  1. load('proof.sage')
  2. load('transcript.sage')
  3. n = 2
  4. Q = [CurvePoint.generator()*1]
  5. H = [CurvePoint.generator()*1 for i in range(0,n)]
  6. G = [CurvePoint.generator()*1 for i in range(0,n)]
  7. a = [1, 2]
  8. b = [2, 4]
  9. c = [sum([a*b for a, b in zip(a, b)])]
  10. y_inv = K(1)
  11. G_factors = [K(1)]*n
  12. H_factors = [y_inv**i for i in range(0,n)]
  13. b_prime = [b*y for b, y in zip(b, H_factors)]
  14. a_prime = a.copy()
  15. transcript = Transcript('bulletproof')
  16. proof = Proof(transcript, Q, G_factors, H_factors, G, H, a, b)
  17. ga_prime = CurvePoint.msm(G, a_prime)
  18. print('ga_prime: {}'.format(ga_prime))
  19. hb_prime = CurvePoint.msm(H, b_prime)
  20. qc = CurvePoint.msm(Q, c)
  21. P_res = sum([ga_prime, hb_prime, qc])
  22. print('P_res: {}'.format(P_res))
  23. verifier = Transcript('bulletproof')
  24. pp, p, _ = proof.verify(n, verifier, G_factors, H_factors, P_res, Q, G, H)