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.

The algorithm S 1 . The algorithm S 1 is identical to A 1 , except for also including the public key<br />

pk and the distribution M in the state that it forwards to S 2 . That is, S 1 on input (1 k , pk) invokes<br />

A 1 on the same input to obtain a triplet (M, state 1 , state 2 ), and then outputs (M, state 1 , state ′ 2 )<br />

where state ′ 2 = (pk, M, state 2).<br />

The algorithm S 2 . The algorithm S 2 on input (1 k , state ′ 2 ) where state′ 2 = (pk, M, state 2), first<br />

samples m ′ ← M, and computes c ∗ ← Enc ′ pk (m′ ). Then, it samples r ← {0, 1} ∗ , and computes<br />

(<br />

)<br />

c = i, c (i)<br />

0 , c(i) 1 , π(i) = A 2 (1 k , c ∗ , state 2 ; r). If i /∈ {0, . . . , t} or<br />

V (i) (( pk 0 , pk 1 , c (i)<br />

0 , c(i) 1 , crs(i−1) , . . . , crs (0)) , π (i) , crs (i)) = 0<br />

then S 2 outputs c. Otherwise, S 2 utilizes the knowledge extractors guaranteed by the argument<br />

systems Π (1) , . . . , Π (t) to generate a “certification chain” for c of the form<br />

(c (0) , f (0) , . . . , c (i−1) , f (i−1) , c (i))<br />

satisfying the following two properties:<br />

1. c (i) = c.<br />

2. For every j ∈ {1, . . . , i} it holds that c (j) = HomEval ′ (<br />

pk c (j−1) , f (j−1)) .<br />

We elaborate below on the process of generating the certification chain. If S 2 fails in generating<br />

such a chain then it outputs c. Otherwise, S 2 computes its output as follows:<br />

1. If c (0) = c ∗ and i = 0, then S 2 outputs copy 1 .<br />

2. If c (0) = c ∗ and i > 0, then S 2 outputs f (0) ◦ · · · ◦ f (i−1) .<br />

3. If c (0) ≠ c ∗ , then S 2 outputs c.<br />

Generating the certification chain.<br />

{0, . . . , t} and<br />

We say that a ciphertext<br />

V (i) (( pk 0 , pk 1 , c (i)<br />

0 , c(i) 1 , crs(i−1) , . . . , crs (0)) , π (i) , crs (i)) = 1 .<br />

(<br />

)<br />

i, c (i)<br />

0 , c(i) 1 , π(i) is valid if i ∈<br />

Viewing the algorithm A 2 as a malicious prover with respect to the argument ( system Π (i) with the<br />

common reference string crs (i) , whenever A 2 outputs a valid ciphertext c (i) = i, c (i)<br />

0 , c(i) 1<br />

), , π(i) the<br />

algorithm S 2 invokes ( the knowledge extractor ) Ext A2 that corresponds to A 2 (recall Definition 2.3)<br />

to obtain a witness c (i−1)<br />

0 , c (i−1)<br />

1 , π (i−1) , f (i−1) to the fact that<br />

(<br />

pk 0 , pk 1 , c (i)<br />

0 , c(i) 1 , crs(i−1) , . . . , crs (0)) ∈ L (i) .<br />

Note that S 2 chooses the randomness for A 2 , which it can then(<br />

provide to Ext A2 . If successful then<br />

by the definition of L (i) we have a new valid cipertext c (i−1) = i − 1, c (i−1)<br />

0 , c (i−1)<br />

1 , π<br />

). (i−1) If i = 1<br />

then we are done. Otherwise (i.e., if i > 1), viewing the combination of A 2 and Ext A2 as a malicious<br />

prover with respect to the argument system Π (i−1) with the common reference string crs (i−1) , the<br />

15<br />

3. Targeted Malleability

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

Saved successfully!

Ooh no, something went wrong!