Zero-Knowledge Protocols
Project description
Zero-Knowledge Proof (ZKP) is a cryptographic tool that allows a person (the prover) to make a true claim and then convince another person (the verifier) that the claim is true without revealing any additional information about it. Additionally, it ensures that if the claim is false then a malicious prover will fail to convince a verifier. For instance, one may want to convince a central organization that they are eligible to cast a vote, but for privacy, would like to protect related information like their nationality, their address, etc. A ZKP allows us to achieve this. At the same time, an ineligible person will not be able to lie. More generally, in many sensitive real-world applications (e.g., banking, finance, e-voting systems) where privacy and honest behavior is of the utmost importance, ZKPs are being used as the central technology to guarantee these desiderata. However, practical applications often trade off security in favor of efficiency. This can be particularly disastrous for aforementioned sensitive applications. Hence, the goal of this project is to make ZKPs more secure against any potential attack, and more efficient to facilitate their use in other critical use cases.