| 1234567891011121314151617181920212223242526 |
- load('share.sage')
- load('beaver.sage')
- import random
- party0_val = 2
- party1_val = 3
- source = Source(p)
- # additive share distribution, and communication of private values
- party0_random = K(3)
- alpha1 = AuthenticatedShare(party0_random, source, 0)
- alpha2 = AuthenticatedShare(party0_val - party0_random, source, 0)
- assert (alpha1.authenticated_open(alpha2) == party0_val)
- party1_random = K(3)
- beta1 = AuthenticatedShare(party1_random, source, 1)
- beta2 = AuthenticatedShare(party1_val - party1_random, source, 1)
- assert (beta1.authenticated_open(beta2) == party1_val)
- a1b1 = MultiplicationAuthenticatedShares(alpha1, beta1, source.triplet(0), 0)
- a2b2 = MultiplicationAuthenticatedShares(alpha2, beta2, source.triplet(1), 1)
- lhs = a1b1.mul(a2b2.d, a2b2.e)
- rhs = a2b2.mul(a1b1.d, a1b1.e)
- res = lhs.authenticated_open(rhs)
- assert (res == party0_val*party1_val), 'mul: {}, expected mul: {}'.format(res, party0_val*party1_val)
|