SDZKP: A Zero-knowledge Proof using Subgroup Distance Problem
Contents:
1. Introduction
2. Installation
3. SDZKP Specification
4. Performance and Security Analysis
5. Code Documentation
6. References
SDZKP: A Zero-knowledge Proof using Subgroup Distance Problem
Index
Index
A
|
B
|
C
|
D
|
E
|
G
|
H
|
I
|
K
|
L
|
M
|
N
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
A
add_clause() (sdzkp.max2sat.Max2SAT method)
add_random_3bits_to_solution_generators() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
apply_generators() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
average_support (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
B
blinder (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
C
c (sdzkp.sgd.SubgroupDistanceRound attribute)
check_instance() (sdzkp.max2sat.Max2SAT method)
clauses (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
commit() (sdzkp.prover.DishonestProver method)
(sdzkp.prover.Prover method)
convert_binary_permutation_to_arrayform_using_blinder() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
convert_generators_to_arrayform_using_blinder() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
convert_max2sat_solution_to_subgroupdistance_solution() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
create_default() (sdzkp.max2sat.Max2SAT method)
create_from_linearized_generators() (sdzkp.sgd.SubgroupDistanceProblem class method)
create_x_for_variable_i() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
create_y_for_variable_i() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
create_y_for_variable_i_clause_j() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
D
DishonestProver (class in sdzkp.prover)
E
ElementaryAbelianSubgroup (class in sdzkp.elementaryabeliansubgroup)
ElementaryAbelianSubgroupWithSolution (class in sdzkp.elementaryabeliansubgroup)
enumerate_all_assignments() (sdzkp.max2sat.Max2SAT method)
extend_generator() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
extend_sdp() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
G
g (sdzkp.sgd.SubgroupDistanceProblem attribute)
(sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
G (sdzkp.sgd.SubgroupDistanceRound attribute)
generate_all_elements() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
generate_commitment() (sdzkp.sgd.SubgroupDistanceRound method)
generate_commitments() (sdzkp.sgd.SubgroupDistanceRound method)
generate_element_from_bitarray() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
generate_instance_motoki() (sdzkp.max2sat.Max2SAT method)
generate_permutation_g_in_Sn() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
generate_random_3bits() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
generate_random_array() (sdzkp.sgd.SubgroupDistanceRound method)
generate_random_blinder() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
generate_satisfiable_clause() (sdzkp.max2sat.Max2SAT method)
generate_unsatisfiable_clause() (sdzkp.max2sat.Max2SAT method)
generate_unsatisfiable_specific_clause() (sdzkp.max2sat.Max2SAT method)
generate_Z1_and_Z2() (sdzkp.sgd.SubgroupDistanceRound method)
generators (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
generators_arrayform (sdzkp.sgd.SubgroupDistanceProblem attribute)
(sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
generators_support (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
get_bit_i_of_generators() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
group_triplets() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
grpc_stub (sdzkp.prover.DishonestProver attribute)
(sdzkp.prover.HonestProver attribute)
(sdzkp.prover.Prover attribute)
H
H (sdzkp.sgd.SubgroupDistanceProblem attribute)
(sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
h (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
H_WithSolution (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
hamming_distance() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
(sdzkp.sgd.SubgroupDistanceProblem method)
handleCommit() (sdzkp.verifier.Verifier method)
handleSetup() (sdzkp.verifier.Verifier method)
handleVerify() (sdzkp.verifier.Verifier method)
hash() (sdzkp.sgd.SubgroupDistanceRound method)
HonestProver (class in sdzkp.prover)
I
instance_id (sdzkp.prover.DishonestProver attribute)
(sdzkp.prover.HonestProver attribute)
(sdzkp.prover.Prover attribute)
(sdzkp.verifier.Verifier attribute)
inverse() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
inverse_permutation() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
is_clause_satisfied() (sdzkp.max2sat.Max2SAT method)
is_satisfiable() (sdzkp.max2sat.Max2SAT method)
is_valid_permutation() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
K
K (sdzkp.sgd.SubgroupDistanceProblem attribute)
(sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
K_prime (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
L
linearize_generators() (sdzkp.sgd.SubgroupDistanceProblem method)
M
m (sdzkp.sgd.SubgroupDistanceProblem attribute)
(sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
Max2SAT (class in sdzkp.max2sat)
max2sat_instance_solution (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
module
sdzkp.elementaryabeliansubgroup
sdzkp.max2sat
sdzkp.prover
sdzkp.sgd
sdzkp.verifier
multiply_generators() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
multiply_permutations() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
multiply_solution_generators() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroupWithSolution method)
N
n (sdzkp.sgd.SubgroupDistanceProblem attribute)
(sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
negate_literals() (sdzkp.max2sat.Max2SAT method)
num_transpositions_in_generators (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
number_of_rounds (sdzkp.prover.DishonestProver attribute)
(sdzkp.prover.HonestProver attribute)
(sdzkp.prover.Prover attribute)
P
p (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
print_all_elements() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
print_clause() (sdzkp.max2sat.Max2SAT method)
print_generators() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
print_generators_arrayform() (sdzkp.sgd.SubgroupDistanceProblem method)
(sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
print_instance() (sdzkp.max2sat.Max2SAT method)
Prover (class in sdzkp.prover)
Q
q (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
q_original (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
R
R (sdzkp.sgd.SubgroupDistanceRound attribute)
r (sdzkp.sgd.SubgroupDistanceRound attribute)
random_binary_array() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
random_element() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
read_dimacs_file() (sdzkp.max2sat.Max2SAT method)
read_filenames_in_folder() (sdzkp.max2sat.Max2SAT method)
read_solution_from_file() (sdzkp.max2sat.Max2SAT method)
reduce_to_sdp_and_extend() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
reduce_to_sdp_for_variable_i() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
response() (sdzkp.prover.Prover method)
round_data (sdzkp.sgd.SubgroupDistanceProblem attribute)
round_result (sdzkp.sgd.SubgroupDistanceRound attribute)
run() (sdzkp.prover.Prover method)
run_round() (sdzkp.prover.Prover method)
S
s (sdzkp.sgd.SubgroupDistanceRound attribute)
sdzkp.elementaryabeliansubgroup
module
sdzkp.max2sat
module
sdzkp.prover
module
sdzkp.sgd
module
sdzkp.verifier
module
set_seed() (sdzkp.sgd.SubgroupDistanceRound method)
setup() (sdzkp.prover.Prover method)
setup_sdzkp_round() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
SGD (sdzkp.prover.DishonestProver attribute)
(sdzkp.prover.HonestProver attribute)
(sdzkp.prover.Prover attribute)
(sdzkp.verifier.Verifier attribute)
solution_t_h (sdzkp.sgd.SubgroupDistanceProblemWithSolution attribute)
solve() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
(sdzkp.max2sat.Max2SAT method)
SubgroupDistanceProblem (class in sdzkp.sgd)
SubgroupDistanceProblemWithSolution (class in sdzkp.sgd)
SubgroupDistanceRound (class in sdzkp.sgd)
T
t_r (sdzkp.sgd.SubgroupDistanceRound attribute)
t_u (sdzkp.sgd.SubgroupDistanceRound attribute)
test_membership() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)
transpose() (sdzkp.elementaryabeliansubgroup.ElementaryAbelianSubgroup method)
U
U (sdzkp.sgd.SubgroupDistanceRound attribute)
V
Verifier (class in sdzkp.verifier)
verify_0() (sdzkp.verifier.Verifier method)
verify_1() (sdzkp.verifier.Verifier method)
verify_2() (sdzkp.verifier.Verifier method)
W
write_solution_to_file() (sdzkp.max2sat.Max2SAT method)
X
xor_and_check_combinations() (sdzkp.sgd.SubgroupDistanceProblemWithSolution method)