Walter Unger WS 2017/2018
Janosch Fuchs November 23, 2017
Exercise
Algorithmic Cryptography
Sheet 5
• Write the name, group number and enrollment number of each group member on every sheet that you hand in.
• To achieve the permission for the exam you must earn50% of the sum of all points and present one of your solutions at least once.
• You can earn 50% bonus points by presenting your solution. At the beginning of every exercise session, you can mark the exercises that you want to present.
• If a student is not able to present a correct solution although he/she marked the exercise as presentable, he/she will lose all of his/her points on the exercise sheet.
Exercise 5.1 (4 points)
Consider the following protocol for Graph 3-Coloring:
Common Input: Graph G= (V, E).
Secret of the Prover: 3-Coloring col :V → {1,2,3}.
Prover: Choose permutation π over {1,2,3}. For each v ∈ V, send lockable box Bv with δ(Bv) =π(col(v)).
Verifier: Choose an edge {u, v} ∈E.
Prover: Show the permuted color of the vertices u and v, i.e., send δ(Bu)and δ(Bv).
Verifier: Check whether δ(Bu)6=δ(Bv).
(a) Prove:The protocol is a Zero-Knowledge-Proof, i.e., it satisfies the following three properties:
Completeness: If the prover knows the secret, he can convince the verifier.
Soundness: If the prover does not know the secret, he cannot convince the verifier, except with some small probability.
Zero-Knowledge: There exists a probabilistic simulator that computes an ac- cepting transcript in polynomial time that looks statistically (algorithmically) the same as a transcript between the pro- ver and a verifier.
(b) What is the cheating probability?
Exercise 5.2 (4 points) Construct a Zero-Knowledge-Proof based on the following problem:
VERTEX COVER
Input: GraphG= (V, E)and k∈N.
Problem: Is there a vertex cover of size at most k for G, i.e., a subset C ⊆ V with |C| ≤k such that for each edge {u, v} ∈E at least one of u and v belongs toC?
Exercise 5.3 (4 points)
Construct a Zero-Knowledge-Proof based on the following problem:
THREE VERTEX-DISJOINT PATHS
Input: GraphG= (V, E)and s, t∈V.
Problem: Are there three vertex-disjoint paths froms to t?
Definition: Three paths are vertex-disjoint if the intersection of the vertex sets of the paths without the start and end vertex is empty.
Exercise 5.4 (4 points)
Construct a Zero-Knowledge-Proof based on the following problem:
NOT-ALL-EQUAL 3-SAT
Input: Set X of variables, collectionC of clauses over X such that each clause c∈C has |c|= 3.
Problem: Is there a truth assignment forX such that each clause in C has at least one true literal and at least one false literal?
Deadline: Thursday, November 30, 2017, 10:15 a.m.,
in the lecture or in the box in front of the i1.