Skip to main content

Optimally Sound Sigma Protocols Under DCRA

  • Conference paper

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

Abstract

Given a well-chosen additively homomorphic cryptosystem and a \(\varSigma \) protocol with a linear answer, Damgård, Fazio, and Nicolosi proposed a non-interactive designated-verifier zero knowledge argument in the registered public key model that is sound under non-standard complexity-leveraging assumptions. In 2015, Chaidos and Groth showed how to achieve the weaker yet reasonable culpable soundness notion under standard assumptions but only if the plaintext space order is prime. It makes use of \(\varSigma \) protocols that satisfy what we call the optimal culpable soundness. Unfortunately, most of the known additively homomorphic cryptosystems (like the Paillier Elgamal cryptosystem that is secure under the standard Decisional Composite Residuosity Assumption) have composite-order plaintext space. We construct optimally culpable sound \(\varSigma \) protocols and thus culpably sound non-interactive designated-verifier zero knowledge protocols for NP under standard assumptions given that the least prime divisor of the plaintext space order is large.

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

Buying options

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

Learn about institutional subscriptions

Notes

  1. 1.

    This property is also known under the name of relaxed special soundness [16].

  2. 2.

    Briefly, weak culpable soundness means that it is intractable to cheat while knowing a witness assessing the fact that you are cheating, and also know that your cheating succeeds (i.e., know a witness that certifies that the verification equations hold). In the case of culpable soundness [28], the latter is not needed. See [39] for more details.

  3. 3.

    Chaidos and Groth called it soundness with the unique identifiable challenge.

  4. 4.

    We recall that an argument system is a proof system where soundness only holds against efficient adversaries.

