def test_se_and_gg_ppzksnark(): num_constraints = 1000 input_size = 100 test_serialization = True example = pyzpk.generate_r1cs_example_with_binary_input( num_constraints, input_size) assert (example)
def test_sap(sap_degree, num_inputs, binary_input): num_constraints = int((sap_degree - 1) / 2) - num_inputs assert num_constraints >= 1 # For Binary input example = pyzpk.generate_r1cs_example_with_binary_input( num_constraints, num_inputs) assert example.constraint_system.is_satisfied(example.primary_input, example.auxiliary_input)
def test_qap(qap_degree, num_inputs, binary_input): assert num_inputs + 1 <= qap_degree num_constraints = qap_degree - num_inputs - 1 # For Binary input example = pyzpk.generate_r1cs_example_with_binary_input( num_constraints, num_inputs) assert example.constraint_system.is_satisfied(example.primary_input, example.auxiliary_input)
def test_sap(sap_degree, num_inputs, binary_input): num_constraints = int((sap_degree - 1) / 2) - num_inputs assert num_constraints >= 1 # For Binary input if binary_input: example = pyzpk.generate_r1cs_example_with_binary_input( num_constraints, num_inputs) assert example.constraint_system.is_satisfied(example.primary_input, example.auxiliary_input) t = pyzpk.Fp_model.random_element() d1 = pyzpk.Fp_model.random_element() d2 = pyzpk.Fp_model.random_element() d3 = pyzpk.Fp_model.random_element()
# Create protoboard pb = pyzpk.protoboard() input_block = pyzpk.block_variable(pb, len(input_bits), "input_block") digest_len = pyzpk.knapsack_CRH_with_bit_out_gadget.get_digest_len() output_digest = pyzpk.digest_variable(pb, digest_len, "output_digest") input_block.generate_r1cs_witness(input_bits) # Validity of Protoboard assert pb.is_satisfied() == True output = input_block.get_block() output_tensor = torch.Tensor(output) # Given a R1CS (Rank-1 constraint system) aka example, it # generates a keypair one for the prover and the other for the verifier. num_constraints, input_size = 1000, 100 example = pyzpk.generate_r1cs_example_with_binary_input( num_constraints, input_size) assert example.constraint_system.num_variables( ) == example.constraint_system.num_inputs( ) + example.constraint_system.num_constraints() # The inputs include both public values (primary_input, known also to the verifier) and # private “witness” values (auxiliary_input, not revealed to the verifier)]. primary_input_size = auxiliary_input_size = 10 num_gates, num_outputs, num_tbcs_gate_types = 20, 5, 16 test_serialization = True example = pyzpk.tbcs_example() primary_input_list = list() auxiliary_input_list = list() for i in range(0, primary_input_size): primary_input_list.append(False if random.randint(0, RAND_MAX) % 2 == 0 else True)