22.04.2014 Views

a590003

a590003

a590003

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Experiment H 4 . This experiment is the same as H 3 , except that instead of encrypting the input of P 1 honestly,<br />

S computes ̂X 1,1 , . . . , ̂X 1,n as encryptions of the all zeros string. Note that this experiment corresponds to the<br />

ideal world.<br />

Indistinguishability of H 3 and H 4 : From the semantic security of the (inner layer) FHE scheme<br />

(Gen, Enc, Dec, Eval), it immediately follows that the output distributions of H 4 and H 5 are computationally<br />

indistinguishable. In more detail, assume for contradiction that there exists a PPT distinguisher D that can distinguish<br />

with non-negligible probability between the output distributions of H 3 and H 4 . Then, we construct an<br />

adversary B that breaks the semantic security for the FHE scheme. Adversary B takes a public key pk from<br />

the challenger C of the FHE scheme and then runs the simulator S to generate an output distribution for D.<br />

Specifically, B follows the same strategy as S, except that in the pre-processing phase, S forces pk as the inner<br />

layer public key. B then sends vectors ⃗m 0 , ⃗m 1 as its challenge messages to C, where each element in ⃗m 0 is set<br />

to x 1 , and each element in ⃗m 1 is set to the all zeros string. On receiving the challenge ciphertext vector from<br />

C, adversary B simply uses them to continue the rest of the simulation as S does. Finally, B outputs whatever<br />

D outputs. Now, note that if the challenge ciphertexts correspond to ⃗m 0 , then the resultant output distribution<br />

is same as in experiment H 3 , otherwise, it is the same as in H 4 . Thus, by definition D (and therefore B) must<br />

succeed in distinguishing with non-negligible probability. Thus, we arrive at a contradiction.<br />

D.2 Security of the Many-time Verifiable Computation Scheme<br />

So far, we have shown that our protocol is one-time secure (namely, that soundness holds when one execution<br />

of the online and offline phases are executed). We now proceed to show that the protocol is many-time secure<br />

(i.e., we can run (unbounded) polynomially many online and offline phases after one run of the pre-processing<br />

phase). As in the works of [GGP10, CKV10], we work in a model in which if the result of some computation<br />

returned by the server is rejected by any of the clients, the clients execute a new pre-processing phase and<br />

pick new parameters. To prove our security, let us first recall how [CKV10] go from one-time to many-time<br />

security. [CKV10] show that if we have a one-time delegation scheme, then this can be converted into a manytime<br />

delegation scheme simply by executing the entire protocol under another layer of fully encryption. A fresh<br />

public key for the FHE scheme is chosen for every execution by the client in the online phase. Note that the<br />

way we achieve multi-time security is also similar - the clients independently pick a fresh public key for the<br />

multi-key homomorphic encryption scheme of [LTV12] and execute the one-time protocol under this layer of<br />

fully homomorphic encryption. The proof that our protocol is also multi-time secure is quite similar to that of<br />

[CKV10]; however, there are a few subtle changes that we need to make.<br />

To see these changes, let us first understand the idea behind the proof of [CKV10]. [CKV10] reduce the<br />

security of the multi-time scheme to that of the one-time scheme. That is, given an adversary that breaks the<br />

security of the multi-time scheme, they construct an adversary that breaks the security of the one-time scheme.<br />

Both adversaries execute the pre-processing phase in exactly the same manner. Let L be an upper bound on<br />

the total number of times the one-time stage is executed by the adversary. The one-time scheme adversary that<br />

they construct picks one of these executions, say i th , at random and chooses to break the one-time security of<br />

that execution. In all other executions, the adversary will “simulate” the protocol by sending encryptions of allzeroes,<br />

instead of sending the encryption of the actual message that is a function of ̂X (which is an encryption of<br />

the client’s input), ̂R (which is an encryption of the client’s secret state used to verify the protocol), and the secret<br />

bit b (which is chosen fresh in every execution). In these executions (all executions other than the i th ), one can<br />

show (via the semantic security of the FHE scheme) that the messages sent in the real and simulated executions<br />

are indistinguishable. An important point here is that the client never rejects any of these executions here and<br />

always proceeds with the computation as if it accepted it. In the i th execution, the adversary will pick the public<br />

key and secret key for the FHE scheme on its own. Now, the adversary encrypts the query under this public key<br />

and once it obtains the response of the worker from the many-time adversary, it decrypts it using the secret key<br />

to the obtain the response that the adversarial worker in the one-time game must produce.<br />

We shall also follow the same overall strategy. The one-time adversary that we build will execute the pre-<br />

21<br />

11. How to Delegate Secure Multiparty Computation to the Cloud

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!