A Practical, Secure, and Verifiable Cloud Computing for Mobile Systems



Implementation
To build our system, we use, adapt, and combine the various cryptographic constructions and protocols shown below.
We have implemented our secure cloud computing system in C++, using the BIGNUM routines and the crypto functions from the OpenSSL library. In our system, the servers communicate with one another using TCP sockets.
We have evaluated our system on a Linux server with Intel Xeon 2.53 GHz processor, with 6 cores and 32 GB RAM.
The time taken to construct one garbled table for varying number of parties is shown in the above figure. We note that the garbled tables for any number of gates in the circuit can be constructed in parallel, which will significantly reduce the construction time.
The time taken to evaluate one garbled gate for varying number of parties is shown in the above figure. We observe that evaluation is several orders of magnitude faster than construction. If the garbled circuits are precomputed, and made available to the evaluator, in advance, it can readily carry out the requested computation, and therefore, drastically reduce the response time for the mobile client. 