beaver.sage 1.0 KB

12345678910111213141516171819202122232425
  1. load('../mpc/share.sage')
  2. class Source(object):
  3. def __init__(self, p):
  4. self.a = random.randint(0,p)
  5. self.b = random.randint(0,p)
  6. self.c = self.a*self.b
  7. self.left_a = random.randint(0,self.a)
  8. self.right_a = self.a - self.left_a
  9. self.left_b = random.randint(0,self.b)
  10. self.right_b = self.b - self.left_b
  11. self.left_c = random.randint(0,self.c)
  12. self.right_c = self.c - self.left_c
  13. def triplet(self, party_id):
  14. #triple = [self.left_a, self.left_b, self.left_c] if party_id==0 else [self.right_a, self.right_b, self.right_c]
  15. #return [AuthenticatedShare(share, self, party_id) for share in triple]
  16. #TODO
  17. return [AuthenticatedShare(share, self, party_id) for share in [1,1,2]]
  18. class TestSource(object):
  19. def __init__(self):
  20. pass
  21. def triplet(self, party_id):
  22. return [AuthenticatedShare(share, self, party_id) for share in [1,1,2]]