Encoding Functions with Constant Online Rate or How to Compress Garbled Circuits Keys

* Final gross prices may vary according to local VAT.

Get Access

Abstract

Randomized encodings of functions can be used to replace a “complex” function f(x) by a “simpler” randomized mapping \(\hat{f}(x;r)\) whose output distribution on an input x encodes the value of f(x) and hides any other information about x. One desirable feature of randomized encodings is low online complexity. That is, the goal is to obtain a randomized encoding \(\hat{f}\) of f in which most of the output can be precomputed and published before seeing the input x. When the input x is available, it remains to publish only a short string \(\hat{x}\) , where the online complexity of computing \(\hat{x}\) is independent of (and is typically much smaller than) the complexity of computing f. Yao’s garbled circuit construction gives rise to such randomized encodings in which the online part \(\hat{x}\) consists of n encryption keys of length κ each, where n = |x| and κ is a security parameter. Thus, the online rate \(|\hat{x}|/|x|\) of this encoding is proportional to the security parameter κ.

In this paper, we show that the online rate can be dramatically improved. Specifically, we show how to encode any polynomial-time computable function f:{0,1} n  → {0,1} m(n) with online rate of 1 + o(1) and with nearly linear online computation. More concretely, the online part \(\hat{x}\) consists of an n-bit string and a single encryption key. These constructions can be based on the decisional Diffie-Hellman assumption (DDH), the Learning with Errors assumption (LWE), or the RSA assumption. We also present a variant of this result which applies to arithmetic formulas, where the encoding only makes use of arithmetic operations, as well as several negative results which complement our positive results.

Our positive results can lead to efficiency improvements in most contexts where randomized encodings of functions are used. We demonstrate this by presenting several concrete applications. These include protocols for secure multiparty computation and for non-interactive verifiable computation in the preprocessing model which achieve, for the first time, an optimal online communication complexity, as well as non-interactive zero-knowledge proofs which simultaneously minimize the online communication and the prover’s online computation.