References

  1. Abdolmaleki, B., Baghery, K., Lipmaa, H., Zajac, M.: A Subversion-Resistant SNARK. TR 2017/599, IACR (2017). http://eprint.iacr.org/2017/599

  2. Abe, M., Fehr, S.: Perfect NIZK with adaptive soundness. In: Vadhan, S.P. (ed.) TCC 2007. LNCS, vol. 4392, pp. 118–136. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-70936-7_7

    Chapter  Google Scholar 

  3. Barak, B., Canetti, R., Nielsen, J.B., Pass, R.: Universally composable protocols with relaxed set-up assumptions. In: FOCS 2004, pp. 186–195 (2004)

    Google Scholar 

  4. Barić, N., Pfitzmann, B.: Collision-free accumulators and fail-stop signature schemes without trees. In: Fumy, W. (ed.) EUROCRYPT 1997. LNCS, vol. 1233, pp. 480–494. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-69053-0_33

    Chapter  Google Scholar 

  5. Bellare, M., Fuchsbauer, G., Scafuro, A.: NIZKs with an untrusted CRS: security in the face of parameter subversion. In: Cheon, J.H., Takagi, T. (eds.) ASIACRYPT 2016. LNCS, vol. 10032, pp. 777–804. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53890-6_26

    Chapter  MATH  Google Scholar 

  6. Bellare, M., Rogaway, P.: Random oracles are practical: a paradigm for designing efficient protocols. In: ACM CCS 1993, pp. 62–73 (1993)

    Google Scholar 

  7. Ben-Sasson, E., Chiesa, A., Green, M., Tromer, E., Virza, M.: Secure sampling of public parameters for succinct zero knowledge proofs. In: IEEE SP 2015, pp. 287–304 (2015)

    Google Scholar 

  8. Blum, M., Feldman, P., Micali, S.: Non-interactive zero-knowledge and its applications. In: STOC 1988, pp. 103–112 (1988)

    Google Scholar 

  9. Bowe, S., Gabizon, A., Green, M.D.: A multi-party protocol for constructing the public parameters of the Pinocchio zk-SNARK. TR 2017/602, IACR (2017). http://eprint.iacr.org/2017/602

  10. Bresson, E., Catalano, D., Pointcheval, D.: A simple public-key cryptosystem with a double trapdoor decryption mechanism and its applications. In: Laih, C.-S. (ed.) ASIACRYPT 2003. LNCS, vol. 2894, pp. 37–54. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-40061-5_3

    Chapter  Google Scholar 

  11. Canetti, R., Goldreich, O., Halevi, S.: The random oracle methodology. In: STOC 1998, pp. 209–218 (1998). Revisited

    Google Scholar 

  12. Chaidos, P., Groth, J.: Making sigma-protocols non-interactive without random oracles. In: Katz, J. (ed.) PKC 2015. LNCS, vol. 9020, pp. 650–670. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46447-2_29

    Chapter  Google Scholar 

  13. Ciampi, M., Persiano, G., Siniscalchi, L., Visconti, I.: A transform for NIZK almost as efficient and general as the Fiat-Shamir transform without programmable random oracles. In: Kushilevitz, E., Malkin, T. (eds.) TCC 2016. LNCS, vol. 9563, pp. 83–111. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49099-0_4

    Chapter  MATH  Google Scholar 

  14. Cramer, R., Damgård, I., Schoenmakers, B.: Proofs 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). https://doi.org/10.1007/3-540-48658-5_19

    Chapter  Google Scholar 

  15. Cramer, R., Shoup, V.: Universal hash proofs and a paradigm for adaptive chosen ciphertext secure public-key encryption. In: Knudsen, L.R. (ed.) EUROCRYPT 2002. LNCS, vol. 2332, pp. 45–64. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46035-7_4

    Chapter  Google Scholar 

  16. Damgård, I., Fazio, N., Nicolosi, A.: Non-interactive zero-knowledge from homomorphic encryption. In: Halevi, S., Rabin, T. (eds.) TCC 2006. LNCS, vol. 3876, pp. 41–59. Springer, Heidelberg (2006). https://doi.org/10.1007/11681878_3

    Chapter  Google Scholar 

  17. Damgård, I., Jurik, M.: A generalisation, a simpli.cation and some applications of Paillier’s probabilistic public-key system. In: Kim, K. (ed.) PKC 2001. LNCS, vol. 1992, pp. 119–136. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44586-2_9

    Chapter  MATH  Google Scholar 

  18. Damgård, I., Jurik, M.: A length-flexible threshold cryptosystem with applications. In: Safavi-Naini, R., Seberry, J. (eds.) ACISP 2003. LNCS, vol. 2727, pp. 350–364. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-45067-X_30

    Chapter  Google Scholar 

  19. Danezis, G., Fournet, C., Groth, J., Kohlweiss, M.: Square span programs with applications to succinct NIZK arguments. In: Sarkar, P., Iwata, T. (eds.) ASIACRYPT 2014. LNCS, vol. 8873, pp. 532–550. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-45611-8_28

    Chapter  Google Scholar 

  20. Fauzi, P., Lipmaa, H.: Efficient culpably sound NIZK shuffle argument without random oracles. In: Sako, K. (ed.) CT-RSA 2016. LNCS, vol. 9610, pp. 200–216. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-29485-8_12

    Chapter  Google Scholar 

  21. 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). https://doi.org/10.1007/3-540-47721-7_12

    Chapter  Google Scholar 

  22. Fuchsbauer, G.: Subversion-zero-knowledge SNARKs. TR 2017/587, IACR (2017). http://eprint.iacr.org/2017/587

  23. Gennaro, R., Gentry, C., Parno, B., Raykova, M.: Quadratic span programs and succinct NIZKs without PCPs. In: Johansson, T., Nguyen, P.Q. (eds.) EUROCRYPT 2013. LNCS, vol. 7881, pp. 626–645. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38348-9_37

    Chapter  Google Scholar 

  24. Goldwasser, S., Kalai, Y.T.: On the (In)security of the Fiat-Shamir Paradigm. In: FOCS 2003, pp. 102–113 (2003)

    Google Scholar 

  25. Groth, J.: Simulation-sound NIZK proofs for a practical language and constant size group signatures. In: Lai, X., Chen, K. (eds.) ASIACRYPT 2006. LNCS, vol. 4284, pp. 444–459. Springer, Heidelberg (2006). https://doi.org/10.1007/11935230_29

    Chapter  Google Scholar 

  26. Groth, J.: Short pairing-based non-interactive zero-knowledge arguments. In: Abe, M. (ed.) ASIACRYPT 2010. LNCS, vol. 6477, pp. 321–340. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-17373-8_19

    Chapter  Google Scholar 

  27. Groth, J., Lu, S.: A non-interactive shuffle with pairing based verifiability. In: Kurosawa, K. (ed.) ASIACRYPT 2007. LNCS, vol. 4833, pp. 51–67. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-76900-2_4

    Chapter  Google Scholar 

  28. Groth, J., Ostrovsky, R., Sahai, A.: New techniques for noninteractive zero-knowledge. J. ACM 59(3), 11:1–11:35 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  29. Groth, J., Sahai, A.: Efficient non-interactive proof systems for bilinear groups. In: Smart, N. (ed.) EUROCRYPT 2008. LNCS, vol. 4965, pp. 415–432. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78967-3_24

    Chapter  Google Scholar 

  30. Jakobsson, M., Sako, K., Impagliazzo, R.: Designated verifier proofs and their applications. In: Maurer, U. (ed.) EUROCRYPT 1996. LNCS, vol. 1070, pp. 143–154. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-68339-9_13

    Chapter  Google Scholar 

  31. Jurik, M.J.: Extensions to the Paillier cryptosystem with applications to cryptological protocols. Ph.D. thesis, University of Aarhus, Denmark (2003)

    Google Scholar 

  32. Lindell, Y.: An efficient transform from sigma protocols to NIZK with a CRS and non-programmable random oracle. In: Dodis, Y., Nielsen, J.B. (eds.) TCC 2015. LNCS, vol. 9014, pp. 93–109. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46494-6_5

    Chapter  Google Scholar 

  33. Lipmaa, H.: Progression-free sets and sublinear pairing-based non-interactive zero-knowledge arguments. In: Cramer, R. (ed.) TCC 2012. LNCS, vol. 7194, pp. 169–189. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-28914-9_10

    Chapter  Google Scholar 

  34. Malkin, T., Teranishi, I., Yung, M.: Efficient circuit-size independent public key encryption with KDM security. In: Paterson, K.G. (ed.) EUROCRYPT 2011. LNCS, vol. 6632, pp. 507–526. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-20465-4_28

    Chapter  Google Scholar 

  35. Micciancio, D., Petrank, E.: Simulatable commitments and efficient concurrent zero-knowledge. In: Biham, E. (ed.) EUROCRYPT 2003. LNCS, vol. 2656, pp. 140–159. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-39200-9_9

    Chapter  Google Scholar 

  36. Okamoto, T., Uchiyama, S.: A new public-key cryptosystem as secure as factoring. In: Nyberg, K. (ed.) EUROCRYPT 1998. LNCS, vol. 1403, pp. 308–318. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0054135

    Chapter  Google Scholar 

  37. Paillier, P.: Public-key cryptosystems based on composite degree residuosity classes. In: Stern, J. (ed.) EUROCRYPT 1999. LNCS, vol. 1592, pp. 223–238. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48910-X_16

    Chapter  Google Scholar 

  38. Sander, T.: Efficient accumulators without trapdoor extended abstract. In: Varadharajan, V., Mu, Y. (eds.) ICICS 1999. LNCS, vol. 1726, pp. 252–262. Springer, Heidelberg (1999). https://doi.org/10.1007/978-3-540-47942-0_21

    Chapter  Google Scholar 

  39. Ventre, C., Visconti, I.: Co-sound zero-knowledge with public keys. In: Preneel, B. (ed.) AFRICACRYPT 2009. LNCS, vol. 5580, pp. 287–304. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02384-2_18

    Chapter  Google Scholar 

