Contributions to Rust and C++ Cryptographic Libraries for zkSNARKS
Solomon Joseph
EECS Department, University of California, Berkeley
Technical Report No. UCB/EECS-2022-252
December 1, 2022
http://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-252.pdf
Zero-knowledge proofs are a class of probabilistic proof systems that involve a powerful prover proving a theorem to a probabilistic polynomial-time verifier without revealing any information beyond the validity of the theorem to the verifier. In addition, zk-SNARKS are a class of cryptographic protocols through which a prover can efficiently prove possession of something to a verifier in a non-interactive manner. The exponential adoption of blockchain technology, among other things, has influenced a demand for high-performance cryptographic libraries providing support for zero knowledge. Chiesa’s SCIPR lab provides a suite of open- source libraries, written in Rust and C++, that maintain and optimize popular cryptographic and zero knowledge implementations. In this report, I will provide an description of the libraries with which I interacted with, followed by a comprehensive review of my contributions to these libraries, namely library maintenance and algorithmic improvements.
Advisors: Alessandro Chiesa
BibTeX citation:
@mastersthesis{Joseph:EECS-2022-252, Author= {Joseph, Solomon}, Title= {Contributions to Rust and C++ Cryptographic Libraries for zkSNARKS}, School= {EECS Department, University of California, Berkeley}, Year= {2022}, Month= {Dec}, Url= {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-252.html}, Number= {UCB/EECS-2022-252}, Abstract= {Zero-knowledge proofs are a class of probabilistic proof systems that involve a powerful prover proving a theorem to a probabilistic polynomial-time verifier without revealing any information beyond the validity of the theorem to the verifier. In addition, zk-SNARKS are a class of cryptographic protocols through which a prover can efficiently prove possession of something to a verifier in a non-interactive manner. The exponential adoption of blockchain technology, among other things, has influenced a demand for high-performance cryptographic libraries providing support for zero knowledge. Chiesa’s SCIPR lab provides a suite of open- source libraries, written in Rust and C++, that maintain and optimize popular cryptographic and zero knowledge implementations. In this report, I will provide an description of the libraries with which I interacted with, followed by a comprehensive review of my contributions to these libraries, namely library maintenance and algorithmic improvements.}, }
EndNote citation:
%0 Thesis %A Joseph, Solomon %T Contributions to Rust and C++ Cryptographic Libraries for zkSNARKS %I EECS Department, University of California, Berkeley %D 2022 %8 December 1 %@ UCB/EECS-2022-252 %U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2022/EECS-2022-252.html %F Joseph:EECS-2022-252