Skip to main content

NM-CPA Secure Encryption with Proofs of Plaintext Knowledge

  • Conference paper
  • First Online:
Advances in Information and Computer Security (IWSEC 2015)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 9241))

Included in the following conference series:

Abstract

NM-CPA secure asymmetric encryption schemes which prove plaintext knowledge are sufficient for secrecy and verifiability in some domains, for example, ballot secrecy and end-to-end verifiability in electronic voting. In these domains, some applications derive encryption schemes by coupling malleable IND-CPA secure ciphertexts with proofs of plaintext knowledge, without evidence that the sufficient condition is satisfied nor an independent security proof. Consequently, it is unknown whether these applications satisfy the desired secrecy and verifiability properties. In this paper, we propose a generic construction for such a coupling and prove that our construction produces NM-CPA secure encryption schemes which prove plaintext knowledge. Accordingly, we facilitate the development of applications satisfying their secrecy and verifiability objectives and, moreover, we make progress towards security proofs for existing applications.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Let \(\mathsf {A}(x_1,\dots ,x_n; r)\) denote the output of probabilistic algorithm \(\mathsf {A}\) on input \(x_1,\dots ,x_n\) and random coins r. We write \(A(x_1,\dots ,x_n)\) for \(A(x_1,\dots ,x_n;r)\), where r is chosen uniformly at random. Assignment of \(\alpha \) to x is written \(x\leftarrow \alpha \).

  2. 2.

    The assignment of a random element from set S to x is written \(x\leftarrow _R S\).

  3. 3.

    Vectors are denoted using boldface, for example, \(\mathbf{x}\). We write \(|\mathbf{x}|\) to denote the length of a vector \(\mathbf{x}\) and \(\mathbf{x}[i]\) for the ith component of the vector, where \(\mathbf{x} = (\mathbf{x}[1],\dots ,\mathbf{x}[|\mathbf{x}|])\). We extend set membership notation to vectors: we write \(x\in \mathbf{x}\) (respectively, \(x\not \in \mathbf{x}\)) if x is an element (respectively, x is not an element) of the set \(\{ \mathbf{x}[i] : 1 \le i \le |\mathbf{x}| \}\). We also extend notation for assignment: we write \(\mathbf{x} \leftarrow A(\mathbf{y})\) for \(\mathbf{x}[1] \leftarrow A(\mathbf{y}[1]); \dots ; \mathbf{x}[|\mathbf{y}|] \leftarrow A(\mathbf{y}[|\mathbf{y}|])\). We write \(R(x,\mathbf{x})\) for \(R(x,\mathbf{x}[1],\dots ,\mathbf{x}[t-1])\), where R is a relation of arity t, \(|\mathbf{x}| = t -1\), and t is polynomial in the security parameter.

  4. 4.

    We write “for any x output by \(A(x_1,\dots ,x_n)\)” for the universal quantification over x such that x is a result of running probabilistic algorithm A on input \(x_1,\dots ,x_n\), i.e., \(x = A(x_1,\dots ,x_n; r)\) for some coins r.

    We denote multisets as \(\{|\, x_1,\dots ,x_n \,|\}\) and write \(\emptyset _M\) for the empty multiset. The multiset union operator is denoted \(\cup _M\) and the multiset intersection operator is denoted \(\cap _M\). We write |S| for the cardinality of multiset S.

  5. 5.

    Groth [24, 25] proves that a special case of the construction proposed by Damgård, Jurik & Nielsen satisfies a notion of secrecy used in electronic voting systems.

