Conference paper

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

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 qA \ {^ ⃗_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.

Related