How to Prove You Know a Secret Without Giving It Away | Quanta MagazineFor a simple way to understand this idea, let's suppose you want to show your friend that you know how to get through a maze, without divulging any details about the path. You could simply traverse the maze within a time limit, while your friend was forbidden from watching. (The time limit is necessary because given enough time, anyone can eventually find their way out through trial and error.) Your friend would know you could do it, but they wouldn't know how.Zero-knowledge proofs are helpful to cryptographers, who work with secret information, but also to researchers of computational complexity, which deals with classifying the difficulty of different problems. "A lot of modern cryptography relies on complexity assumptions â on the assumption that certain problems are hard to solve, so there has always been some connections between the two worlds," said Claude Crépeau, a computer scientist at McGill University. "But [these] proofs have created a whole world of connection."
Continued here