Download references

Acknowledgments

We would like to thank Jens Groth, Ivan Visconti and anonymous reviewers for insightful comments. The authors were supported by the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 653497 (project PANORAMIX), and by institutional research funding IUT2-1 of the Estonian Ministry of Education and Research.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Helger Lipmaa .

Editor information

Editors and Affiliations

A Preliminaries: DFN

A Preliminaries: DFN

1.1 A.1 RPK Model

In the registered public key (RPK, [3]) model, we assume that everybody has an access to a key registration functionality \(F_{kr}\). A party (say, Alice) generates her public and secret key pair, and then sends both (together with used random coins) to \(F_{kr}\), who verifies that the keys were created correctly (this means that to register her public key, Alice must know the corresponding private key), and then stores the public key together with Alice’s identity in a repository.

Later, Bob (for this, it is not necessary for Bob to register his public key) can query \(F_{kr}\) and then retrieve the public key of Alice together with a corresponding certificate. On the other hand, in security proofs, we may give an adversary control over \(F_{kr}\), enabling access not only to the public but also to the secret key of Alice. While every party can use a different \(F_{kr}\), all parties need to trust \(F_{kr}\) of other parties in the following sense. \(F_{kr}\) guarantees that

  1. (i)

    the public keys of uncorrupted parties are safe (the corresponding secret key is chosen randomly, and kept secret from the adversary), and

  2. (ii)

    the public keys of corrupted parties are well-formed (the functionality has seen the corresponding secret key).

