22.04.2014 Views

a590003

a590003

a590003

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

• Key generation: On input 1 k sample two pairs of keys (sk 0 , pk 0 ) ← KeyGen(1 k ) and<br />

(sk 1 , pk 1 ) ← KeyGen(1 k ). Then, for every i ∈ {0, . . . , t} sample crs (i) ← CRSGen (i) (1 k ).<br />

Output the secret key sk = (sk 0 , sk 1 ) and the public key pk = ( pk 0 , pk 1 , crs (0) , . . . , crs (t)) .<br />

• Encryption: On input a public key pk and a(<br />

plaintext m, sample r 0 , r 1 ∈ {0, 1} ∗ uniformly<br />

at random, and output the ciphertext c (0) = 0, c (0)<br />

0 , c(0) 1<br />

), , π(0) where<br />

c (0)<br />

0 = Enc pk0 (m; r 0 ) ,<br />

c (0)<br />

1 = Enc pk1 (m; r 1 ) ,<br />

((<br />

π (0) ← P (0) pk 0 , pk 1 , c (0)<br />

0 , c(0) 1<br />

)<br />

, (m, r 0 , r 1 ) , crs (0)) .<br />

• Homomorphic evaluation: On input a public key pk, a ciphertext<br />

a function f ∈ F, proceed as follows. If i /∈ {0, . . . , t − 1} or<br />

(<br />

i, c (i)<br />

0 , c(i) 1 , π(i) ), and<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 output ⊥. Otherwise, output the ciphertext c (i+1) =<br />

c (i+1)<br />

0 = HomEval pk0<br />

(<br />

c (i)<br />

0 , f )<br />

c (i+1)<br />

1 = HomEval pk1<br />

(<br />

c (i)<br />

1 , f )<br />

π (i+1) ← P (i+1) (( pk 0 , pk 1 , c (i+1)<br />

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

1 , crs (i) , . . . , crs (0)) ,<br />

,<br />

,<br />

(<br />

i + 1, c (i+1)<br />

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

1 , π (i+1) ), where<br />

(<br />

)<br />

c (i)<br />

0 , c(i) 1 , π(i) , f , crs (i+1)) .<br />

• Decryption: On input a secret key sk and a ciphertext<br />

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

(<br />

i, c (i)<br />

0 , c(i) 1 , π(i) ), output ⊥ if i /∈<br />

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

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

(<br />

Otherwise, compute m 0 = Dec sk0<br />

and otherwise output m 0 .<br />

c (i)<br />

0<br />

)<br />

(<br />

and m 1 = Dec sk1<br />

c (i)<br />

1<br />

Note that at any point in time a ciphertext of the scheme is of the form<br />

)<br />

. If m 0 ≠ m 1 then output ⊥,<br />

(<br />

i, c (i)<br />

0 , c(i) 1 , π(i) ), where<br />

i ∈ {0, . . . , t}, c (i)<br />

0 and c (i)<br />

1 are ciphertexts of the underlying encryption scheme, and π (i) is a proof<br />

or an argument with respect to one of Π (0) , . . . , Π (t) . Note that the assumption that the argument<br />

systems Π (1) , . . . , Π (t) are 1/4-succinct implies that the length of their arguments is upper bounded<br />

by length of the proofs of Π (0) (i.e., l π (i) ≤ l π (0) for every i ∈ {1, . . . , t}). Thus, the only dependency<br />

on t in the length of the ciphertext results from the ⌈log 2 (t + 1)⌉ bits describing the prefix i.<br />

4.3 Chosen-Plaintext Security<br />

We now prove that the construction offers targeted malleability against chosen-plaintext attacks.<br />

For concreteness we focus on the case of a single message and a single ciphertext (i.e., the case<br />

r(k) = q(k) = 1 in Definition 3.1), and note that the more general case is a straightforward<br />

generalization. Given an adversary A = (A 1 , A 2 ) we construct a simulator S = (S 1 , S 2 ) as follows.<br />

14<br />

3. Targeted Malleability

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

Saved successfully!

Ooh no, something went wrong!