def verify(self, proof): [g_l, g_r, g_o, g_h, g_l_prime, g_r_prime, g_o_prime] = proof assert pair(g_l_prime, self.problem.g) == pair(g_l, self.encrypted_alpha) assert pair(g_r_prime, self.problem.g) == pair(g_r, self.encrypted_alpha) assert pair(g_o_prime, self.problem.g) == pair(g_o, self.encrypted_alpha) assert pair(g_l, g_r) == pair(self.g_t, g_h) * pair(g_o, self.problem.g)
def verify(self, proof): [g_L, g_R, g_O, g_L_prime, g_R_prime, g_O_prime, g_h] = proof assert pair(g_L_prime, self.problem.g) == pair(g_L, self.encrypted_alphas[0]) assert pair(g_R_prime, self.problem.g) == pair(g_R, self.encrypted_alphas[1]) assert pair(g_O_prime, self.problem.g) == pair(g_O, self.encrypted_alphas[2]) assert pair(g_L, g_R) == pair(self.g_t, g_h) * pair(g_O, self.problem.g)
def verify(self, proof): [encrypted_p, encrypted_h, shifted_encrypted_p] = proof assert pair(shifted_encrypted_p, self.problem.g) == pair(encrypted_p, self.encrypted_alpha) assert pair(encrypted_p, self.problem.g) == pair(self.g_t, encrypted_h)