Succinct Vector, Polynomial, and Functional Commitments from Lattices

Abstract

Vector commitment schemes allow a user to commit to a vector of values x{0,1}\mathbf{x} \in \{0,1\}^\ell and later, open up the commitment to a specific set of positions. Both the size of the commitment and the size of the opening should be succinct (i.e., polylogarithmic in the length \ell of the vector). Vector commitments and their generalizations to polynomial commitments and functional commitments are key building blocks for many cryptographic protocols. We introduce a new framework for constructing non-interactive lattice-based vector commitments and their generalizations. A simple instantiation of our framework yields a new vector commitment scheme from the standard short integer solution (SIS) assumption that supports private openings and large messages. We then show how to use our framework to obtain the first succinct functional commitment scheme that supports openings with respect to arbitrary bounded-depth Boolean circuits. In this scheme, a user commits to a vector x{0,1}\mathbf{x} \in \{0,1\}^\ell, and later on, open the commitment to any function f(x)f(\mathbf{x}). Both the commitment and the opening are non-interactive and succinct: namely, they have size poly(λ,d,log)\textsf{poly}(\lambda, d, \log \ell), where λ\lambda is the security parameter and dd is the depth of the Boolean circuit computing ff. Previous constructions of functional commitments could only support constant-degree polynomials, or require a trusted online authority, or rely on non-falsifiable assumptions. The security of our functional commitment scheme is based on a new falsifiable family of basis-augmented SIS assumptions (BASIS) we introduce in this work. We also show how to use our vector commitment framework to obtain (1) a polynomial commitment scheme where the user can commit to a polynomial fZq[x]f \in \mathbb{Z}_q[x] and subsequently open the commitment to an evaluation f(x)Zqf(x) \in \mathbb{Z}_q; and (2) an aggregatable vector (resp., functional) commitment where a user can take a set of openings to multiple indices (resp., function evaluations) and aggregate them into a single short opening. Both of these extensions rely on the same BASIS assumption we use to obtain our succinct functional commitment scheme

    Similar works