Hence, Alice must trust her \(F_{kr}\) to do key registration correctly, and Bob must trust that Alice’s \(F_{kr}\) has verified that Alice knows the corresponding secret key.

As noted in [3, 16], one can make this model more realistic by letting Alice to send her public key to \(F_{kr}\) and then give an interactive zero knowledge proof that she knows the corresponding private key. In the security proof, we can then construct an adversary who rewinds Alice to extract her private key.

1.2 A.2 NIDVZK Argument Systems

In a non-interactive designated verifier zero knowledge (NIDVZK, [12]) argument system in the RPK model, the verifier has a public key \(\mathcal {Z}{.}\mathsf {pk}\) and a corresponding secret key \(\mathcal {Z}{.}\mathsf {sk}\) specific to this argument system, that she has set up by using a trusted functionality \(F_{kr}\). An NIDVZK argument system \(\mathcal {Z}\) consists of the following three efficient algorithms:

 

\(\mathcal {Z}{.}\mathsf {G}(1^\kappa )\)::

generates, registers (by using \(F_{kr}\)), and then returns a key pair \((\mathcal {Z}{.}\mathsf {sk}, \mathcal {Z}{.}\mathsf {pk})\).

\(\mathcal {Z}{.}\mathsf {P}(\mathcal {Z}{.}\mathsf {pk}, x, w)\)::

given a public key \(\mathcal {Z}{.}\mathsf {pk}\) obtained from \(F_{kr}\), an input \(x\) and a witness w, returns a proof \(\pi \).

\(\mathcal {Z}{.}\mathsf {V}(\mathcal {Z}{.}\mathsf {sk}, x, \pi )\)::

given a secret key, an input \(x\), and a proof \(\pi \), returns either 1 (accept) or 0 (reject).

 

Next, \(\mathcal {Z}= (\mathcal {Z}{.}\mathsf {G}, \mathcal {Z}{.}\mathsf {P}, \mathcal {Z}{.}\mathsf {V})\) is an NIDVZK argument systemFootnote 4 for \(\mathcal {R}\) with culpable soundness for \(\mathcal {R}^{guilt}\), if it is perfectly complete, culpably sound [28] for \(\mathcal {R}^{guilt}\), and statistically (or computationally) composable zero knowledge, given that the parties have access to the certified public key of the verifier. More precise definitions follow.

Let \(\ell _x (\kappa )\) be a polynomial, such that (common) inputs of length \(\ell _x (\kappa )\) correspond to security parameter \(\kappa \). Then let \(\mathcal {R}_\kappa = \{ (x, w): bitlength (x) = \ell _x (\kappa ) \}\) and \(\mathcal {L}_{\mathcal {R}, \kappa } = \{ x: (\exists w) (x, w) \in \mathcal {R}_\kappa \}\), where again w has polynomial length.

\(\mathcal {Z}\) is perfectly complete, if for all \(\kappa \in \mathbb {N}\), all \((x, w) \in \mathcal {R}_\kappa \), and all \((\mathcal {Z}{.}\mathsf {sk}, \mathcal {Z}{.}\mathsf {pk}) \in \mathcal {Z}{.}\mathsf {G}(1^\kappa )\), \(\mathcal {Z}{.}\mathsf {V}(\mathcal {Z}{.}\mathsf {sk}, x, \mathcal {Z}{.}\mathsf {P}(\mathcal {Z}{.}\mathsf {pk}, x, w)) = 1\).

