Publication
CRYPTO 2022
Conference paper

Lattice-Based Zero-Knowledge Proofs and Applications: Shorter, Simpler, and More General

Download paper

Abstract

We present a much-improved practical protocol, based on the hardness of Module-SIS and Module-LWE problems, for proving knowledge of a short vector s {^ ⃗_s} satisfying A s=t mod q A \ {^ ⃗_s} = {^ ⃗_t} \ mod \ q . The currently most-efficient technique for constructing such a proof works by showing that the 8 {ℓ_8} norm of s {^ ⃗_s} is small. It creates a commitment to a polynomial vector m whose CRT coefficients are the coefficients of s {^ ⃗_s} and then shows that (1) A CRT(m) = t mod q {A \cdot \ CRT(\bold{m}) \ = \ {^ ⃗_t} \ mod \ q} and (2) in the case that we want to prove that the 8 {ℓ_8} norm is at most 1, the polynomial product (m1) m(m+1) \bold {(m - 1) \cdot \ m \cdot(m + 1)} equals to 0. While these schemes are already quite practical, the requirement of using the CRT embedding and only being naturally adapted to proving the 8norm ℓ{_8-norm} , somewhat hinders the efficiency of this approach. In this work, we show that there is a more direct and more efficient way to prove that the coefficients of s {^ ⃗_s} have a small 2 norm {ℓ_2} \ norm , which does not require an equivocation with the 8 {ℓ_8} norm nor any conversion to the CRT representation. We observe that the inner product between two vectors r {^ ⃗_r} and s {^ ⃗_s} can be made to appear as a coefficient of a product (or sum of products) between polynomials which are functions of r {^ ⃗_r} and s {^ ⃗_s} . Thus, by using a polynomial product proof system and hiding all but one coefficient, we are able to prove knowledge of the inner product of two vectors (or of a vector with itself) modulo q. Using a cheap “approximate range proof”, one can then lift the proof to be over Z \mathbb{Z} instead of Zq. \mathbb{Z}_q. Our protocols for proving short norms work over all (interesting) polynomial rings, but are particularly efficient for rings like ZX/(Xn + 1) \mathbb{Z}⌊X⌋/({X^n} \ + \ 1) in which the function relating the inner product of vectors and polynomial products happens to be a “nice” automorphism. The new proof system can be plugged into constructions of various lattice-based privacy primitives in a black-box manner. As examples, we instantiate a verifiable encryption scheme and a group signature scheme which are more than twice as compact as the previously best solutions.

Date

Publication

CRYPTO 2022

Authors

Topics

Resources

Share