References

  1. Adida, B., Marneffe, O., Pereira, O., Quisquater, J.: Electing a University President using open-audit voting: analysis of real-world use of Helios. In: EVT/WOTE 2009: Electronic Voting Technology Workshop/Workshop on Trustworthy Elections. USENIX Association (2009)

    Google Scholar 

  2. Bellare, M., Desai, A., Pointcheval, D., Rogaway, P.: Relations among notions of security for public-key encryption schemes. In: Krawczyk, H. (ed.) CRYPTO 1998. LNCS, vol. 1462, p. 26. Springer, Heidelberg (1998)

    Google Scholar 

  3. Bellare, M., Rogaway, P.: Random oracles are practical: a paradigm for designing efficient protocols. In: CCS 1993: 1st ACM Conference on Computer and Communications Security, pp. 62–73. ACM Press (1993)

    Google Scholar 

  4. Bellare, M., Sahai, A.: Non-malleable encryption: equivalence between two notions, and an indistinguishability-based characterization. Cryptology ePrint Archive, Report 2006/228 (2006)

    Google Scholar 

  5. Benaloh, J., Yung, M.: Distributing the power of a government to enhance the privacy of voters. In: PODC 1986: 5th Principles of Distributed Computing Symposium, pp. 52–62. ACM Press (1986)

    Google Scholar 

  6. Bernhard, D.: Private email communication, 15th March 2012

    Google Scholar 

  7. Bernhard, D., Cortier, V., Pereira, O., Smyth, B., Warinschi, B.: Adapting Helios for provable ballot privacy. In: Atluri, V., Diaz, C. (eds.) ESORICS 2011. LNCS, vol. 6879, pp. 335–354. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  8. Bernhard, D., Pereira, O., Warinschi, B.: How not to prove yourself: pitfalls of the Fiat-Shamir Heuristic and applications to Helios. In: Wang, X., Sako, K. (eds.) ASIACRYPT 2012. LNCS, vol. 7658, pp. 626–643. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  9. Bernhard, D., Pereira, O., Warinschi, B.: On Necessary and sufficient conditions for private ballot submission. Cryptology ePrint Archive, Report 2012/236 (2012)

    Google Scholar 

  10. Bernhard, D., Smyth, B.: Ballot secrecy with malicious bulletin boards. Cryptology ePrint Archive, Report 2014/822 (2014)

    Google Scholar 

  11. Canetti, R., Halevi, S., Katz, J.: Chosen-ciphertext security from identity-based encryption. In: Cachin, C., Camenisch, J.L. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 207–222. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  12. Chaum, D., Pedersen, T.P.: Wallet databases with observers. In: Brickell, E.F. (ed.) CRYPTO 1992. LNCS, vol. 740, pp. 89–105. Springer, Heidelberg (1993)

    Google Scholar 

  13. Clark, J.: Private email communication, 4th April 2012

    Google Scholar 

  14. Cohen, J.D., Fischer, M.J.: A robust and verifiable cryptographically secure election scheme. In: FOCS 1985: 26th Symposium on Foundations of Computer Science, pp. 372–382. IEEE Computer Society (1985)

    Google Scholar 

  15. Cortier, V., Smyth, B.: Attacking and fixing Helios: an analysis of ballot secrecy. In: CSF’11: 24th Computer Security Foundations Symposium, pp. 297–311. IEEE Computer Society (2011)

    Google Scholar 

  16. Cortier, V., Smyth, B.: Attacking and fixing Helios: an analysis of ballot secrecy. Cryptology ePrint Archive, Report 2010/625 (version 20111110:012334) (2011)

    Google Scholar 

  17. Cortier, V., Smyth, B.: Attacking and fixing Helios: an analysis of ballot secrecy. J. Comput. Secur. 21(1), 89–148 (2013)

    Google Scholar 

  18. Cramer, R., Damgård, I.B., Schoenmakers, B.: Proof of partial knowledge and simplified design of witness hiding protocols. In: Desmedt, Y.G. (ed.) CRYPTO 1994. LNCS, vol. 839, pp. 174–187. Springer, Heidelberg (1994)

    Google Scholar 

  19. Cramer, R., Franklin, M.K., Schoenmakers, B., Yung, M.: Multi-authority secret-ballot elections with linear work. In: Maurer, U.M. (ed.) EUROCRYPT 1996. LNCS, vol. 1070, pp. 72–83. Springer, Heidelberg (1996)

    Google Scholar 

  20. Damgård, I., Jurik, M.: A generalisation, a simplification and some applications of Paillier’s probabilistic public-key system. In: Kim, K. (ed.) PKC 2001. LNCS, vol. 1992. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  21. Damgård, I., Jurik, M., Nielsen, J.B.: A generalization of Paillier’s public-key system with applications to electronic voting. Int. J. Inf. Secur. 9(6), 371–385 (2010)

    Article  Google Scholar 

  22. Fiat, A., Shamir, A.: How to prove yourself: practical solutions to identification and signature problems. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 186–194. Springer, Heidelberg (1987)

    Google Scholar 

  23. Fujisaki, E., Okamoto, T.: How to enhance the security of public-key encryption at minimum cost. In: Imai, H., Zheng, Y. (eds.) PKC 1999. LNCS, vol. 1560, p. 53. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  24. Groth, J.: Extracting witnesses from proofs of knowledge in the random oracle model. Technical report RS-01-52, Basic Research in Computer Science (BRICS) (2001)

    Google Scholar 

  25. Groth, J.: Evaluating security of voting schemes in the universal composability framework. In: Jakobsson, M., Yung, M., Zhou, J. (eds.) ACNS 2004. LNCS, vol. 3089, pp. 46–60. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  26. Hirt, M.: Receipt-free K-out-of-L voting based on ElGamal encryption. In: Chaum, D., Jakobsson, M., Rivest, R.L., Ryan, P.Y.A., Benaloh, J., Kutylowski, M., Adida, B. (eds.) Towards Trustworthy Elections. LNCS, vol. 6000, pp. 64–82. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  27. Hirt, M., Sako, K.: Efficient receipt-free voting based on homomorphic encryption. In: Preneel, B. (ed.) EUROCRYPT 2000. LNCS, vol. 1807, pp. 539–556. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  28. Kremer, S., Ryan, M., Smyth, B.: Election verifiability in electronic voting protocols. In: Gritzalis, D., Preneel, B., Theoharidou, M. (eds.) ESORICS 2010. LNCS, vol. 6345, pp. 389–404. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  29. Sako, K., Kilian, J.: Secure voting using partially compatible homomorphisms. In: Desmedt, Y.G. (ed.) CRYPTO 1994. LNCS, vol. 839, pp. 411–424. Springer, Heidelberg (1994)

    Google Scholar 

  30. Schneier, B.: Hacking the Papal Election (2013)

    Google Scholar 

  31. Smyth, B.: Formal verification of cryptographic protocols with automated reasoning. Ph.D. thesis, School of Computer Science, University of Birmingham (2011)

    Google Scholar 

  32. Smyth, B.: Replay attacks that violate ballot secrecy in Helios. Cryptology ePrint Archive, Report 2012/185 (2012)

    Google Scholar 

  33. Smyth, B., Bernhard, D.: Ballot secrecy and ballot independence coincide. In: Crampton, J., Jajodia, S., Mayes, K. (eds.) ESORICS 2013. LNCS, vol. 8134, pp. 463–480. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  34. Smyth, B., Bernhard, D.: Ballot secrecy and ballot independence: definitions and relations. Cryptology ePrint Archive, Report 2013/235 (version: 20141010:082554) (2014)

    Google Scholar 

  35. Smyth, B., Frink, S., Clarkson, M.R.: Computational election verifiability: definitions and an analysis of Helios and JCJ. Cryptology ePrint Archive, Report 2015/233 (2015)

    Google Scholar 

  36. Smyth, B., Ryan, M., Kremer, S., Kourjieh, M.: Towards automatic analysis of election verifiability properties. In: Armando, A., Lowe, G. (eds.) ARSPA-WITS 2010. LNCS, vol. 6186, pp. 146–163. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  37. Wikström, D.: Simplified submission of inputs to protocols. In: Ostrovsky, R., De Prisco, R., Visconti, I. (eds.) SCN 2008. LNCS, vol. 5229, pp. 293–308. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

