# Supporting Privacy of Computations in Mobile Big Data Systems +
###### Abstract
Each wire key corresponds to the underlying plaintext bit for the relevant wire in the circuit, and the association between the wire keys and the plaintext bits is kept secret from the cloud server that performs the computation. Thus, \"oblivious evaluation\" of any arbitrary function, expressible as a Boolean circuit, is possible using garbled circuits on any third-party server in the cloud. While garbled circuits can preserve the privacy of client data, they are, however, one time programs--using the same version of the circuit more than once can reveal to an adversarial evaluator the mapping between the garbled values and the plaintext bits. Since creating a garbled circuit is at least as expensive as evaluating the underlying Boolean circuit, expecting the client to create a new version of the garbled circuit for each evaluation, however, is an unreasonable solution. Therefore, unlike FHE schemes which can directly delegate the desired computation to the cloud servers, a scheme using garbled circuits, presents the additional challenge of efficiently delegating to the cloud servers the creation of garbled circuit [10]. We propose a new method, in which to perform any computation on behalf of the client, a number of cloud servers collaborate to create a new version of the garbled circuit in a distributed manner. Using unique seed value from the client, each server generates a set of private input bits, and interacts with all the other servers to create a new garbled circuit, which is a function of the private input bits of all the servers. Essentially, the servers construct the desired garbled circuit without revealing their private inputs to one another using a secure multiparty computation protocol (e.g., [PERSON] _et al._[8; 9]). Once a new version of the garbled circuit is created using multiple servers, the client utilizes an arbitrary server in the cloud for evaluation. Even if the evaluating server chooses to collude with any strict-subset of servers that participated in the creation of the garbled circuit, the resulting version of the garbled circuit, the garbled inputs that can unlock the circuit, and the corresponding garbled outputs, remain unrecognizable to the evaluator. While the mobile clients are resource constrained, the cloud servers, however, are sufficiently provisioned to perform numerous intensive computation and communication tasks. Therefore, our proposed system is designed to readily exploit the real-world asymmetry that exists between typical mobile clients and cloud servers. Beyond the generation and exchange of compact cipher text messages, our system requires very little computation and communication involvement from the mobile client to achieve secure and verifiable computing capability. However, the cloud servers can efficiently generate and exchange a large volume of random bits necessary for carrying out the delegated computation due to the significantly large amount of resources available to them. Therefore, our proposed scheme is very suitable for mobile environments (While our proposed system is especially beneficial for clients in a mobile environment, due to compact cipher text messages, it is also suitable for clients in other environments that need to delegate their computations to the cloud servers in a secure manner). We employ the garbled circuit design of [PERSON], Micali, [PERSON] (BMR [11; 12]) and the secure multiparty computation protocol of [PERSON] _et al._[8; 9] for the purpose of building a secure cloud computing system. To facilitate the construction of the garbled circuit in the cloud, and also to enable the client to efficiently recover and verify the result of the computation, our method incorporates the novel use of the cryptographically secure Blum, Blum, Shub pseudo random number generator [13; 14], whose strength relies on the computational difficulty of factorizing large numbers into primes. Using our proposed system, the client can efficiently verify that the evaluator actually and fully performed the requested computation.