In our constructions we will get zero-knowledge even if the adversary knows the secret verification key. This strong type of zero-knowledge is called composable zero-knowledge in [25] due to it making composition of zero-knowledge arguments easier. More precisely, it is required that even an adversary who knows the secret key (or trapdoor, in the CRS model) cannot distinguish between the real and the simulated argument, [25].

Definition 4

\(\mathcal {Z}\) is computationally composable zero-knowledge if there exists an efficient simulator \(\mathcal {Z}{.}\mathsf {sim}\), such that for all probabilistic polynomial-time stateful adversaries \(\mathcal {A}\),

$$\begin{aligned} \Pr \left[ \begin{aligned}&(\mathcal {Z}{.}\mathsf {sk}, \mathcal {Z}{.}\mathsf {pk}) \leftarrow \mathcal {Z}{.}\mathsf {G}(1^\kappa ), \\&(x, w) \leftarrow \mathcal {A}(\mathcal {Z}{.}\mathsf {sk}, \mathcal {Z}{.}\mathsf {pk}), \\&\pi \leftarrow \mathcal {Z}{.}\mathsf {P}(\mathcal {Z}{.}\mathsf {pk}, x, w): \\&(x, w) \in \mathcal {R}\wedge \mathcal {A}(\pi ) = 1 \end{aligned} \right] \approx _\kappa \Pr \left[ \begin{aligned}&(\mathcal {Z}{.}\mathsf {sk}, \mathcal {Z}{.}\mathsf {pk}) \leftarrow \mathcal {Z}{.}\mathsf {G}(1^\kappa ),\\&(x, w) \leftarrow \mathcal {A}(\mathcal {Z}{.}\mathsf {sk}, \mathcal {Z}{.}\mathsf {pk}), \\&\pi \leftarrow \mathcal {Z}{.}\mathsf {sim}(\mathcal {Z}{.}\mathsf {sk}, x):\\&(x, w) \in \mathcal {R}\wedge \mathcal {A}(\pi ) = 1 \end{aligned} \right] . \end{aligned}$$

\(\mathcal {Z}\) is statistically composable zero-knowledge if this holds for all (not necessarily efficient) adversaries \(\mathcal {A}\). A statistically composable zero-knowledge argument system is perfectly composable, if \(\approx _\kappa \) can be replaced with \(=\) (i.e., the above two probabilities are in fact equal).

In the case of culpable soundness [28], we only consider false statements from some language \(\mathcal {L}_{guilt} \subseteq \overline{\mathcal {L}}\) characterized by a relation \(\mathcal {R}^{guilt}\). We require a successfully cheating prover to output, together with an input \(x\) and a successful argument \(\pi \), also a guilt witness \(w_{guilt}\) such that \((x, w_{guilt}) \in \mathcal {R}^{guilt}\). That is, we require a successful cheater to be aware of the fact that she cheated.

Formally, \(\mathcal {Z}\) is (non-adaptively) culpably sound for \(\mathcal {R}^{guilt}\), if for all probabilistic polynomial-time adversaries \(\mathcal {A}\),

$$\begin{aligned} \Pr \left[ \begin{aligned}&(\mathcal {Z}{.}\mathsf {sk}, \mathcal {Z}{.}\mathsf {pk}) \leftarrow \mathcal {Z}{.}\mathsf {G}(1^\kappa ), (x, \pi , w_{guilt}) \leftarrow \mathcal {A}(\mathcal {Z}{.}\mathsf {pk}):\\&(x, w_{guilt}) \in \mathcal {R}^{guilt} \wedge \mathcal {Z}{.}\mathsf {V}(\mathcal {Z}{.}\mathsf {sk}, x, \pi ) = 1 \end{aligned} \right] \approx _\kappa 0. \end{aligned}$$

Note that culpable soundness is implicitly computational (defined only w.r.t. to an efficient adversary), thus a culpably sound proof system is always an argument system.

