CryptoDB
LaZer: a Lattice Library for Zero-Knowledge and Succinct Proofs
Authors: | |
---|---|
Download: | |
Presentation: | Slides |
Abstract: | Zero-Knowledge proofs form the cornerstone of privacy-based cryptography. Research on their efficient realizations based on number-theoretic and hash-based assumptions dates back several decades, and there are now fairly optimized solutions based on these foundations. With the coming of quantum computing, one will eventually need to consider schemes whose security is based on quantum-resistant assumptions. Hash-based schemes are a very good candidate for this; but lattice-based ones could in principle be even more efficient. Basic cryptographic primitives based on lattices, such as KEMs and digital signatures, are faster than their classical counterparts, and shorter than hash-based constructions (such as signatures). Recent papers on lattice-based zero-knowledge have shown that these advantages could also extend into more advanced constructions. One can indeed use efficient lattice operations to construct SNARKs and ZK proofs with significantly shorter proof sizes than the hash-based counterparts. These proofs have already shown themselves useful in the designs of various privacy-based protocols, but like all ZK proofs, they are fairly non-trivial to instantiate and use. Just like proofs based on other assumptions, lattice-based ones are also quite intricate and non-trivial to use. Researchers working on number-theoretic and hash-based proofs have provided excellent libraries that make their proofs easy-to-use. In this work, we do the same for lattices. We implement a library that allows for easy consumption of SNARKs and ZK-proofs by protocol designers. The foundation of the library consists of algebraic operations upon which the most efficient recent lattice-based SNARKs and ZK proofs are built. These low-level implementations, as well as the ZK protocols, are written in C. We then create a Python wrapper that allows protocol designers to easily create instances and create proofs, as well as use the efficient C operations to be able to write their protocols entirely in Python without sacrificing much in the form of efficiency. We illustrate the usefulness of the library with several instantiations of protocols from the literature that utilize lattice-based ZK proofs, and will present live demos. |
Video: | https://www.youtube.com/watch?v=NlQNOPlxFOQ |
BibTeX
@misc{rwc-2024-35344, title={LaZer: a Lattice Library for Zero-Knowledge and Succinct Proofs}, note={Video at \url{https://www.youtube.com/watch?v=NlQNOPlxFOQ}}, howpublished={Talk given at RWC 2024}, author={Patrick Steuer and Gregor Seiler and Vadim Lyubashevsky}, year=2024 }