Outsourcing computation has gained significant popularity in recent years due to the prevalence of cloud computing. There are two main security concerns in outsourcing computation: how to guarantee the cloud server performs the computation correctly and how to keep the client's data secret. The {\em single-server verifiable computation} (SSVC) of Gennaro, Gentry and Parno (Crypto'10) enables a client to delegate the computation of a function $f$ on any input $x$ with both concerns highly relieved, but only results in {\em computationally secure} schemes that {\em lack practical efficiency}. While the SSVC schemes use a single server, in this paper we develop a {\em multi-server verifiable computation} (MSVC) model where the client shares both $f$ and $x$ among multiple servers, each server performs a set of computations on its shares, and finally the client reconstructs $f(x)$ from all servers' results. In this MSVC model we propose a generic construction for outsourcing computations of the form $F{\bf x}$, where $F$ is a matrix and $\bf x$ is a vector. Our generic construction achieves {\em information-theoretic security, input privacy} and {\em function privacy}. By optimizing the parameters, we obtain both a 3-server scheme,which uses the least number of servers, and a 4-server scheme, which incurs the least workload. By decomposing many polynomial computations as a two-stage computation, where the first-stage has the form $F{\bf x}$ and the second-stage is fast, and delegating the first-stage computation, we obtain MSVC schemes for these polynomials. We implement our MSVC schemes and show that they are among the most {\em practical} ones to date.
翻译:近年来,由于云计算的普遍性,外部承包计算变得相当受欢迎。在外包计算中,存在两个主要的安全关切:如何保证云服务器进行正确的计算,以及如何保持客户的数据保密。 Gennaro、 Genter 和 Parno (Crypto'10) 的 SSVC 模式使客户能够将计算任何输入的美元(美元)的功能下放给任何关切高度松懈,但只能导致在计算安全性方面缺乏实际效率的 。 SSVC 机制使用一个单一服务器,而在本文件中我们开发了一个包含多服务器可核实计算数据的计算。 在多个服务器中,客户共享美元和$x的单一服务器计算 (SSVC) 模式(SSVC ), 每个服务器对其股份进行一套计算,最后客户根据所有服务器的结果重建 $(x) 美元(x) 。在这个 MSVC 模式中,我们提出一个通用的计算方法是 $F_bxxxx 。