MCPcopy Create free account
hub / github.com/WizardOfMenlo/stir / GenericOracleMessage

Class GenericOracleMessage

scripts/protocol.py:35–66  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33 return self.params.rom.hashsize
34
35class GenericOracleMessage(Message):
36 def __init__(self, params: LDTParameters, length, name=""):
37 super().__init__(params, name)
38 self.len = length
39
40 def auth_path_size(self):
41 if self.queries() == 0:
42 return 0
43
44 total_path_size = self.params.rom.authentication_path_size(self.len, self.queries())
45
46 leaf_size = min(self.field_size(), self.hash_size())
47
48 return total_path_size + self.queries() * leaf_size
49
50 def opening_size(self):
51 return self.queries() * self.field_size()
52
53 def commitment_size(self):
54 return self.hash_size()
55
56 def argument_size(self):
57 return self.commitment_size() + self.auth_path_size() + self.opening_size()
58
59 def print(self):
60 print("Oracle Message")
61 print("\tLength: 2^" + str(int(log2(self.len))))
62 print("\tQueries: ", self.queries())
63 print("\tTotal arg size: ", convert_size(self.argument_size()))
64 print("\tOpening size: ", convert_size(self.opening_size()))
65 print("\tAuth path size: ", convert_size(self.auth_path_size()))
66 print("\tCommitment size: ", convert_size(self.commitment_size()))
67
68class Polynomial(Message):
69 def __init__(self, params : LDTParameters, degree, rate_bits, stack=1, name=""):

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected