A SIMPLE ZERO KNOWLEDGE PROOF FOR GRAPH 3 COLORING The PROVER knows a 3-coloring of a graph G. Say it uses red, green and blue. They keep it secret in their notes. To start let’s assume that the PROVER and VERIFIER are together in person. They have a picture of the graph on the table. The following process is repeated: The VERIFIER steps outside the room. The PROVER randomly generates a permutation on the set {red,green,blue}. The PROVER colors the graph using their notes but switches the colors according to the permutation they generated. The PROVER then covers all the colors using plastic cups. The VERIFIER comes back. The VERIFIER chooses two vertices connected by an edge and removes the cups. They VERIFIER checks that the colors under those two cups are indeed different. Suppose the PROVER is lying and trying to convince the VERIFIER without actually knowing a valid 3 coloring. Then each time this process occurs, at least one of the edges will contain 2 vertices with the same color. The VERIFIER has a small chance to catch the cheating prover if they select the right vertices. After repeating the experiment many times, the VERIFIER can be reasonably sure the PROVER did not cheat. Is this system zero-knowledge? Each time the process happens, the VERIFIER learns that two adjacent vertices were colored differently. This is not gaining information because it is implied from the supposed existence of a 3-coloring. Since the colors are randomly shuffled each time, the verifier doesn’t gain any information on how to color the graph by comparing the results of different rounds.