Functional Commitments for All Functions, under Transparent Setup and Standard Lattice Assumptions


Leo de Castro


Vinod Vaikuntanathan
A functional commitment scheme enables a user to concisely commit to a function from a specified family, then later concisely and verifiably reveal values of the function at desired inputs. Useful special cases, which have seen applications across cryptography, include vector commitments and polynomial commitments. To date, functional commitments have been constructed (under falsifiable assumptions) only for functions that are essentially linear.
In this talk, we give the first functional commitment scheme for nonlinear functions — indeed, for all functions of any bounded complexity — under a standard setup and a falsifiable assumption. More specifically, the setup is "transparent," requiring only public randomness (and not any trusted entity), and the assumption is the hardness of the standard Short Integer Solution (SIS) lattice problem. Our construction also has other attractive features, including: stateless updates via generic composability; excellent asymptotic efficiency for the verifier, and also for the committer in important special cases like vector and polynomial commitments, thanks to preprocessing (which can even be outsourced to an untrusted party); and post-quantum security, since it is based on SIS. This is joint work with Chris Peikert.