yuchen1024 / Twisted_ElGamal_PKE

This project implements twisted ElGamal PKE, which is additively homomorphic and zero-knowledge proof friendly.
6 stars 2 forks source link

ZKP Code #1

Open dzobbe opened 3 years ago

dzobbe commented 3 years ago

Hi,

If I want to use your code, how could I realize the ZKP? Can you give me hints on this?

Thanks.

yuchen1024 commented 3 years ago

Twisted ElGamal is simply an additively homomorphic PKE. Compared to other homomorphic PKE, its unique feature is zero-knowledge proof friendly, namely, not only can we use Sigma protocols to prove linear relations over encrypted values (though Sigma protocol is simply, you still have to design it from scratch), but also can directly invoke Bulletproofs to conduct range proofs. Please see the paper and slide for PGC (https://yuchen1024.github.io/) for more details about twisted ElGamal and accompanying zero-knowledge proofs.

dzobbe commented 3 years ago

Thank you for the information. It would be very nice if you could push an example of ZKP using your library.

yuchen1024 commented 3 years ago

Please find the example here https://github.com/yuchen1024/libPGC/tree/master/PGC_openssl/depends/nizk