Encryption algorithms are needed to keep communication between computers secure. This is particularly important when the data that is being shared has to be kept private, such as bank account details.
Shafi Goldwasser and her colleagues Silvio Micali and Charles Rackoff developed Zero-knowledge proofs. This is a theory that helps ensure that data is kept secure when shared by computers by prooving one important stage of the communication process. Which is for one party to show they know a secret without giving the detail away.
One way to explain the proof is with two different coloured balls and a colour blind friend. Your friend is not sure that the two balls really are different colours, so you set about prooving it to him. He takes the two balls and hides them behind his back. He then shows one of the balls. He then hides the balls again and decides whether to switch the ball or not on his next reveal. And he asks each time he shows a ball ‘Did I switch the ball?’ He does this over and over again.
As you are looking at the balls you can say whether he has switched them or not, with 100% certainty. However, during the whole time, your colour blind friend does not know which ball is red and which is green. He has zero knowledge about the underlying data, but he has proved that you know what colour they are.
Read another explanation of the Zero knowledge proof on the cs4fn website.
CLASSROOM IDEAS
History: Find out about cryptography and how it has been used in the past to keep important information secure using the cs4fn cryptography pages.
This work was supported by the Institute of Coding, which is supported by the Office for Students (OfS).