1. A non-transitory computer readable storage medium comprising executable instructions to: perform a series of operations represented by a first garbled program received from a client on garbled data received from the client, a second garbled program being obtained as a result of execution of the first garbled program, the second garbled program including a first garbled portion and a second garbled portion, the second garbled portion including a third garbled portion generated through execution of the first garbled portion, such that the series of operations can be performed without interaction with the client and while maintaining as hidden the underlying content of the first garbled program and the garbled data, wherein the executable instructions to perform the series of operations include executable instructions to: execute the first garbled portion to obtain a first plurality of encrypted data elements, a plurality of addresses associated with the first plurality of encrypted data elements, and the third garbled portion; and execute the second garbled portion to obtain a second plurality of encrypted data elements based on the first plurality of encrypted data elements, wherein the executable instructions to execute the second garbled portion include executable instructions to execute the third garbled portion to read and to process encrypted data located at the plurality of addresses.