Download references

Acknowledgements

We are grateful to Ben Adida, David Bernhard, Véronique Cortier, Olivier Pereira, Elizabeth Quaglia and Bogdan Warinschi for extensive discussion leading to this result. We are also grateful to the anonymous reviewers for their helpful suggestions. Smyth’s work was largely conducted as part of the Toshiba Fellowship Programme atToshiba Corporation, Kawasaki, Japan.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ben Smyth .

Editor information

Editors and Affiliations

A Proof of Theorem 1

A Proof of Theorem 1

Suppose \(\varGamma (\varPi , \varSigma ,k)\) does not satisfy IND-1-CPA, hence \(\mathsf{IND }{\text {-}}1{\text {-}}\mathsf{CPA }_{\mathcal A, \varGamma (\varPi , \varSigma ,k)}(\kappa ) \ge \mathsf {negl}(\kappa )\) for some adversary \(\mathcal {A} = (A_1, A_2)\), negligible function f, and security parameter \(\kappa \). We construct an adversary \(\mathcal {B} = (B_1, B_2)\) against IND-CPA using \(\mathcal A\). Let \(\mathsf {S}_i\) be an event such that \(b^* = b\) in the game i.

1.1 A.1 Game 0: IND-1-CPA

Game 0 is derived from IND-1-CPA by replacing the challenger with oracles:

  1. 1.

    \(A_1\) takes \((pk, \mathfrak {m}')\) from the key generation oracle KG.

  2. 2.

    \(A_1\) chooses \(M_0, M_1 \in \mathfrak {m}'\) such that \(|M_0| = |M_1|\) and sends \(M_0\) and \(M_1\) to the challenge oracle E. \(A_1\) outputs \((M_0, M_1, s)\), where s is some state.

  3. 3.

    \(A_2\) takes \((M_0, M_1, s, C^*)\) from E, where \(C^*\) is a challenge ciphertext.

  4. 4.

    \(A_2\) sends ciphertexts \((C'_1, \dots C'_m)\) to the decryption oracle D and D responds with the corresponding plaintexts \((M'_1, \dots , M'_m)\) or the error symbol \(\perp \).

  5. 5.

    Finally, \(A_2\) outputs \(b' \in [0,1]\).

The challenge and decryption oracles are defined in Tables 1 and 2, and the key generation and random oracle are defined as follows.

  • Key generation oracle KG. The oracle takes a security parameter \(\kappa \) as input, computes \(( pk , sk , \mathfrak {m}') \leftarrow \mathsf {Gen}'(\kappa )\), and outputs \((pk, \mathfrak {m}')\).

  • Random oracle Chal. The oracle takes \((i, pk , c, \mathsf {comm})\) as input and if \(((i, pk , c,\mathsf {comm}), \mathsf {chal}) \in L_{Chal}\), then Chal outputs \(\mathsf {chal}\), otherwise, Chal chooses \(\mathsf {chal} \in \mathcal {CH}\) uniformly at random, where \(\mathcal {CH}\) is the range of \(\mathsf {Chal}\), outputs \(\mathsf {chal}\) and adds \(((i, pk , c, \mathsf {comm}), \mathsf {chal})\) to \(L_{Chal}\).

By definition of IND-1-CPA, we have: \( | \Pr [\mathsf {S}_0] - \frac{1}{2} | = \mathsf{IND }\text {-}1\text {-}\mathsf{CPA } _{\mathcal {A}, \varGamma } (\kappa ). \)

1.2 A.2 Game 1: Simulate Decryption Oracle

Game 1 uses simulation sound extractability to simulate the decryption oracle without knowledge of \( sk \). Formally, the simulation of the decryption oracle is presented in Table 2, where \(i^* \in [1,k]\) is chosen by \(\mathcal {B}\) uniformly at random. In the case \(c'_{i,j} = c_{b,i} \wedge i\not =i^*\), the simulator knows the plaintext \(m_{b,i}\) corresponding to \(c_{b,i}\). In the case \(c'_{i,j} \not = c_{b,i} \wedge i\not =i^*\), due to [8, Theorem 1], a plaintext \(m'_{i,j}\) and a coin \(r'_{i,j}\) can be extracted from the ciphertext \(c'_{i,j}\) with non-negligible probability using an extractor \(\mathcal {K}\). In the remaining case, \(m'_{k+1,j} = m'_{1,j} \oplus \dots \oplus m'_{i^*-1,j} \oplus m'_{i^*,j} \oplus m'_{i^* + 1,j} \oplus \dots \oplus m'_{k,j}\) and \(m'_{i^* ,j}\) can be computed as \(m'_{k+1,j} \oplus ^{-1} (m'_{1,j} \oplus \dots \oplus m'_{i^* -1,j} \oplus m'_{i^* + 1,j} \oplus \dots \oplus m'_{k,j})\).

Let \(\mathsf {F}_1\) be the event that occurs if \(\mathcal {K}\) cannot extract \(m'_{i,j}\) and \(r'_{i,j}\), i.e., \(c'_{i,j} \not = \mathsf {Enc}_{pk}(m'_{i,j}; r'_{i,j})\) or \(\mathcal {K}\) halts with no output. Game 0 and Game 1 are the same when \(\mathsf {F}_1\) does not occur. Since \(\mathsf {F}_1\) never occurs in Game 0, we have \(\Pr [\mathsf {S}_0] = \Pr [\mathsf {S}_1 | \lnot \mathsf {F}_1]\). Moreover, we have an extractor such that \(\Pr [\lnot \mathsf {F}_1] = \delta _1\), where \(\delta _1\) is a non-negligible (i.e., \(\delta _1\) is a success probability of \(\mathcal {K}\)). \(\mathcal {B}\) can detect whether \(F_1\) occurs, by checking \(c'_{i,j} = \mathsf {Enc}_{pk}(m'_{i,j}, r'_{i,j})\). Let \(\mathcal {B}\) decide \(b' \in \{ 0,1 \}\) uniformly at random if \(\mathsf {F}_1\) occurs, hence, \(\Pr [\mathsf {S}_1 | \mathsf {F}_1] = 1/2\). We have:

$$\begin{aligned} \Pr [\mathsf {S}_1]&= \Pr [\mathsf {S}_1 \wedge \lnot \mathsf {F}_1] + \Pr [\mathsf {S}_1 \wedge \mathsf {F}_1] = \Pr [\lnot \mathsf {F}_1] \cdot \Pr [ \mathsf {S}_1 | \lnot \mathsf {F}_1] + \Pr [ \mathsf {F}_1] \cdot \Pr [\mathsf {S}_1 | \mathsf {F}_1] \\&= \Pr [\lnot \mathsf {F}_1] \cdot \Pr [\mathsf {S}_0] + 1/2\cdot \Pr [\mathsf {F}_1] \\&= \delta _1 \cdot (1/2 + \mathsf{IND }\text {-}1\text {-}\mathsf{CPA }_{\mathcal {A}, \varGamma } (\kappa ) ) + 1/2\cdot (1- \delta _1 ) \\&= 1/2 + \delta _1 \cdot \mathsf{IND }\text {-}1 \text {-}\mathsf{CPA }_{\mathcal {A}, \varGamma } (\kappa ). \end{aligned}$$
Table 1. Challenge oracle and simulator E (Assume \(M_0 = (m_{0,1},\dots , m_{0,k})\) and \(M_1 = (m_{1,1},\dots , m_{1,k})\) are vectors of plaintexts, and parsing always succeeds. Let [1, k] be \(\{ 1, 2, \dots , k \}\), where k is a positive integer. Let \(\mathcal {R}\) be the random number space of \(\varPi \) and \(\varSigma \), and let \(\mathcal {CH}\) be the range of \(\mathsf {Chal}.\))
Table 2. Decryption oracle and simulator D (Assume \(\mathbf{C}'\) is a vector \((C'_1, \dots , C'_m)\) for some positive integer m represented by polynomial of the security parameter \(\kappa \). Let [1, k] be \(\{ 1, \dots , k \}\), where k is a positive integer. Assume each \(C'_j\) is a vector \((c'_{1,j}, \mathsf {comm}'_{1,j}, \mathsf {resp}'_{1,j},\) \(\dots , c'_{k,j}, \mathsf {comm}'_{k,j}, \mathsf {resp}'_{k,j},\) \(\mathsf {comm}'_{k+1, j}, \mathsf {resp}'_{k+1, j})\). We say \(c'_{i,j}\) is valid if \(\mathsf {Verify}(( pk , c'_{i, j}), (\mathsf {comm}'_{i, j}, \mathsf {chal}'_{i,j}, \mathsf {resp}'_{i, j})) = \top \). Let \(m_{b,i}\) be the plaintext encapsulated inside challenge ciphertext \(c_{b,i}\). The decryption oracle can obtain \(m_{b,i}\), because \(m_{b,i}\) is chosen by the challenge oracle, which is part of the simulator. Let \(\oplus ^{-1}\) be an inverse operator of \(\oplus .\))

1.3 A.3 Game 2: Simulate the Challenge Oracle

Game 2 uses the special honest verifier zero knowledge (special HVZK) property to simulate the challenge oracle. Table 1 formalises the simulator. By Definition 6, \(\mathcal {B}\) can compute \((\mathsf {comm}, \mathsf {resp})\) from a correct ciphertext c and challenge \(\mathsf {chal}\) such that \(\mathsf {Verify}((pk,c), (\mathsf {comm}, \mathsf {chall}, \mathsf {resp}))= {\top }\). But, if the random oracle has already been queried with \((i^*, pk , c_{b,i^*},\mathsf {comm}_{b,i^*})\) or \((k+1, pk , c_b, \mathsf {comm}_{b})\), then \(\mathcal {B}\) fails to compute the challenge ciphertext. Let \(\mathsf {F}_2\) be the event that \(\mathcal {B}\) fails. Game 1 and Game 2 are the same, when \(\mathsf {F}_2\) does not occur. Since \(\mathsf {F}_2\) never occurs in Game 1, we have \(\Pr [\mathsf {S}_1] = \Pr [\mathsf {S}_2 | \lnot \mathsf {F}_2]\). Let \(\Pr [\lnot \mathsf {F}_2] = \delta _2\). Since coins \(\{ r_j \}_{j \in [1,k]}\) are chosen from a large space, \(\delta _2\) is non-negligible. Let \(\mathcal {B}\) decide \(b' \in \{ 0,1 \}\) uniformly at random if \(\mathsf {F}_2\) occurs, hence, \(\Pr [\mathsf {S}_2 | \mathsf {F}_2] = 1/2\). We have

$$\begin{aligned} \Pr [\mathsf {S}_2]&= \Pr [\mathsf {S}_2 \wedge \mathsf {F}_2] + \Pr [\mathsf {S}_2 \wedge \lnot \mathsf {F}_2] = \Pr [\mathsf {F}_2] \cdot \Pr [\mathsf {S}_2 | \mathsf {F}_2] + \Pr [\lnot \mathsf {F}_2] \cdot \Pr [ \mathsf {S}_2 | \lnot \mathsf {F}_2] \nonumber \\&= 1/2\cdot \Pr [ \mathsf {F}_2] + \Pr [\lnot \mathsf {F}_2] \cdot \Pr [ \mathsf {S}_1 ] \nonumber \\&= 1/2\cdot (1- \delta _2) + \delta _2 \cdot (1/2 + \delta _1 {textsf{IND}}\text {-}1\text {-}\mathsf{CPA }_{\mathcal {A}, \varGamma } (\kappa )) \nonumber \\&= 1/2 + \delta _1 \cdot \delta _2 \cdot \mathsf{IND }\text {-}1\text {-}\mathsf{CPA }_{\mathcal {A}, \varGamma } (\kappa ) \end{aligned}$$
(1)

1.4 A.4 Game 3: Embed a Challenge Ciphertext

Game 3 embeds \(\mathcal {B}\)’s challenge ciphertext as the \(i^*\)th ciphertext in the vector of challenge ciphertexts sent to \(\mathcal {A}\). Formally, the embedding is handled by the decryption oracle (Table 2), where \(i^* \in [1,k]\) is chosen by \(\mathcal {B}\).

Let \(H_0\) be Game 2 modified such that b is always 1 and let \(H_n\) be Game 2 when b is always 0. For \(0 < i < k\), let \(H_i\) be \(H_{i-1}\) modified such that the first \(3\cdot i\) elements of the challenge ciphertext are generated from \(M_0\) and the remaining elements of the challenge ciphertext are generated from \(M_1\). If \(b^* = 1\), then the challenge ciphertext that \(\mathcal {B}\) inputs to \(\mathcal {A}\) is the same as the hybrid game \(H_{i^*-1}\), since \(c^* = c_{1,i^*} = \mathsf {Enc}_{ pk }(m_{1,i^*}; r_{i^*})\). Otherwise (\(b^*=0\)), \(\mathcal {B}\)’s input to \(\mathcal {A}\) is the same as the game \(H_{i^*}\), since \(c^* = c_{0,i^*} = \mathsf {Enc}_{ pk }(m_{0,i^*}; r_{i^*})\). Let \(\mathsf {E}_i\) be an event that occurs if \(\mathcal {A}\) outputs 1 in \(H_i\), then \(|\Pr [\mathsf {E}_{i-1}] - \Pr [\mathsf {E}_i]| \le \mathsf{IND }\text {-}\mathsf{CPA } _{\mathcal {B}, \varPi } (\kappa )\) holds. By a hybrid argument, we have

$$\begin{aligned} |\Pr [\mathsf {E}_{0}] - \Pr [\mathsf {E}_{k}]| \le \sum _{i=1}^{k} |\Pr [\mathsf {E}_{i-1}] - \Pr [\mathsf {E}_i]| \le k \cdot \mathsf{IND }\text {-}\mathsf{CPA } _{\mathcal {B}, \varPi } (\kappa ) \end{aligned}$$
(2)

Moreover, since

$$\begin{aligned} |2\cdot \Pr [\mathsf {S}_2] -1|&= |2\cdot (\Pr [\mathcal {A} \rightarrow 1 \text{ in } \text{ Game } \text{2 } \wedge b=1] \\&\qquad + \Pr [\mathcal {A} \rightarrow 0 \text{ in } \text{ Game } \text{2 } \wedge b=0]) -1| \\&= |2\cdot (\Pr [b=1] \cdot \Pr [\mathcal {A} \rightarrow 1 \text{ in } \text{ Game } \text{2 } | b=1] \\&\qquad + \Pr [b=0] \cdot \Pr [\mathcal {A} \rightarrow 0 \text{ in } \text{ Game } \text{2 } | b=0]) -1|\\&= |\Pr [\mathcal {A} \rightarrow 1 \text{ in } \text{ Game } \text{2 } | b=1] \\&\qquad + (1 - \Pr [\mathcal {A} \rightarrow 1 \text{ in } \text{ Game } \text{2 } | b=0]) -1| \\&= |\Pr [\mathsf {E}_0] + (1 - \Pr [\mathsf {E}_{k}]) -1| \\&= |\Pr [\mathsf {E}_0] - \Pr [\mathsf {E}_{k}]| \end{aligned}$$

We have, by (1), that

$$\begin{aligned} |\Pr [\mathsf {E}_0] - \Pr [\mathsf {E}_{k}]| = 2 \cdot \delta _1 \cdot \delta _2 \cdot {\mathsf{IND }\text {-}1\text {-}\mathsf{CPA }} _{\mathcal {A}, \varGamma } (\kappa ) \end{aligned}$$
(3)

We have \(2 \cdot \delta _1 \cdot \delta _2 \cdot \mathsf{IND }\)-1-\(\mathsf{CPA } _{\mathcal {A}, \varGamma } (\kappa ) \) is non-negligible. By (2) and (3), we have \(|\Pr [\mathsf {E}_{i-1}] - \Pr [\mathsf {E}_i]|\) is non-negligible too, i.e., \(\mathsf{IND }\)-1-\(\mathsf{CPA } _{\mathcal {B}, \varPi } (\kappa ) \) is non-negligible. It follows by Proposition 1 that \(\varGamma \) satisfies NM-CPA.    \(\Box \)

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Smyth, B., Hanatani, Y., Muratani, H. (2015). NM-CPA Secure Encryption with Proofs of Plaintext Knowledge. In: Tanaka, K., Suga, Y. (eds) Advances in Information and Computer Security. IWSEC 2015. Lecture Notes in Computer Science(), vol 9241. Springer, Cham. https://doi.org/10.1007/978-3-319-22425-1_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-22425-1_8

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-22424-4

  • Online ISBN: 978-3-319-22425-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics