  Cloud computing systems, in which clients rent and share computing resources
of third party platforms, have gained widespread use in recent years.
Furthermore, cloud computing for mobile systems (i.e., systems in which the
clients are mobile devices) have too been receiving considerable attention in
technical literature. We propose a new method of delegating computations of
resource-constrained mobile clients, in which multiple servers interact to
construct an encrypted program known as garbled circuit. Next, using garbled
inputs from a mobile client, another server executes this garbled circuit and
returns the resulting garbled outputs. Our system assures privacy of the mobile
client's data, even if the executing server chooses to collude with all but one
of the other servers. We adapt the garbled circuit design of Beaver et al. and
the secure multiparty computation protocol of Goldreich et al. for the purpose
of building a secure cloud computing for mobile systems. Our method
incorporates the novel use of the cryptographically secure pseudo random number
generator of Blum et al. that enables the mobile client to efficiently retrieve
the result of the computation, as well as to verify that the evaluator actually
performed the computation. We analyze the server-side and client-side
complexity of our system. Using real-world data, we evaluate our system for a
privacy preserving search application that locates the nearest bank/ATM from
the mobile client. We also measure the time taken to construct and evaluate the
garbled circuit for varying number of servers, demonstrating the feasibility of
our secure and verifiable cloud computing for mobile systems.