In our applications, \(w_{guilt}\) will be the secret key of the cryptosystem, about which the NIDVZK arguments are about. For example, in an NIDVZK argument that the plaintext is 0 (or Boolean), \(w_{guilt}\) is equal to the secret key that enables to decrypt the ciphertext. Such culpable soundness is fine in many applications, as we will discuss at the end of the current subsection.

Finally, for some \(\varrho = \varrho (\kappa )\), \(\mathcal {Z}\) is \(\varrho \)-adaptively culpably sound for \(\mathcal {R}^{guilt}\), if for all probabilistic polynomial-time adversaries \(\mathcal {A}\),

$$\begin{aligned} \Pr \left[ \begin{aligned}&(\mathcal {Z}{.}\mathsf {sk}, \mathcal {Z}{.}\mathsf {pk}) \leftarrow \mathcal {Z}{.}\mathsf {G}(1^\kappa ), (x, \pi , w_{guilt}) \leftarrow \mathcal {A}^{\mathcal {Z}{.}\mathsf {V}(\mathcal {Z}{.}\mathsf {sk}, \cdot , \cdot )} (\mathcal {Z}{.}\mathsf {pk}):\\&(x, w_{guilt}) \in \mathcal {R}^{guilt} \wedge \mathcal {Z}{.}\mathsf {V}(\mathcal {Z}{.}\mathsf {sk}, x, \pi ) = 1 \end{aligned} \right] \approx _\kappa 0. \end{aligned}$$

Here, the adversary is allowed to make up to \(\varrho \) queries to the oracle \(\mathcal {Z}{.}\mathsf {V}\).

As shown in [16], one can handle cases where the adversary has an access to a logarithmic number of queries, simulating their answers by guessing their answers; this still guarantees that her success probability is inverse polynomial.

On Culpable Soundness. We will prove culpable soundness [28] of argument systems about the plaintexts of a cryptosystem by showing that if an adversary outputs an accepting argument and the secret key \(\mathsf {sk}\), then she has broken an underlying assumption. This version of culpable soundness is acceptable since in protocols that we are interested in, there always exists a party (namely, the verifier) who knows \(\mathsf {sk}\). Hence, the cheating adversary together with the verifier can break the (non-culpable) soundness of the argument system.

Thus, such culpable soundness is very natural the RPK model, especially if we assume that the verifier has provided an interactive zero knowledge proof of knowledge of \(\mathsf {sk}\) while registering it with the authority. Then, in the soundness proof, we can just construct an adversary who first retrieves \(\mathsf {sk}\) from the latter zero knowledge proof, and then uses the culpable soundness adversary whom we already have.

1.3 A.3 DFN Transform for the Paillier Elgamal Cryptosystem

Consider the DFN [16] transformation, given the Paillier Elgamal cryptosystem \(\varPi = (\varPi {.}\mathsf {K}, \mathsf {VK}, \mathsf {E}, \mathsf {D})\) where the plaintext space is \(\mathbb {Z}_{N^{s}}\) for some reasonably large s. W.l.o.g., we assume that the same cryptosystem is used to encrypt the challenge e and the witness plaintexts and the same value of s, but by using the different secret and public keys where one secret key \(\mathsf {sk}_e\) is known by the verifier and another secret key \(\mathsf {sk}\) is (possibly) known by the prover. For the sake of efficiency, one could use different cryptosystems or at least different values of s but we will avoid the general case not to clutter the notation.

This transformation assumes that the original \(\varSigma \)-protocol \(\mathcal {S}\) is has a linear answer and optimal culpable soundness using some relation \(\mathcal {R}^{guilt}\), see Sect. 2.3. More precisely, we assume that \(\mathcal {R}^{guilt}\) is as defined by Eq. (9).

The description of the DFN transform is given in Fig. 5. The following theorem and its proof follows [12, 16] in its structure. The part of using the extractor to achieve culpable soundness is from [12] while the idea of letting the constructed adversary \(\mathcal {A}_{\pi }\) answer randomly to oracle queries goes back to [12, 16]. The latter means that we only get \(O (\log \kappa )\)-adaptive soundness.

Theorem 5

