Paper 2024/457

Studying Lattice-Based Zero-Knowlege Proofs: A Tutorial and an Implementation of Lantern

Lena Heimberger, Graz University of Technology
Florian Lugstein, Graz University of Technology
Christian Rechberger, Graz University of Technology
Abstract

Lattice-based cryptography has emerged as a promising new candidate to build cryptographic primitives. It offers resilience against quantum attacks, enables fully homomorphic encryption, and relies on robust theoretical foundations. Zero-knowledge proofs (ZKPs) are an essential primitive for various privacy-preserving applications. For example, anonymous credentials, group signatures, and verifiable oblivious pseudorandom functions all require ZKPs. Currently, the majority of ZKP systems are based on elliptic curves, which are susceptible to attacks from quantum computers. This project presents the first implementation of Lantern, a state-of-the-art lattice-based ZKP system that can create compact proofs, which are a few dozen kilobytes large, for basic statements. We thoroughly explain the theory behind the scheme and give a full implementation in a Jupyter Notebook using SageMath to make Lantern more accessible to researchers. Our interactive implementation allows users to fully understand the scheme and its building blocks, providing a valuable resource to understand both ZKPs and lattice cryptography. Albeit not optimized for performance, this implementation allows us to construct a Module-LWE secret proof in 35s on a consumer laptop. Through our contributions, we aim to advance the understanding and practical utilization of lattice-based ZKP systems, particularly emphasizing accessibility for the broader research community.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Preprint.
Keywords
zero-knowledgeimplementationsagepythonlatticerange proof
Contact author(s)
lena heimberger @ tugraz at
flugstein @ proton me
History
2024-03-22: approved
2024-03-18: received
See all versions
Short URL
https://ia.cr/2024/457
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2024/457,
      author = {Lena Heimberger and Florian Lugstein and Christian Rechberger},
      title = {Studying Lattice-Based Zero-Knowlege Proofs: A Tutorial and an Implementation of Lantern},
      howpublished = {Cryptology ePrint Archive, Paper 2024/457},
      year = {2024},
      note = {\url{https://eprint.iacr.org/2024/457}},
      url = {https://eprint.iacr.org/2024/457}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.