Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)
Esempio n. 4
0
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()
Esempio n. 5
0
# 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)