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.

I. Pre-processing phase. In this phase, the clients interact with each other to perform the following computations:<br />

1. D 1 and D 2 engage in the execution of a standard secure computation protocol Π fhe to compute the (randomized)<br />

functionality F fhe described as follows:<br />

• Generate key pairs (sk, pk) ← Gen(1 κ ) and (SK, P K) ← Gen(1 κ ) for the FHE scheme<br />

(Gen, Enc, Dec).<br />

• Compute 2-out-of-2 shares of the FHE secret keys sk, SK. That is, compute sk 1 , sk 2 s.t. sk 1 ⊕sk 2 =<br />

sk, and SK 1 , SK 2 s.t. SK 1 ⊕ SK 2 = SK.<br />

• Output (pk, P K, sk i , SK i ) to D i .<br />

2. D 1 and D 2 engage in the execution of a standard secure computation protocol Π prf to compute the (randomized)<br />

functionality F prf described as follows:<br />

• Sample keys K 1 and K 2 for a pseudo-random function PRF : {0, 1} κ × {0, 1} κ → {0, 1}.<br />

• For every j ∈ [2], compute (c prf<br />

j<br />

, d prf<br />

j<br />

) ← COM(K i ).<br />

• Output ({c prf<br />

j<br />

}, d prf<br />

i<br />

, K i ) to D i .<br />

3. D 1 and D 2 engage in the execution of a standard secure computation protocol Π test to compute the (randomized)<br />

functionality F test described as follows. F test takes as input the public key pk for FHE (as<br />

computed above) from D 1 , D 2 and computes the following:<br />

• For every i ∈ [2], j ∈ [n], generate random strings r i,j and compute ̂R i,j ← Enc P K (Enc pk (r i,j )).<br />

• For every j ∈ [n],<br />

(a) Compute secret j = Eval P K ( ̂R 1,j , ̂R 2,j ; G).<br />

(b) Compute (c test<br />

j , d test<br />

j ) ← COM(secret).<br />

(c) Choose random strings d test<br />

1,j , dtest 2,j s.t. dtest j = d test<br />

1,j ⊕ dtest 2,j .<br />

• Output (̂R i,j , c test<br />

j , d test<br />

i,j ) to D i.<br />

(Note that the three steps above can be combined into a single secure computation protocol execution. We choose<br />

to split them into separate executions for simplicity of explanation and proof.)<br />

II. Online phase. In this phase, the clients interact with the worker in a single round of communication to<br />

compute the functionality G. For simplicity of exposition, we assume that the public keys (pk, P K) were given<br />

to W at the end of the pre-processing phase; we do not include them in the description below.<br />

More specifically, this phase proceeds as follows:<br />

D i → W: Let x i denote the private input of D i . The client D i performs the following steps:<br />

1. For every j ∈ [n],<br />

• Compute ̂X i,j ← Enc P K (Enc pk (x i )).<br />

• Let s be the session number. Then, compute bit b i,j ← prf Ki<br />

(s‖j). Let (vi,j 0 , v1 i,j ) be such that<br />

v b i,j<br />

i,j<br />

= ̂X i,j and v 1−b i,j<br />

i,j<br />

= ̂R i,j .<br />

D i sends the tuple {vi,j 0 , v1 i,j }n j=1 to W.<br />

W → (D 1 , D 2 ): On receiving the tuples {v 0 i,j , v1 i,j }n j=1 from each client D i, W performs the following steps. For<br />

every j ∈ [n], homomorphically compute the following four values:<br />

9<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!