Assume that \(\mathcal {S}\) is a complete and computationally (resp., statistically) special HVZK \(\varSigma \) protocol with a linear answer for \(\mathcal {R}\) that is optimally culpably sound for \(\mathcal {R}^{guilt}\). Let \(\varPi = (\mathsf {K}, \mathsf {VK}, \mathsf {E}, \mathsf {D})\) be the Paillier Elgamal cryptosystem. Then the NIDVZK argument system for \(\mathcal {R}\) of Fig. 5 is \(\varrho \)-adaptively computationally culpably sound for \(\mathcal {R}^{guilt}\) of Eq. (9) for \(\varrho = O (\log \kappa )\), and computationally (resp., statistically) composable zero knowledge for \(\mathcal {R}\).

Fig. 5.
figure 5

The DFN transform for the Paillier Elgamal cryptosystem. Here we assume \(s = \max _i \lceil \log _N (z_{2 i} + 1) \rceil \) is fixed by the description of \(\mathcal {S}{.}\mathsf {P}\) and thus known to the verifier

Proof

Adaptive culpable Soundness. We show that if a cheating prover \(\mathcal {A}_{zk}\) returns a good challenge \(e'\) for the NIDVZK argument system with some probability \(\varepsilon = \delta \), then we can break the message recovery security of \(\varPi \) with probability \(\varepsilon _\pi = 1 / (\varrho 2^\varrho ) \delta \).

For this, we note that \(\mathcal {A}_{zk}\) gets information about e from two sources, from \({\varvec{c}}_e\) and from the response of the verifier to different queries. We now construct an adversary \(\mathcal {A}_\pi \) that, given access to \(\mathcal {A}_{zk}\), breaks the message recovery security of \(\varPi \) (where the public key \(\mathcal {Z}{.}\mathsf {pk}\) includes \({\varvec{c}}_e\)). It uses the extractor \(\mathcal {S}{.}\mathsf {EX}\), who — given that the prover is dishonest and such a challenge exists — returns the good challenge \(e'\).

First, the challenger uses \(\mathcal {Z}{.}\mathsf {G}(1^\kappa )\) to generate a secret key \(\mathcal {Z}{.}\mathsf {sk}= (\mathsf {sk}_e, e)\) and a public key \(\mathcal {Z}{.}\mathsf {pk}= (\mathsf {pk}_e, {\varvec{c}}_e)\), and sends \(\mathcal {Z}{.}\mathsf {pk}\) to \(\mathcal {A}_\pi \). \(\mathcal {A}_\pi \) then runs \(\mathcal {A}_{zk}^{\mathcal {Z}{.}\mathsf {V}(\mathcal {Z}{.}\mathsf {sk}; \cdot , \cdot )} (\mathcal {Z}{.}\mathsf {pk})\). Assume \(\mathcal {A}_{zk}\) replies with a tuple \((x_{i}, \pi _{i}, w_{i})\). Since \(\mathcal {A}_{zk}\) is successful, \(\mathcal {A}_\pi \) emulates the verifier by replying with a random bit b. Once \(\mathcal {A}_{zk}\) stops (say after \(\varrho = \varTheta (\log \kappa )\) steps), \(\mathcal {A}_\pi \) chooses uniformly one tuple \((x_{i_0}, \pi _{i_0}, w_{i_0})\), and then runs the extractor with the input \((x_{i_0}, w_{i_0})\), and obtains either “accept”, or a candidate challenge \(e'\). Then, \(\mathcal {A}_\pi \) outputs what the extractor outputs.

With probability \(2^{-\varrho } = 2^{- \varTheta (\log \kappa )} = \kappa ^{- \varTheta (1)}\), all bits that \(\mathcal {A}_\pi \) chose are equal to the bits that the verifier would have sent. Since \(\mathcal {A}_{zk}\) is successful, then with a non-negligible probability, one of the input/argument tuples, say \((x_{i_1}, \pi _{i_1}, w_{i_1})\), is such that \((x_{i_1}, w_{i_1}) \in \mathcal {R}^{guilt}\) but the verifier accepts. With probability \(1 / \varrho = \varTheta (1 / \log \kappa )\), \(i_0 = i_1\). Thus, with probability \(\varepsilon _\pi = \frac{\delta }{\varrho 2^\varrho } = \kappa ^{- \varTheta (1)}\), \(\mathcal {A}_\pi \) has given to the extractor an input \((x_{i_0}, w_{i_0}) \in \mathcal {R}^{guilt}\) such that there exists \(\pi _{i_0}\) such that the verifier accepts \((x_{i_0}, \pi _{i_0}, w_{i_0})\). With such inputs, since the verifier accepts, there exists a good challenge \(e'\), and the extractor outputs it. In this case, \(\mathcal {A}_\pi \) has returned a good \(e'\).

Finally, if the verifier accepts then due to the optimal culpable soundness, the value \(e'\) returned by the extractor must be equal to the value e that has been encrypted by \({\varvec{c}}_e\). Since the only information that \(\mathcal {A}_{\pi }\) has about e is given in \({\varvec{c}}_e\) (since \(\mathcal {A}_\pi \)’s random answers do not reveal anything), this means that \(\mathcal {A}_{\pi }\) has returned the plaintext of \({\varvec{c}}_e\) with non-negligible probability, and thus break the message recovery security of \(\varPi \).

Composable Zero Knowledge. Assume that \((\mathcal {Z}{.}\mathsf {sk}, \mathcal {Z}{.}\mathsf {pk}) \leftarrow \mathcal {Z}{.}\mathsf {G}(1^\kappa )\), and \((x, w) \leftarrow \mathcal {A}(\mathcal {Z}{.}\mathsf {sk}, \mathcal {Z}{.}\mathsf {pk})\). The simulator \(\mathcal {Z}{.}\mathsf {sim}(\mathcal {Z}{.}\mathsf {sk}, x)\) can obtain e from \({\varvec{c}}_e\) by decrypting it. Given e, he runs \(\mathcal {S}{.}\mathsf {sim}(x, e)\) to obtain an accepting view \(({\varvec{c}}_a, e, {\varvec{z}})\). He then computes \({\varvec{c}}_z \leftarrow \mathsf {E}_{\mathsf {pk}_e} ({\varvec{z}})\) and returns \(\pi \leftarrow ({\varvec{c}}_a, {\varvec{c}}_z)\).

We now show that the transcript comes from a distribution that is indistinguishable from that of the real view. Consider the following hybrid simulator \(\mathcal {Z}{.}\mathsf {sim}^w\) that gets the witness w as part of the input. \(\mathcal {Z}{.}\mathsf {sim}^w\) does the following:

  1. 1.

    Create \(({\varvec{c}}_a, {\varvec{z}}_1, {\varvec{z}}_2) \leftarrow \mathcal {S}{.}\mathsf {P}(x, w)\) and the \(\varSigma \) protocol transcript \(({\varvec{c}}_a, e, {\varvec{z}})\), \({\varvec{z}} \leftarrow e {\varvec{z}}_\mathbf{1 } + {\varvec{z}}_\mathbf{2 }\), by following the \(\varSigma \)-protocol.

  2. 2.

    Encrypt \({\varvec{z}}\) component-wise to get \({\varvec{c}}_z\).

  3. 3.

    Return \(\pi \leftarrow ({\varvec{c}}_a, {\varvec{c}}_z)\)

Since the encryption scheme is blindable, such a hybrid argument is perfectly indistinguishable from the real argument. Since the \(\varSigma \)-protocol is specially HVZK, hybrid arguments and simulated arguments are computationally indistinguishable. If the \(\varSigma \)-protocol is statistically specially HVZK, then hybrid arguments and simulated arguments (and thus also real arguments and simulated arguments) are statistically indistinguishable.    \(\square \)

Rights and permissions

Reprints and permissions

Copyright information

© 2017 International Financial Cryptography Association

About this paper

Cite this paper

Lipmaa, H. (2017). Optimally Sound Sigma Protocols Under DCRA. In: Kiayias, A. (eds) Financial Cryptography and Data Security. FC 2017. Lecture Notes in Computer Science(), vol 10322. Springer, Cham. https://doi.org/10.1007/978-3-319-70972-7_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-70972-7_10

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-70971-0

  • Online ISBN: 978-3-319-70972-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics