# How Can I Explain The Concept Of Zero Knowledge Proofs To Students

One of the trickier concepts that comes up in the realm of cryptography is the notion of zero-knowledge protocols (also referred to as zero-knowledge proofs). This is a way to verify an end-user's identity without having to store a password or some other sort of proof of user identity on the server. As you can imagine this is a lot more secure because if a hacker hacks the server, there's no secret for them to discover about a given user.

How to explain this idea to students though?

• The second example in the wikipedia article (two balls) is actually easier and also very convincing. Commented May 7, 2018 at 22:10

The best example I have encountered comes from mathoverflow.net. Here it is for you convenience.

Imagine your friend is color-blind. You have two billiard balls; one is red, one is green, but they are otherwise identical. To your friend they seem completely identical, and he is skeptical that they are actually distinguishable. You want to prove to him (I say "him" as most color-blind people are male) that they are in fact differently-colored. On the other hand, you do not want him to learn which is red and which is green.

Here is the proof system. You give the two balls to your friend so that he is holding one in each hand. You can see the balls at this point, but you don't tell him which is which. Your friend then puts both hands behind his back. Next, he either switches the balls between his hands, or leaves them be, with probability 1/2 each. Finally, he brings them out from behind his back. You now have to "guess" whether or not he switched the balls.

By looking at their colors, you can of course say with certainty whether or not he switched them. On the other hand, if they were the same color and hence indistinguishable, there is no way you could guess correctly with probability higher than 1/2.

If you and your friend repeat this "proof" t times (for large t), your friend should become convinced that the balls are indeed differently colored; otherwise, the probability that you would have succeeded at identifying all the switch/non-switches is at most 2−t. Furthermore, the proof is "zero-knowledge" because your friend never learns which ball is green and which is red; indeed, he gains no knowledge about how to distinguish the balls.

"How to explain zero-knowledge protocols to your children" is a lucid and well-written example of what zero-knowledge proofs and protocols are. Using a fictional story of Ali Baba and a magical cave, the author explains the concept in plain, straightforward terms.

• Hmmm. Actually, so does the wikipedia article you reference in the question. Commented May 7, 2018 at 21:32
• Finding Waldo is an interesting game to teach Zero Knowledge Proofs. Commented Feb 3, 2021 at 20:29