Report

Probabilistic Public Key Encryption with Equality Test Duncan S. Wong Department of Computer Science City University of Hong Kong Joint work with Guomin Yang, Chik How Tan and Qiong Huang 1 Outline • What is PKE with Equality Test? • Is it related to PKE with Keyword Search or Deterministic PKE? • Applications • Our construction • What security level can it achieve? • Impossibility of achieving IND-ATK (e.g. IND-CPA or IND-CCA1/2) • Extension: a non-pairing variant • W-IND-CCA2 2 What is PKE with Equality Test (PKE-ET)? pk1 M1 Enc C1 M1 =? M2 pk2 M2 Enc C2 C1 Test 1 iff M1 = M2 C2 3 What is PKE with Equality Test (PKE-ET)? 1. Perfect Consistency For every M in plaintext space PtSp(k), Pr[ Test(C1, C2) = 1 ] = 1 if (pk1, sk1) G(1k), (pk2, sk2) G(1k), C1 E(pk1, M) and C2 E(pk2, M). 2. Soundness For any PPT A, Pr[ Test(C1, C2) = 1 M1 M2 M1 M2 ] (k) where (C1, C2, sk1, sk2) A(1k), M1 D(sk1, C1), M2 D(sk2, C2). 4 Is PKE-ET related to PKE with Keyword Search? PKE with Keyword Search (PKES) • w : keyword • C = Enc(pk, w) • TW = Trapdoor(sk, w) • Test(pk, C, TW) = 1 iff C is an encryption of w under pk Equality Test • Test(pk, C1, TW) = 1 & Test(pk, C2, TW) = 1 Both C1 and C2 are encryptions of the same w. Limitations 1. A tag TW can only be generated if sk is known. 2. Test: only applicable to ciphertexts generated under the same pk. 5 Is PKE-ET related to Deterministic PKE? Deterministic Public Key Encryption (DPKE) • S = Enc(pk, M) • M = Dec(sk, C) Equality Test • Given C1 = Enc(pk, M1) & C2 = Enc(pk, M2) C1 = C2 M1 = M2. Limitation 1. Only applicable to ciphertexts generated under the same pk. 6 Applications of PKE-ET Outsourced Database, data are stored in encrypted form. 1. Searchable Encryption: anyone is able to search keywords of encrypted messages even if they are generated under different public keys. • E.g. building a search engine capable of searching encrypted messages provided by different vendors 2. Partitioning Encrypted Data: DBMS or the public is able to categorize or obtain statistical information on messages without any help from the encrypted message owners. • E.g. partitioning encrypted files based on file types such as images from videos 7 Our PKE-ET Construction System Parameters • • • • G1, G2: cyclic groups of prime order q g: generator of G1 Bilinear pairing e: G1 x G1 G2 PtSp: G1\{1} KeyGen(1k) • sk = x R Zq* • pk = y = gx Enc(pk, m) 1. r R Zq* 2. Ciphertext C := (U, V, W) where U = gr, V = mr, W = H(U, V, yr) m||r Dec(sk, C) 1. m||r WH(U, V, Ux) 2. Verify r Zq* m G1\{1} U = gr V = mr 3. If true, return m, else return Test(C1, C2) • Given C1 = (U1, V1, W1) and C2 = (U2, V2, W2), if e(U1, V2) = e(U2, V1), return 1, else return 0. 8 What Security Level can our PKE-ET scheme achieve? (Impossibility of Achieving IND-ATK) In general, PKE-ET cannot achieve IND-ATK (e.g. IND-CPA or IND-CCA1/2). IND-ATK: Reason why PKE-ET cannot achieve IND-ATK: adversary knows the challenge plaintexts x0 and x1; does not even need to resort its plaintext choosing capability. 9 What Security Level can our PKE-ET scheme achieve? After challenge phase, the adversary knows: public key: pk challenge plaintexts: x0 and x1 challenge ciphertext: y Adversary A2 • computes y’ = Enc(pk’, x1) • returns Test(y, y’) 10 What Security Level can our PKE-ET scheme achieve? It achieves one-way under chosen ciphertext attack (OW-CCA2). OW-ATK: 11 What Security Level can our PKE-ET scheme achieve? OW-CCA2 security in the random oracle model under the CDH assumption Proof Idea: • Game 1: the original scheme Enc(pk, m) : U = gr, V = mr, W = H(U, V, yr) m||r • Game 2: Replace H(U*, V*, yr*) of the challenge ciphertext with a random string Enc(pk, m*) : U* = gr*, V* = mr*, W* = R* m||r • Game 1 and Game 2 are indistinguishable under the CDH assumption. • The adversary only has a negligible probability to win in Game 2 under the CDH assumption. 12 Extension: a non-pairing variant • In the PKE-ET, pairing is used in Test only. • If we remove Test, the scheme is a conventional PKE. KeyGen(1k) • sk = x R Zq* • pk = y = gx Enc(pk, m) • r R Zq* • Compute U = gr, V = mr, W = H(U, V, yr)m||r • C := (U, V, W) Dec(sk, C) • m||r WH(U, V, Ux) • Verify r R Zq* m G1\{1} U = gr V = mr • If true, return m, else return • The PKE can be implemented using a non-bilinear group. So we have more curves to choose from during implementation. • Observation: in a non-bilinear group, this PKE achieves a higher security level. 13 Extension: a non-pairing variant • Bad News: still cannot achieve IND-ATK • A1 chooses x0 = gr0, x1 = gr1 where r0 r1 • challenge stage: b {0,1}, Enc(pk, xb) = (U = gr, V = xbr, W) • A2 returns 0 if V = Ur0; otherwise, returns 1. • Good News: can achieve something stronger than OW-CCA2 W-IND-ATK where the adversary cannot select challenge plaintexts but the adversary is given the challenge plaintexts. 14 W-IND-ATK • In the random oracle model, the PKE in a non-bilinear group is W-IND-CCA2 secure under the DDH assumption. 15 Future Work • Standard model construction • Achieving IND-CCA2 for Test-removed version • Question: is there any application for the property that the same scheme is PKE-ET on bilinear group while being a PKE on non-bilinear group? 16 Q&A More details can be found in the Proc. of CT-RSA 2010 17