Skip to main content
Log in

Compact NIZKs from Standard Assumptions on Bilinear Maps

  • Research Article
  • Published:
Journal of Cryptology Aims and scope Submit manuscript

Abstract

A non-interactive zero-knowledge (NIZK) protocol enables a prover to convince a verifier of the truth of a statement without leaking any other information by sending a single message. The main focus of this work is on exploring short pairing-based NIZKs for all \({{\textbf {NP}}}\) languages based on standard assumptions. In this regime, the seminal work of Groth, Ostrovsky, and Sahai (J.ACM’12) (GOS-NIZK) is still considered to be the state-of-the-art. Although fairly efficient, one drawback of GOS-NIZK is that the proof size is multiplicative in the circuit size computing the \({{\textbf {NP}}}\) relation. That is, the proof size grows by \(O(|C|\kappa )\), where C is the circuit for the \({{\textbf {NP}}}\) relation and \(\kappa \) is the security parameter. By now, there have been numerous follow-up works focusing on shortening the proof size of pairing-based NIZKs, however, thus far, all works come at the cost of relying either on a non-standard knowledge-type assumption or a non-static q-type assumption. Specifically, improving the proof size of the original GOS-NIZK under the same standard assumption has remained as an open problem. Our main result is a construction of a pairing-based NIZK for all of \({{\textbf {NP}}}\) whose proof size is additive in |C|, that is, the proof size only grows by \(|C| +\textsf{poly}(\kappa )\), based on the computational Diffie-Hellman assumption over specific pairing-free groups and decisional linear (DLIN) assumption. As by-products of our main result, we also obtain the following two results: (1) We construct a perfectly zero-knowledge NIZK (NIPZK) for \({{\textbf {NP}}}\) relations computable in \({{\textbf {NC}}}^1\) with proof size \(|w| \cdot \textsf{poly}(\kappa )\) where |w| is the witness length based on the DLIN assumption. This is the first pairing-based NIPZK for a non-trivial class of \({{\textbf {NP}}}\) languages whose proof size is independent of |C| based on a standard assumption. (2) We construct a universally composable (UC) NIZK for \({{\textbf {NP}}}\) relations computable in \({{\textbf {NC}}}^1\) in the erasure-free adaptive setting whose proof size is \(|w| \cdot \textsf{poly}(\kappa )\) from the DLIN assumption. This is an improvement over the recent result of Katsumata, Nishimaki, Yamada, and Yamakawa (CRYPTO’19), which gave a similar result based on a non-static q-type assumption. The main building block for all of our NIZKs is a constrained signature scheme with decomposable online-offline efficiency. This is a property which we newly introduce in this paper and construct from the DLIN assumption. We believe this construction is of an independent interest.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. In the introduction, we do not distinguish between proofs and arguments for simplicity.

  2. The journal version by Katsumata et al. [56] is a merged paper of two conference papers [53, 54]. However, the journal version presents only the contents about “designated-verifier” NIZKs. It includes neither results of NIZKs in the CRS model nor designated-prover NIZKs.

  3. More precisely, we can base it on the weaker MDDH assumption, which includes the DLIN and symmetric external Diffie-Hellman (SXDH) assumptions as a special case.

  4. In this paper, the specific pairing-free group means a subgroup of \({\mathbb {Z}}_p^*\) for a prime p. See Remark 5.6 for details.

  5. Note that \(\textsf{CS}.\sigma \) should be kept secret since it reveals partial information of K.

  6. Actually, the definition of online-offline decomposability is slightly different from the one in the main body, but the latter implies the former.

  7. In delegation, a client with low computational power delegates a heavy computation to a potentially malicious server. The client can verify that the server’s output is correct. The verification process should be more efficient than directly computing an output. See [44, 57] for more details.

  8. In fact, the SKE scheme achieves a ciphertext length that equals the message length. However, any SKE scheme with a fixed-polynomial additive ciphertext overhead and secret key length suffice for our work.

  9. We say it is a non-interactive zero-knowledge proof when the soundness property holds for even unbounded adversaries. In this paper, we will only be interested in computationally bounded adversaries.

  10. However, we use constant functions for \(h_0\) and \(h_L\) in the constructions.

  11. More accurately, \( {\mathcal {O}}_{{\textsf{E}}} \) takes as input \([M]_2 \in G_2\) in addition to i in [61]. But we can ignore the additional input \([M]_2\) without loss of generality.

  12. Notice that the distribution of \(\{ \mu _j \}_{j\ne j^*}\) in \(\widehat{{\textsf{H}}}_{\ell ,0}(u_0,u_1)\) is the same as that in \(\widehat{{\textsf{H}}}_{\ell ,1}(u_0,u_1)\).

  13. We need security against non-uniform adversaries in the proof of soundness in our NIZK with perfect zero-knowledge.

  14. Strictly speaking, \({\mathcal {Z}}\) is limited to be a balanced one, which roughly means that \({\mathcal {Z}}\) should not give too much inputs to the adversary compared to inputs given to the other parties. See [14] for more details.

  15. We can consider more general message and circuit classes, however, we consider this simplistic version to match the CS definition we provided.

  16. Actually, the GS proof is a dual-mode NIZK, and satisfies perfect extractability or perfect zero-knowledge depending on the mode. Here, we focus on the binding mode where the perfect extractability is satisfied.

References

  1. H. Abusalah, Generic instantiations of the hidden bits model for non-interactive zero-knowledge proofs for NP. Master’s thesis, RWTH-Aachen University (2013)

  2. N. Attrapadung, J. Herranz, F. Laguillaumie, B. Libert, E. de Panafieu, C. Ràfols, Attribute-based encryption schemes with constant-size ciphertexts. Theor. Comput. Sci.422, 15–38 (2012)

    Article  MathSciNet  Google Scholar 

  3. B. Applebaum, Y. Ishai, E. Kushilevitz, Cryptography in nc\({}^{\text{0 }}\). SIAM J. Comput.36(4), 845–888 (2006)

    Article  MathSciNet  Google Scholar 

  4. N. Attrapadung, B. Libert, E. de Panafieu, Expressive key-policy attribute-based encryption with constant-size ciphertexts, in D. Catalano, N. Fazio, R. Gennaro, A. Nicolosi, editors, PKC 2011. LNCS, vol. 6571 (Springer, Heidelberg, 2011), pp. 90–108

  5. P.W. Beame, S.A. Cook, H. James Hoover, Log depth circuits for division and related problems. SIAM J. Comput.15(4), 994–1003 (1986)

    Article  MathSciNet  Google Scholar 

  6. D. Boneh, M.K. Franklin, Identity-based encryption from the Weil pairing, in J. Kilian, editor, CRYPTO 2001. LNCS, vol. 2139 (Springer, Heidelberg, 2001), pp. 213–229

  7. D. Boneh, D.M. Freeman, Homomorphic signatures for polynomial functions, in K.G. Paterson, editor, EUROCRYPT 2011. LNCS, vol. 6632 (Springer, Heidelberg, 2011), pp. 149–168

  8. M. Blum, P. Feldman, S. Micali, Non-interactive zero-knowledge and its applications (extended abstract), in 20th ACM STOC (ACM Press, 1988), pp. 103–112

  9. E. Boyle, N. Gilboa, Y. Ishai, Breaking the circuit size barrier for secure computation under DDH, in M. Robshaw, J. Katz, editors, CRYPTO 2016, Part I. LNCS, vol. 9814 (Springer, Heidelberg, 2016), pp. 509–539

  10. Z. Brakerski, V. Koppula, T. Mour, NIZK from LPN and trapdoor hash via correlation intractability for approximable relations, in D. Micciancio, T. Ristenpart, editors, CRYPTO 2020, Part III. LNCS, vol. 12172 (Springer, Heidelberg, 2020), pp. 738–767

  11. N. Bitansky, O. Paneth, ZAPs and non-interactive witness indistinguishability from indistinguishability obfuscation, in Y. Dodis, J.B. Nielsen, editors, TCC 2015, Part II. LNCS, vol. 9015 (Springer, Heidelberg, 2015), pp. 401–427

  12. N. Bitansky, O. Paneth, D. Wichs, Perfect structure on the edge of chaos - trapdoor permutations from indistinguishability obfuscation, in E. Kushilevitz, T. Malkin, editors, TCC 2016-A, Part I. LNCS, vol. 9562 (Springer, Heidelberg, 2016), pp. 474–502

  13. M. Bellare, M. Yung, Certifying permutations: noninteractive zero-knowledge based on any trapdoor permutation. J. Cryptol.9(3), 149–166 (1996)

    Article  MathSciNet  Google Scholar 

  14. R. Canetti, Universally composable security: a new paradigm for cryptographic protocols. Cryptology ePrint Archive, Report 2000/067 (2000). https://eprint.iacr.org/2000/067

  15. R. Canetti, Universally composable security: a new paradigm for cryptographic protocols, in 42nd FOCS (IEEE Computer Society Press, 2001), pp. 136–145

  16. R. Canetti, Y. Chen, J. Holmgren, A. Lombardi, G.N. Rothblum, R.D. Rothblum, D. Wichs, Fiat-Shamir: from practice to theory, in M. Charikar, E. Cohen, editors, 51st ACM STOC (ACM Press, 2019), pp. 1082–1090

  17. R. Canetti, Y. Chen, L. Reyzin, R.D. Rothblum, Fiat-Shamir and correlation intractability from strong KDM-secure encryption, in J.B. Nielsen, V. Rijmen, editors, EUROCRYPT 2018, Part I. LNCS, vol. 10820 (Springer, Heidelberg, 2018), pp. 91–122

  18. S.A. Cook, H.J. Hoover, A depth-universal circuit. SIAM J. Comput., 14(4), 833–839 (1985)

    Article  MathSciNet  Google Scholar 

  19. R. Canetti, S. Halevi, J. Katz, A forward-secure public-key encryption scheme. Journal of Cryptology20(3), 265–294 (2007)

    Article  MathSciNet  Google Scholar 

  20. G. Couteau, S. Katsumata, B. Ursu, Non-interactive zero-knowledge in pairing-free groups from weaker assumptions, in A. Canteaut, Y. Ishai, editors, EUROCRYPT 2020, Part III. LNCS, vol. 12107 (Springer, Heidelberg, 2020), pp. 442–471

  21. R. Canetti, A. Lichtenberg, Certifying trapdoor permutations, revisited, in A. Beimel, S. Dziembowski, editors, TCC 2018, Part I. LNCS, vol. 11239 (Springer, Heidelberg, 2018), pp. 476–506

  22. R. Cohen, A. Shelat, D. Wichs, Adaptively secure MPC with sublinear communication complexity, in A. Boldyreva, D. Micciancio, editors, CRYPTO 2019, Part II. LNCS, vol. 11693 (Springer, Heidelberg, 2019), pp. 30–60

  23. G. Danezis, C. Fournet, J. Groth, M. Kohlweiss, Square span programs with applications to succinct NIZK arguments, in P. Sarkar, T. Iwata, editors, ASIACRYPT 2014, Part I. LNCS, vol. 8873 (Springer, Heidelberg, 2014), pp. 532–550

  24. N. Döttling, S. Garg, Y. Ishai, G. Malavolta, T. Mour, R. Ostrovsky, Trapdoor hash functions and their applications, in A. Boldyreva, D. Micciancio, editors, CRYPTO 2019, Part III. LNCS, vol. 11694 (Springer, Heidelberg, 2019), pp. 3–32

  25. A. Escala, G. Herold, E. Kiltz, C. Ràfols, J. Villar, An algebraic framework for Diffie–Hellman assumptions, in R. Canetti, J.A. Garay, editors, CRYPTO 2013, Part II. LNCS, vol. 8043 (Springer, Heidelberg, 2013), pp. 129–147

  26. G. Fuchsbauer, Z. Jafargholi, K. Pietrzak, A quasipolynomial reduction for generalized selective decryption on trees, in R. Gennaro, M.J.B. Robshaw, editors, CRYPTO 2015, Part I. LNCS, vol. 9215 (Springer, Heidelberg, 2015), pp. 601–620

  27. G. Fuchsbauer, M. Konstantinov, K. Pietrzak, V. Rao, Adaptive security of constrained PRFs, in P. Sarkar, T. Iwata, editors, ASIACRYPT 2014, Part II. LNCS, vol. 8874 (Springer, Heidelberg, 2014), pp. 82–101

  28. U. Feige, D. Lapidot, A. Shamir, Multiple noninteractive zero knowledge proofs under general assumptions. SIAM J. Comput.29(1), 1–28 (1999)

    Article  MathSciNet  Google Scholar 

  29. C. Gentry, A fully homomorphic encryption scheme (2009). Ph.D. thesis, Stanford University

  30. S. Garg, C. Gentry, S. Halevi, A. Sahai, B. Waters, Attribute-based encryption for circuits from multilinear maps, in R. Canetti and J.A. Garay, editors, CRYPTO 2013, Part II. LNCS, vol. 8043 (Springer, Heidelberg, 2013), pp. 479–499

  31. S. Garg, C. Gentry, S. Halevi, M. Raykova, A. Sahai, B. Waters, Candidate indistinguishability obfuscation and functional encryption for all circuits. SIAM J. Comput.45(3), 882–929 (2016)

    Article  MathSciNet  Google Scholar 

  32. C. Gentry, J. Groth, Y. Ishai, C. Peikert, A. Sahai, A.D. Smith, Using fully homomorphic hybrid encryption to minimize non-interative zero-knowledge proofs. Journal of Cryptology28(4), 820–843 (2015)

    Article  MathSciNet  Google Scholar 

  33. R. Gennaro, C. Gentry, B. Parno, M. Raykova, Quadratic span programs and succinct NIZKs without PCPs, in T. Johansson, P.Q. Nguyen, editors, EUROCRYPT 2013. LNCS, vol. 7881 (Springer, Heidelberg, 2013), pp. 626–645

  34. S. Goldwasser, S. Micali, C. Rackoff, The knowledge complexity of interactive proof systems. SIAM J. Comput.18(1), 186–208 (1989)

    Article  MathSciNet  Google Scholar 

  35. O. Goldreich, Y. Oren, Definitions and properties of zero-knowledge proof systems. J. Cryptol.7(1), 1–32 (1994)

    Article  MathSciNet  Google Scholar 

  36. O. Goldreich, Foundations of cryptography: Volume 2, basic applications (2004)

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

  38. J. Groth, Short non-interactive zero-knowledge proofs, in M. Abe, editor, ASIACRYPT 2010. LNCS, vol. 6477 (Springer, Heidelberg, 2010), pp. 341–358

  39. J. Groth, Short pairing-based non-interactive zero-knowledge arguments, in M. Abe, editor, ASIACRYPT 2010. LNCS, vol. 6477 (Springer, Heidelberg, 2010), pp. 321–340

  40. J. Groth, On the size of pairing-based non-interactive arguments, in M. Fischlin, J.-S. Coron, editors, EUROCRYPT 2016, Part II. LNCS, vol. 9666 (Springer, Heidelberg, 2016), pp. 305–326

  41. J. Groth, A. Sahai, Efficient noninteractive proof systems for bilinear groups. SIAM J. Comput.41(5), 1193–1232 (2012)

    Article  MathSciNet  Google Scholar 

  42. S. Gorbunov, V. Vaikuntanathan, D. Wichs, Leveled fully homomorphic signatures from standard lattices, in R.A. Servedio, R. Rubinfeld, editors, 47th ACM STOC (ACM Press, 2015), pp. 469–477

  43. C. Gentry, D. Wichs, Separating succinct non-interactive arguments from all falsifiable assumptions, in L. Fortnow, S.P. Vadhan, editors, 43rd ACM STOC (ACM Press, 2011), pp. 99–108

  44. A. González, A. Zacharakis, Fully-succinct publicly verifiable delegation from constant-size assumptions, in K. Nissim, B. Waters, editors, TCC 2021, Part I. LNCS, vol. 13042 (Springer, Heidelberg, 2021), pp. 529–557

  45. B. Hemenway, Z. Jafargholi, R. Ostrovsky, A. Scafuro, D. Wichs, Adaptively secure garbled circuits from one-way functions, in M. Robshaw, J. Katz, editors, CRYPTO 2016, Part III. LNCS, vol. 9816 (Springer, Heidelberg, 2016), pp. 149–178

  46. S. Hohenberger, B. Waters, Attribute-based encryption with fast decryption, in K. Kurosawa, G. Hanaoka, editors, PKC 2013. LNCS, vol. 7778 (Springer, Heidelberg, 2013), pp. 162–179

  47. Y. Ishai, E. Kushilevitz, Perfect constant-round secure computation via perfect randomizing polynomials, in P. Widmayer, F.T. Ruiz, R.M. Bueno, M. Hennessy, S. Eidenbenz, R. Conejo, editors, ICALP 2002. LNCS, vol. 2380 (Springer, Heidelberg, 2002), pp. 244–256

  48. A. Jain, Z. Jin, Non-interactive zero knowledge from sub-exponential DDH, in A. Canteaut, F.-X. Standaert, editors, EUROCRYPT 2021, Part I. LNCS, vol. 12696 (Springer, Heidelberg, 2021), pp. 3–32

  49. Z. Jafargholi, C. Kamath, K. Klein, I. Komargodski, K. Pietrzak, D. Wichs. Be adaptive, avoid overcommitting, in J. Katz and H. Shacham, editors, CRYPTO 2017, Part I. LNCS, vol. 10401 (Springer, Heidelberg, 2017), pp. 133–163

  50. C.S. Jutla, A. Roy, Switching lemma for bilinear tests and constant-size NIZK proofs for linear subspaces, in J.A. Garay, R. Gennaro, editors, CRYPTO 2014, Part II. LNCS, vol. 8617 (Springer, Heidelberg, 2014), pp. 295–312

  51. C.S. Jutla, A. Roy, Shorter quasi-adaptive NIZK proofs for linear subspaces. J. Cryptol.30(4), 1116–1156 (2017)

    Article  MathSciNet  Google Scholar 

  52. Z. Jafargholi, D. Wichs, Adaptive security of Yao’s garbled circuits, in M. Hirt, A.D. Smith, editors, TCC 2016-B, Part I. LNCS, vol. 9985 (Springer, Heidelberg, 2016), pp. 433–458

  53. S. Katsumata, R. Nishimaki, S. Yamada, T. Yamakawa, Designated verifier/prover and preprocessing NIZKs from Diffie-Hellman assumptions, in Y. Ishai, V. Rijmen, editors, EUROCRYPT 2019, Part II. LNCS, vol. 11477 (Springer, Heidelberg, 2019), pp. 622–651

  54. S. Katsumata, R. Nishimaki, S. Yamada, T. Yamakawa, Exploring constructions of compact NIZKs from various assumptions, in A. Boldyreva, D. Micciancio, editors, CRYPTO 2019, Part III. LNCS, vol. 11694 (Springer, Heidelberg, 2019), pp. 639–669

  55. S. Katsumata, R. Nishimaki, S. Yamada, T. Yamakawa, Compact NIZKs from standard assumptions on bilinear maps, in A. Canteaut, Y. Ishai, editors, EUROCRYPT 2020, Part III. LNCS, vol. 12107 (Springer, Heidelberg, 2020), pp. 379–409

  56. S. Katsumata, R. Nishimaki, S. Yamada, T. Yamakawa, Compact designated verifier nizks from the CDH assumption without pairings. J. Cryptol.34(4), 42 (2021)

    Article  MathSciNet  Google Scholar 

  57. Y.T. Kalai, O. Paneth, L. Yang, How to delegate computations publicly, in M. Charikar, E. Cohen, editors, 51st ACM STOC (ACM Press, 2019), pp. 1115–1124

  58. Y.T. Kalai, G.N. Rothblum, R.D. Rothblum, From obfuscation to the security of Fiat-Shamir for proofs, in J. Katz and H. Shacham, editors, CRYPTO 2017, Part II. LNCS, vol. 10402 (Springer, Heidelberg, 2017), pp. 224–251

  59. E. Kiltz, H. Wee, Quasi-adaptive NIZK for linear subspaces revisited, in E. Oswald, M. Fischlin, editors, EUROCRYPT 2015, Part II. LNCS, vol. 9057 (Springer, Heidelberg, 2015), pp. 101–128

  60. S. Kim, D.J. Wu, Multi-theorem preprocessing NIZKs from lattices, in H. Shacham, A. Boldyreva, editors, CRYPTO 2018, Part II. LNCS, vol. 10992 (Springer, Heidelberg, 2018), pp. 733–765

  61. L. Kowalczyk, H. Wee, Compact adaptively secure ABE for \(\text{ NC}^1\) from \(k\)-Lin. J. Cryptol.33(3), 954–1002 (2020)

    Article  Google Scholar 

  62. H. Lipmaa, Progression-free sets and sublinear pairing-based non-interactive zero-knowledge arguments, in R. Cramer, editor, TCC 2012. LNCS, vol. 7194 (Springer, Heidelberg, 2012), pp. 169–189

  63. H.K. Maji, M. Prabhakaran, M. Rosulek, Attribute-based signatures, in A. Kiayias, editor, CT-RSA 2011. LNCS, vol. 6558 (Springer, Heidelberg, 2011), pp. 376–392

  64. M. Naor, On cryptographic assumptions and challenges (invited talk), in D. Boneh, editor, CRYPTO 2003. LNCS, vol. 2729 (Springer, Heidelberg, 2003), pp. 96–109

  65. D. Naccache, J. Stern, A new public key cryptosystem based on higher residues, in L. Gong, M.K. Reiter, editors, ACM CCS 98 (ACM Press, 1998), pp. 59–66

  66. T. Okamoto, K. Takashima, Efficient attribute-based signatures for non-monotone predicates in the standard model, in D. Catalano, N. Fazio, Rosario Gennaro, Antonio Nicolosi, editors, PKC 2011. LNCS, vol. 6571 (Springer, Heidelberg, 2011), pp. 35–52

  67. R. Pass, Unprovable security of perfect NIZK and non-interactive non-malleable commitments, in A. Sahai, editor, TCC 2013. LNCS, vol. 7785 (Springer, Heidelberg, 2013), pp. 334–354

  68. C. Peikert, S. Shiehian, Noninteractive zero knowledge for NP from (plain) learning with errors, in A. Boldyreva, D. Micciancio, editors, CRYPTO 2019, Part I. LNCS, vol. 11692 (Springer, Heidelberg, 2019), pp. 89–114

  69. A. Sahai, B. Waters, How to use indistinguishability obfuscation: deniable encryption, and more, in D.B. Shmoys, editor, 46th ACM STOC (ACM Press, 2014), pp. 475–484

  70. R. Tsabary, An equivalence between attribute-based signatures and homomorphic signatures, and new constructions for both, in Y. Kalai, L. Reyzin, editors, TCC 2017, Part II. LNCS, vol. 10678 (Springer, Heidelberg, 2017), pp. 489–518

  71. L.G. Valiant, Universal circuits (preliminary report) 196–203 (1976)

  72. V. Vinod, A. Narayanan, K. Srinathan, C. Pandu Rangan, K. Kim, On the power of computational secret sharing, in T. Johansson and S. Maitra, editors, INDOCRYPT 2003. LNCS, vol. 2904 (Springer, Heidelberg, 2003), pp. 162–176

  73. B. Waters, Dual system encryption: Realizing fully secure IBE and HIBE under simple assumptions, in S. Halevi, editor, CRYPTO 2009. LNCS, vol. 5677 (Springer, Heidelberg, 2009), pp. 619–636

Download references

Acknowledgements

We thank anonymous reviewers of Eurocrypt 2020 for their helpful comments. The first and the third authors were supported by JST CREST Grant Number JPMJCR19F6. The third author was supported by JSPS KAKENHI Grant Number 16K16068.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ryo Nishimaki.

Additional information

Communicated by Daniele Micciancio.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A preliminary version of this work appeared in the proceedings of Eurocrypt 2020 [55]. This paper is the revised full version of it

Appendices

Homomorphic Signature from CS

Here, we give a construction of homomorphic signature (HomSig) scheme from CS. To do so, we apply the CS-to-HomSig conversion proposed by Tsabary [70]. Our version of the conversion here is slightly different from hers in that we sign on circuits rather than signing on messages (or data). We provide discussion on this difference in Remark A.4. We note that from a theoretical stand point, the two formalizations are equivalent (up to some small differences) since one can always view circuits and messages interchangeably using universal circuits [18, 71].

1.1 Definition

In the following, we only define single-data HomSig for simplicity. The definition for the multi-data version can be found in [42, 53].

Syntax. Let \(\{ \{ 0,1 \} ^{\ell (\kappa )} \}_{\kappa \in {\mathbb {N}}}\) be a family of message spaces. Let \(\{ {\mathcal {C}}_{\kappa } \}_{\kappa \in {\mathbb {N}}}\) be a family of circuits, where \({\mathcal {C}}_\kappa \) is a set of polynomial sized circuits with domain \( \{ 0,1 \} ^{\ell (\kappa )}\) and range \( \{ 0,1 \} \).Footnote 15 Below, we omit the subscripts for simplicity.

Definition A.1

(Homomorphic Signatures) A homomorphic signature (HomSig) scheme \(\Pi _\textsf{HS}\) with message space \( \{ 0,1 \} ^\ell \) for the circuit class \({\mathcal {C}}\) is defined by the following five algorithms:

  • \(\mathsf {HS.KeyGen}(1^\kappa , 1^\ell ) \rightarrow (\textsf{pk}, \textsf{sk})\): The key generation algorithm takes as input the security parameter \(1^\kappa \) and the message length \(1^\ell \) and outputs a public verification key \(\textsf{pk}\) and a signing key \(\textsf{sk}\).

  • \(\mathsf {HS.Sign}(\textsf{sk}, C) \rightarrow \varvec{\sigma }\): The signing algorithm takes as input a signing key \(\textsf{sk}\) and a circuit \(C\in {\mathcal {C}}\), and outputs a signature \(\varvec{\sigma }\).

  • \(\mathsf {HS.Eval}(\textsf{pk}, C, {\textbf{x}}, \varvec{\sigma }) \rightarrow \sigma \): The signature-evaluation algorithm takes as input a verification key \(\textsf{pk}\), a circuit \(C: \{ 0,1 \} ^{\ell } \rightarrow \{ 0,1 \} \) in \({\mathcal {C}}\), messages \({\textbf{x}}\in \{ 0,1 \} ^\ell \), and a signature \(\varvec{\sigma }\) and outputs an evaluated signature \(\sigma \).

  • \(\mathsf {HS.Verify}(\textsf{pk}, {\textbf{x}}, z, \sigma ) \rightarrow \top \text { or } \bot \): The verification algorithm splits into a pair of algorithms \((\mathsf {HS.VerifyOffL}, \mathsf {HS.VerifyOnL})\):

    • \(\mathsf {HS.VerifyOffL}( \textsf{pk}, {\textbf{x}}) \rightarrow \textsf{pk}_{\textbf{x}}: \) The offline verification algorithm takes as input a verification key \(\textsf{pk}\), messages \({\textbf{x}}\in \{ 0,1 \} ^\ell \), and outputs an evaluated verification key \(\textsf{pk}_{\textbf{x}}\).

    • \(\mathsf {HS.VerifyOnL}( \textsf{pk}', z, \sigma ) \rightarrow \top \text { or } \bot : \) The online verification algorithm takes as input an (evaluated) verification key \(\textsf{pk}'\), a message \(z \in \{ 0,1 \} \), and a evaluated signature \(\sigma \), and outputs \(\top \) if the signature is valid and outputs \(\bot \) otherwise.

Correctness We define correctness for evaluated messages.

Definition A.2

(Correctness) We say a homomorphic signature scheme \(\Pi _\textsf{HS}\) is correct, if for all \(\kappa \in {\mathbb {N}}\), \(\ell \in \textsf{poly}(\kappa )\), messages \({\textbf{x}}= (x_1, \cdots , x_\ell ) \in \{ 0,1 \} ^\ell \), circuits \(C\in {\mathcal {C}}\), and \((\textsf{pk}, \textsf{sk}) \in \mathsf {HS.KeyGen}(1^\kappa , 1^\ell )\) we have

$$\begin{aligned}&\Pr [ \mathsf {HS.Sign}(\textsf{sk}, C) \rightarrow \varvec{\sigma };~ \mathsf {HS.Eval}( \textsf{pk}, C, {\textbf{x}}, \varvec{\sigma })\\&\quad \rightarrow \sigma :~ \mathsf {HS.Verify}(\textsf{pk}, {\textbf{x}}, C({\textbf{x}}), \sigma ) = \top ] = 1, \end{aligned}$$

where the probability is taken over the randomness used by all of the algorithms.

Unforgeability We now define unforgeability for a HomSig scheme. The security notion is defined formally by the following game between a challenger and an adversary \({\mathcal {A}}\).

  • Setup: At the beginning of the game, the adversary \({\mathcal {A}}\) is given \(1^\kappa \) as input and sends \(1^\ell \) to the challenger. Then the challenger generates a signing-verification key pair \((\textsf{pk}, \textsf{sk}) \overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \mathsf {HS.KeyGen}(1^\kappa , 1^\ell )\) and gives \(\textsf{pk}\) to \({\mathcal {A}}\).

  • Signing Query: The adversary \({\mathcal {A}}\) submits a circuit \(C\in {\mathcal {C}}\) to be signed. The challenger responds by creating a signature \(\varvec{\sigma }\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \mathsf {HS.Sign}(\textsf{sk}, C)\) and sends \(\varvec{\sigma }\) to \({\mathcal {A}}\). Here, \({\mathcal {A}}\) can query a circuit only once.

  • Forgery: Then the adversary \({\mathcal {A}}\) outputs messages \({\textbf{x}}^\star \), a message \(z^\star \in \{ 0,1 \} \), and a signature \(\sigma ^\star \) as the forgery. We say that \({\mathcal {A}}\) wins the game if:

    1. 1.

      \({\textbf{x}}^\star \in \{ 0,1 \} ^\ell \); and

    2. 2.

      \(C({\textbf{x}}^\star ) \ne z^\star \); and

    3. 3.

      \(\mathsf {HS.Verify}(\textsf{pk}, {\textbf{x}}^\star , z^\star , \sigma ^\star ) = \top \).

The advantage of an adversary winning the above game is defined by \(\Pr [{\mathcal {A}}\text { wins}]\), where the probability is taken over the randomness used by the challenger and the adversary.

Definition A.3

(Unforgeability) A homomorphic signature scheme \(\Pi _\textsf{HS}\) is said to satisfy unforgeability if for any PPT adversary \({\mathcal {A}}\) the advantage \(\Pr [{\mathcal {A}}\text { wins}]\) of the above game is negligible.

Compactness and Offline/Online Efficiency. We say a HomSig scheme \(\Pi _\textsf{HS}\) is compact if there exists a universal polynomial \(\textsf{poly}(\cdot )\) such that the evaluated signature \(\sigma \) (output by \(\mathsf {HS.Eval}\)) satisfies \(\left| \sigma \right| \le \textsf{poly}(\kappa )\). Moreover, we say \(\Pi _\textsf{HS}\) is online-offline efficient if there exists a universal polynomial \(\textsf{poly}(\cdot )\) such that the running time of \(\mathsf {HS.VerifyOnL}\) is \(\textsf{poly}(\kappa )\). Here, we allow the running time of the offline phase, i.e., running \(\mathsf {HS.VerifyOffL}\), to depend on the size of the messages \(\left| {\textbf{x}} \right| \). In particular, once the messages \({\textbf{x}}\) is fixed and we preprocess the evaluation key \(\textsf{pk}_{\textbf{x}}\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \mathsf {HS.VerifyOffL}(\textsf{pk}, {\textbf{x}})\), then we can verify an evaluated signature with respect to the messages \({\textbf{x}}\) and any circuit \(C\) in time independent of \(\left| C \right| \) or \(\left| {\textbf{x}} \right| \).

Remark A.4

(Comparison with HS signing on messages) It is common in the literature to define the signing algorithm \(\mathsf {HS.Sign}\) with respect to messages \({\textbf{x}}\) rather than a circuit \(C\), e.g., [7, 42]. In many natural applications, e.g., a client wants to outsource a computation of many algorithms on a fixed dataset, it may be more convenient to work with our formalization of HS. However, in either cases, we note that the two formalizations are equivalent from a theoretical point view in that both definitions are interchangeable using universal circuits. Namely, given messages \({\textbf{x}}\), we can view it as a universal circuit \(U(\cdot , {\textbf{x}})\) which takes as input a circuit \(C\) (represented as say bit strings) output \(C({\textbf{x}})\). Since Cook and Hoover [18] showed that \(U(\cdot , {\textbf{x}})\) can be only a constant times deeper than that of \(C\), this conversion can be made without incurring any strong restrictions on the circuit class supported by the underlying HS. A shortcoming of this approach is that the signature size for the message \({\textbf{x}}\) depends on the description size of \(C\) since the input-length of the universal circuit \(U(\cdot , {\textbf{x}})\) should be taken as large as the description size of \(C\). On the other hand, compactness for an evaluated signature is preserved.

1.2 Construction of Homomorphic Signatures from CS

We construct a HomSig scheme with message space \( \{ 0,1 \} ^\ell \) for circuit class \({\mathcal {C}}=\{C: \{ 0,1 \} ^{\ell } \rightarrow \{ 0,1 \} \}\) from a CS scheme. Concretely, let \(\Pi _{\textsf{CS}}= (\mathsf {CS.Setup}, \mathsf {CS.KeyGen}, \mathsf {CS.Sign}, \mathsf {CS.Vrfy})\) be a CS scheme with message space \( \{ 0,1 \} ^{\ell + 1}\) for a circuit class \(\tilde{{\mathcal {C}}}\) defined as

$$\begin{aligned} {\tilde{{\mathcal {C}}}}&= \{ {\tilde{C}}: \{ 0,1 \} ^{\ell + 1} \rightarrow \{ 0,1 \} \mid \text {for all } C\in {\mathcal {C}}, ({\textbf{x}}, z) \in \{ 0,1 \} ^\ell \times \{ 0,1 \} , \\&\quad \text {we have } {\tilde{C}}({\textbf{x}}, z) = \big ( C({\textbf{x}}) {\mathop {=}\limits ^{\mathrm {?}}}z \big ) \}. \end{aligned}$$

More specifically, \(\tilde{{\mathcal {C}}}\) is a set of circuits with input length \(\ell + 1\) such that a circuit \({\tilde{C}}\in \tilde{{\mathcal {C}}}\) on input \(({\textbf{x}}, z) \in \{ 0,1 \} ^\ell \times \{ 0,1 \} \) outputs 1 if and only if the associated circuit \(C\in {\mathcal {C}}\) outputs z on input \({\textbf{x}}\). Since \((z' {\mathop {=}\limits ^{\mathrm {?}}}z)\) can be expressed by a constant-sized circuit, every circuit in \(\tilde{{\mathcal {C}}}\) has depth and size bounded by \(d + O(1)\) and \(s + O(1)\), respectively, where d and s denotes the maximal depth and size of the circuits in \({\mathcal {C}}\), respectively. In particular, if \({\mathcal {C}}\) is in \({{\textbf {NC}}}^1\), then so is \(\tilde{{\mathcal {C}}}\). Further, assume the CS scheme has decomposable online-offline efficiency (see Definition 4.2), and in particular, we have algorithms \((\mathsf {CS.Aggrgt}, \mathsf {CS.VrfyOnL})\).

Our construction of offline-online efficient HomSig with message space \( \{ 0,1 \} ^\ell \) for circuit class \({\mathcal {C}}\) is provided as follows:

  • \(\mathsf {HS.KeyGen}(1^\kappa , 1^\ell )\): On input the security parameter \(1^\kappa \) and the message length \(1^\ell \), generate \((\textsf{msk}, \textsf{vk}) \overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \mathsf {CS.Setup}(1^\kappa , 1^\ell )\), and output \(\textsf{pk}:=\textsf{vk}\) and \(\textsf{sk}:=\textsf{msk}\).

  • \(\mathsf {HS.Sign}(\textsf{sk}, C)\): On input \(\textsf{sk}= \textsf{msk}\) and \(C\in {\mathcal {C}}\), compute the associated circuit \({\tilde{C}}\in \tilde{{\mathcal {C}}}\) defined above. I.e., \({\tilde{C}}({\textbf{x}}', z') = \big ( C({\textbf{x}}') {\mathop {=}\limits ^{\mathrm {?}}}z' \big )\) for all \(({\textbf{x}}', z') \in \{ 0,1 \} ^\ell \times \{ 0,1 \} \). Then compute \(\textsf{sk}_{{\tilde{C}}} \overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \mathsf {CS.KeyGen}(\textsf{msk}, {\tilde{C}})\), and output \(\varvec{\sigma }= \textsf{sk}_{{\tilde{C}}}\).

  • \(\mathsf {HS.Eval}(\textsf{pk}, C, {\textbf{x}}, \varvec{\sigma })\): On input \(C\in {\mathcal {C}}\), \({\textbf{x}}\in \{ 0,1 \} ^\ell \), and \(\varvec{\sigma }= \textsf{sk}_{{\tilde{C}}}\), compute \(z = C({\textbf{x}})\). Then compute \({\sigma _{\textsf{CS}}}_{{\textsf{CS}}} \overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \mathsf {CS.Sign}(\textsf{sk}_{{\tilde{C}}}, {\textbf{x}}\Vert z)\), and output \(\sigma = {\sigma _{\textsf{CS}}}_{{\textsf{CS}}}\). Here \(\cdot \Vert \cdot \) denotes concatenation of bit strings.

  • \(\mathsf {HS.Verify}(\textsf{pk}, {\textbf{x}}, z, \varvec{\sigma })\): Run the following algorithms in order:

    • \(\mathsf {HS.VerifyOffL}( \textsf{pk}, {\textbf{x}}):\) Parse \(\textsf{pk}= \textsf{vk}\rightarrow (\textsf{vk}_0, \{ \textsf{vk}_{i, b} \}_{i \in [n + 1], b \in \{ 0,1 \} } )\) and compute \(\textsf{vk}_{\textbf{x}}= \mathsf {CS.Aggrgt}( \{ \textsf{vk}_{i, {\textbf{x}}_i} \}_{i \in [n]} )\) where \({\textbf{x}}_i\) denotes the i-th bit of \({\textbf{x}}\). Finally, output \(\textsf{pk}_{\textbf{x}}= (\textsf{vk}_0, \textsf{vk}_{\textbf{x}}, \{ \textsf{vk}_{n + 1, b} \}_{b \in \{ 0,1 \} } )\).

    • \(\mathsf {HS.VerifyOnL}( \textsf{pk}', z, \sigma ): \) Parse \(\textsf{pk}' \rightarrow (\textsf{vk}_0, \textsf{vk}_{\textbf{x}}, \{ \textsf{vk}_{n + 1, b} \}_{b \in \{ 0,1 \} } )\) and \(\sigma \rightarrow {\sigma _{\textsf{CS}}}_{{\textsf{CS}}}\) and compute \(\textsf{vk}_{{\textbf{x}}\Vert z} = \mathsf {CS.Aggrgt}(\textsf{vk}_{\textbf{x}}, \textsf{vk}_{n + 1, z})\). Then output whatever returned by running \(\mathsf {CS.VrfyOnL}( \textsf{vk}_0, \textsf{vk}_{{\textbf{x}}\Vert z}, {\sigma _{\textsf{CS}}}_{{\textsf{CS}}})\).

Security and correctness of the scheme directly follow from the result by Tsabary [70]. However, since we adapt slightly different syntax from hers, we show the proofs for the sake of completeness.

Correctness.

Theorem A.5

(Correctness) If \(\Pi _{\textsf{CS}}\) satisfies correctness, then \(\Pi _\textsf{HS}\) satisfies correctness.

Proof

It can be checked by inspection. Fix messages \({\textbf{x}}\in \{ 0,1 \} ^\ell \) and a circuit \(C\in {\mathcal {C}}\) and let \(z = C({\textbf{x}})\), Then by correctness of \(\Pi _{\textsf{CS}}\), we have \(\mathsf {CS.Vrfy}( \textsf{vk}, {\textbf{x}}\Vert z, \textsf{vk}_{\textsf{CS}} ) = \top \) where \(\textsf{vk}_{\textsf{CS}} \overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \mathsf {CS.Sign}(\textsf{sk}_{{\tilde{C}}}, {\textbf{x}}\Vert z)\), since \({\tilde{C}}({\textbf{x}}\Vert z) = 1\) by definition of \({\tilde{C}}\). Therefore, due to the decomposable online-offline efficiency property of \(\Pi _{\textsf{CS}}\) (see Definition 4.2), it can be checked that \(\mathsf {HS.Verify}\) output \(\top \) as well. \(\square \)

Security.

Theorem A.6

(Unforgeability) If \(\Pi _{\textsf{CS}}\) satisfies (adaptive one-key) unforgeability, then \(\Pi _\textsf{HS}\) satisfies unforgeability.

Proof

We prove by contradiction. Suppose that there exists a PPT adversary \({\mathcal {A}}\) that breaks unforgeability of \(\Pi _\textsf{HS}\) with non-negligible probability \(\epsilon \). We then construct a PPT adversary \({\mathcal {B}}\) that breaks the (adaptive one-key) security of \(\Pi _{\textsf{CS}}\) with probability \(\epsilon \) as follows.

  • \({\mathcal {B}}(\textsf{vk})\): It sets \(\textsf{pk}:= \textsf{vk}\) and gives the verification key \(\textsf{pk}\) to \({\mathcal {A}}\). When submits a circuit \(C\in {\mathcal {C}}\), \({\mathcal {B}}\) first computes the associated circuit \({\tilde{C}}\in \tilde{{\mathcal {C}}}\) defined as \({\tilde{C}}({\textbf{x}}', z') = \big ( C({\textbf{x}}') {\mathop {=}\limits ^{\mathrm {?}}}z' \big )\) for all \(({\textbf{x}}', z') \in \{ 0,1 \} ^\ell \times \{ 0,1 \} \). \({\mathcal {B}}\) then makes a key generation query for \({\tilde{C}}\) to its own \(\Pi _{\textsf{CS}}\) challenger to obtain \(\textsf{sk}_{{\tilde{C}}}\), and gives \(\textsf{sk}_{{\tilde{C}}}\) to \({\mathcal {A}}\). When \({\mathcal {A}}\) outputs a forgery \(({\textbf{x}}^\star , z^\star , \sigma ^\star )\), \({\mathcal {B}}\) outputs \(({\textbf{x}}^\star \Vert z^\star , \sigma ^\star )\) as its forgery.

It is clear that \({\mathcal {B}}\) perfectly simulates the view of the unforgeability game of \(\Pi _\textsf{HS}\) to \({\mathcal {A}}\). We claim that whenever \({\mathcal {A}}\) wins the unforgeability game of \(\Pi _\textsf{HS}\), \({\mathcal {B}}\) wins the unforgeability game of \(\Pi _{\textsf{CS}}\). By the winning condition, \({\mathcal {A}}\)’s forgery satisfies \(({\textbf{x}}^\star , z^\star ) \in \{ 0,1 \} ^\ell \times \{ 0,1 \} \), \(C({\textbf{x}}^\star ) \ne z^\star \), and \(\mathsf {HS.Verify}( \textsf{pk}, {\textbf{x}}^\star , z^\star , \sigma ^\star ) = \top \). In particular, this implies \({\tilde{C}}( {\textbf{x}}^\star , z^\star ) = 0\) and \(\mathsf {CS.Vrfy}(\textsf{vk}, {\textbf{x}}^\star \Vert z^\star , \sigma ^\star ) = \top \). Therefore, \({\mathcal {B}}\) wins the unforgeability game of \(\Pi _{\textsf{CS}}\) with advantage \(\epsilon \), which is non-negligible as desired. \(\square \)

Remark A.7

(Instantiations) If we instantiate the scheme based on the decomposable online-offline efficient CS scheme in Sect. 4, we obtain a compact offline-online efficient HomSig scheme based on the DLIN assumption where “compact” means that the evaluated signature size does not depend on the size of the circuit on which the pre-evaluation signature is generated.

Remark A.8

(Extension to multi-data scheme) By using the generic transformation from single-data scheme to multi-data scheme by Gorbunov et al. [42], we obtain multi-data HomSig scheme based on CS. Similarly to [54], the resulting scheme does not satisfy amortized verification efficiency, which means that a verifier only needs to perform a computation depending on the size of the circuit only once and then he can reuse it for verifying signatures generated by multiple signers w.r.t. multiple data sets.

Efficient Instantiation based on Groth-Sahai Proof

Here, we give an efficient instantiation of the scheme given in Sect. 5.1 based on the Groth-Sahai proof under the SXDH assumption.

Groth-Sahai Proof. First, we briefly recall the Groth-Sahai proof. We refer the full description to [41]. We note that we focus on the instantiation based on the SXDH assumption here.

Roughly speaking, the Groth-Sahai proof is an efficient NIZK for a specific class of languages associated with a pairing-group. Specifically, it enables one to prove that committed values under an associated extractableFootnote 16 commitment scheme satisfy certain algebraic relations. We denote the setup algorithm of the associated commitment scheme by \(\textsf{GS}.\textsf{Setup}\) and committing algorithm in \(G_b\) by \(\textsf{GS}.\textsf{Commit}_{G_b}\) for \(b=1,2\). The setup algorithm \(\textsf{GS}.\textsf{Setup}\) takes a description of a pairing group and outputs a common reference string \(\textsf{crs}_{\textsf{GS}}\). The committing algorithm \(\textsf{GS}.\textsf{Commit}_{G_b}\) in \(G_b\) takes the common reference string \(\textsf{crs}_{\textsf{GS}} \) and an element of \(G_b\) or \({\mathbb {Z}}_p\) as input, and returns a commitment that consists of 2 elements \(G_b\). For \(X=(X_1,\ldots ,X_m) \in G_b^m\) (resp. \(x=(x_1,\ldots ,x_m)\in {\mathbb {Z}}_p^m)\), we denote \(\textsf{GS}.\textsf{Commit}_{G_b}(\textsf{crs}_{\textsf{GS}}, X)\) (resp. \(\textsf{GS}.\textsf{Commit}_{G_b}(\textsf{crs}_{\textsf{GS}}, x)\)) to mean \((\textsf{GS}.\textsf{Commit}_{G_b}(\textsf{crs}_{\textsf{GS}}, X_1),\ldots ,\textsf{GS}.\textsf{Commit}_{G_b}(\textsf{crs}_{\textsf{GS}}, X_m))\) (resp. \((\textsf{GS}.\textsf{Commit}_{G_b} (\textsf{crs}_{\textsf{GS}}, x_1), ...,\textsf{GS}.\textsf{Commit}_{G_b}(\textsf{crs}_{\textsf{GS}}, x_m))\))for notational simplicity.

Suppose that \((X_1,\ldots ,X_m)\in G_1^m\) and \((x_1,\ldots ,x_{m'})\in {\mathbb {Z}}_p^{m'}\) are committed under \(\textsf{GS}.\textsf{Commit}_{G_1}\) and \((Y_1,\ldots ,Y_n)\in G_2^n\) and \((y_1,\ldots ,y_{n'})\in {\mathbb {Z}}_p^{n'}\) are committed under \(\textsf{GS}.\textsf{Commit}_{G_2}\). Then the GS proof enables one to prove an equation of the following forms.

\({{{{\textbf {Pairing product equation with target }}}1\in G_{T}:}}\)

$$\begin{aligned} \prod _{i=1}^{n}e(A_i,Y_i)\cdot \prod _{i=1}^{m}e(X_i,B_i)\cdot \prod _{i=1}^{m}\prod _{j=1}^{n}e(X_i,Y_j)^{\gamma _{ij}}=1, \end{aligned}$$

for constants \(A_i\in G_1, B_i\in G_2, \gamma _{ij}\in {\mathbb {Z}}_p\).

\({{{{\textbf {Multi-scalar multiplication equation in }}}G_1:}}\)

$$\begin{aligned} \prod _{i=1}^{n'}A_i^{y_i}\cdot \prod _{i=1}^{m}X_i^{b_i}\cdot \prod _{i=1}^{m}\prod _{j=1}^{n'}X_i^{\gamma _{ij}y_{j}}=T_1 \end{aligned}$$

for constants \(A_i,T_1\in G_1\), \(b_i,\gamma _{ij}\in {\mathbb {Z}}_p\).

\({{{{\textbf {Multi-scalar multiplication equation in }}}G_2:}}\)

$$\begin{aligned} \prod _{i=1}^{n}Y_i^{a_i}\cdot \prod _{i=1}^{m'}B_i^{x_i}\cdot \prod _{i=1}^{m'}\prod _{j=1}^{n}Y_j^{\gamma _{ij}x_{i}}=T_2 \end{aligned}$$

for constants \(B_i,T_2\in G_2\), \(a_i,\gamma _{ij}\in {\mathbb {Z}}_p\).

\({{{{\textbf {Quadratic equation in }}}{\mathbb {Z}}_p:}}\)

$$\begin{aligned} \sum _{i=1}^{n'}a_iy_i+\sum _{i=1}^{m'}x_ib_i+\sum _{i=1}^{m'} \sum _{j=1}^{n'}\gamma _{ij}x_iy_j=t \mod p \end{aligned}$$

for constants \(a_i,b_i,\gamma _{ij},t\in {\mathbb {Z}}_p\).

We summarize the number of group elements that are needed to prove these equations in Table 3.

Table 3 Summary of sizes of GS proofs

Our NIZK. Let \({\mathcal {L}}\) be an \({{\textbf {NP}}}\) language defined by a relation \({\mathcal {R}}\subseteq \{0,1\}^*\times \{0,1\}^* \). Let \(n(\kappa )\) and \(m(\kappa )\) be any fixed polynomials. Let C be an \({{\textbf {NC}}}^1\) circuit that computes the relation \({\mathcal {R}}\) on \(\{0,1\}^{n}\times \{0,1\}^{m}\), i.e., for \((x,w)\in \{0,1\}^{n}\times \{0,1\}^{m}\), we have \(C(x,w)=1\) if and only if \((x,w)\in {\mathcal {R}}\). Let \(\Pi _\textsf{SKE}= (\textsf{SKE}.\textsf{Setup}, \textsf{SKE}.\textsf{KeyGen},\textsf{SKE}.\textsf{Enc},\textsf{SKE}.\textsf{Dec})\) be an SKE scheme with message space \( \{ 0,1 \} ^{m}\), key space \( \{ 0,1 \} ^{\ell }\) and ciphertext space \( \{ 0,1 \} ^{|\textsf{ct}|}\). We require that it is one-time secure, its decryption circuit can be computed in \({{\textbf {NC}}}^1\), it has no ciphertext overhead (i.e., \(|\textsf{ct}|=m\)), and \(\ell \) does not depend on m. We define a circuit \(f_{\textsf{pp}_{\textsf{SKE}}}: \{0,1\}^{n'}\rightarrow \{0,1\}\) that computes

$$\begin{aligned} f_{\textsf{pp}_{\textsf{SKE}}}( K, x,\textsf{ct}) = C(x, \textsf{SKE}.\textsf{Dec}(\textsf{pp}_{\textsf{SKE}}, K, \textsf{ct}) ) \end{aligned}$$

for \(\textsf{pp}_{\textsf{SKE}}\in \textsf{SKE}.\textsf{Setup}(1^\kappa )\) where \(n':=\ell +n+|\textsf{ct}|\). Since we assume that both C and \(\textsf{SKE}.\textsf{Dec}\) can be computed in \({{\textbf {NC}}}^1\), \(f_{\textsf{pp}_{\textsf{SKE}}}\) can be computed in \({{\textbf {NC}}}^1\). Let \(\textsf{share}\) be as defined in Definition 3.1 and \(\textsf{EncInp}\) and \(\textsf{EncCir}\) be as defined in Lemma 2.9.

Our scheme is described as follows.

  • \(\textsf{Setup}(1^\kappa )\):

    1. 1.

      Generate \(\textsf{pp}_{\textsf{SKE}}\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{SKE}.\textsf{Setup}(1^\kappa )\).

    2. 2.

      Run \({\mathbb {G}}= (p, G_1, G_2, G_T, e) \overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{GGen}(1^\kappa )\). and generate \(\textsf{crs}_{\textsf{GS}} \overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{GS}.\textsf{Setup}({\mathbb {G}})\).

    3. 3.

      Sample \({\textbf{a}}\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } {\mathbb {Z}}_p^{2}\), \({\textbf{w}}_{i} \overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } {\mathbb {Z}}_p^{2}\) for \(i\in [2n']\) and \({\textbf{v}}\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } {\mathbb {Z}}_p^{2}\) and set

      $$\begin{aligned} \textsf{vk}= ( [{\textbf{a}}^\top ]_1, [{\textbf{a}}^\top {\textbf{w}}_1]_1,\ldots , [{\textbf{a}}^\top {\textbf{w}}_{2n'}]_1, e( [{\textbf{a}}^\top ]_1, [{\textbf{v}}]_2 ) ). \end{aligned}$$
    4. 4.

      Compute \(\textsf{EncCir}(f_{\textsf{pp}_{\textsf{SKE}}}) \rightarrow f'\), sample \((\{ {\textbf{v}}_j \}_{j\in [ {\hat{m}} ]}, \rho ) \overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{share}(f', {\textbf{v}})\) and \(r_j \overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } {\mathbb {Z}}_p\) for \(j\in [{\hat{m}} ]\) and compute

      $$\begin{aligned} \textsf{sk}_f= & {} \left( \Bigl \{ \textsf{sk}_{ j } :=[r_j]_2, \quad \textsf{sk}_{ \rho (j), j }:=[{\textbf{v}}_j + {\textbf{w}}_{\rho (j)}r_j]_2, \right. \\{} & {} \quad \left. \{ ~ \textsf{sk}_{i,j} :=[{\textbf{w}}_{i} r_j]_2 ~ \}_{ i\in [2n'] \backslash \{\rho (j) \}} \Bigr \}_{j\in [{\hat{m}}]} \right) \end{aligned}$$

      where \({\textbf{w}}_{0} = {\textbf{0}}\) and \({\hat{m}}\) is the number of shares that is generated by \(\textsf{share}(f',{\textbf{v}})\).

    5. 5.

      Output \(\textsf{crs}= (\textsf{pp}_{\textsf{SKE}}, {\mathbb {G}}, \textsf{crs}_{\textsf{GS}}, \textsf{vk}, \textsf{sk}_f )\).

  • \(\textsf{Prove}(\textsf{crs},x,w)\):

    1. 1.

      Abort if \({\mathcal {R}}(x,w)=0\). Otherwise, do the following.

    2. 2.

      Parse \(\textsf{crs}\rightarrow (\textsf{pp}_{\textsf{SKE}}, {\mathbb {G}}, \textsf{crs}_{\textsf{GS}}, \textsf{vk}, \textsf{sk}_f)\).

    3. 3.

      Generate \(K\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{SKE}.\textsf{KeyGen}(\textsf{pp}_{\textsf{SKE}})\) and \(\textsf{ct}\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{SKE}.\textsf{Enc}(\textsf{pp}_{\textsf{SKE}}, K,w)\).

    4. 4.

      Set \(z :=\textsf{EncInp}(K\Vert x\Vert \textsf{ct}) \) and compute \(\omega _j\) such that \({\textbf{v}}= \sum _{j: \rho (j)=0\vee y_{\rho (j)}=1 } \omega _j {\textbf{v}}_j\) and

      $$\begin{aligned} \sigma _{\textsf{CS}}= & {} \left( {\sigma _{\textsf{CS}}}_1 = \prod _{j:\rho (j)=0 \vee z_{\rho (j)}=1 } \left( \prod _{i: z_i = 1 } \textsf{sk}_{i,j} \right) ^{\omega _j } , \right. \\{} & {} \quad \left. {\sigma _{\textsf{CS}}}_2= \prod _{j: \rho (j)=0 \vee z_{\rho (j)=1} } \textsf{sk}_{j}^{\omega _j } \right) \in G_2^3. \end{aligned}$$
    5. 5.

      Compute \(Y :=\prod _{i\in [n+|\textsf{ct}| ] } [{\textbf{a}}^\top {\textbf{w}}_{2\ell + 2i-y_i}]_1\) where \(y :=( x,\textsf{ct})\in \{ 0,1 \} ^{n+|\textsf{ct}|} \).

    6. 6.

      Compute \(\textsf{com}_{K}\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{GS}.\textsf{Commit}_{G_1}(\textsf{crs}_{\textsf{GS}},\{K_i\}_{i\in [\ell ]})\) and \(\textsf{com}_{{\widetilde{K}}_i}\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{GS}.\textsf{Commit}_{G_2} (\textsf{crs}_{\textsf{GS}},\{\widetilde{K_i}\}_{i\in [\ell ]})\) where \({\widetilde{K}} :=K\).

    7. 7.

      Compute \(\textsf{com}_{Z}\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{GS}.\textsf{Commit}_{G_1}(\textsf{crs}_{\textsf{GS}},Z)\) where \(Z:=\prod _{i\in [\ell ]}[{\textbf{a}}^\top {\textbf{w}}_{2i-K_i}]_1\cdot Y \in G_1\).

    8. 8.

      Compute \(\textsf{com}_{V}\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{GS}.\textsf{Commit}_{G_2}(\textsf{crs}_{\textsf{GS}},V)\) where \(V :=[{\textbf{v}}]_2 \in G_2^{2}\).

    9. 9.

      Compute \(\textsf{com}_{\sigma _{\textsf{CS}}}\overset{\hspace{0.1em}\mathsf {\scriptscriptstyle \$}}{\leftarrow } \textsf{GS}.\textsf{Commit}_{G_2}(\textsf{crs}_{\textsf{GS}},\sigma _{\textsf{CS}})\).

    10. 10.

      Generate a proof \(\pi _{K}\) that proves

      $$\begin{aligned}{} & {} K_i-\tilde{K_i}=0 \mod p,\\{} & {} K_i\cdot \tilde{K_i}-K_i=0 \mod p \end{aligned}$$

      for all \(i\in [\ell ]\). (This especially ensures \(K_i,{\widetilde{K}}_i\in \{0,1\}\) for \(i\in [\ell ]\).)

    11. 11.

      Generate a proof \(\pi _{Z}\) that proves

      $$\begin{aligned} Z=\prod _{i\in [\ell ]}([{\textbf{a}}^\top {\textbf{w}}_{2i-1}]_1^{{\widetilde{K}}_i}\cdot [{\textbf{a}}^\top {\textbf{w}}_{2i}]_1^{1-{\widetilde{K}}_i})\cdot Y. \end{aligned}$$

      Note that this is equivalent to

      $$\begin{aligned} Z= \prod _{i\in [\ell ]}[{\textbf{a}}^\top {\textbf{w}}_{2i-{\widetilde{K}}_i}]_1\cdot Y \end{aligned}$$

      for \({\widetilde{K}}_i\in \{0,1\}\).

    12. 12.

      Generate a proof \(\pi _{V}\) that proves

      $$\begin{aligned} V= [{\textbf{v}}]_2. \end{aligned}$$
    13. 13.

      Generate a proof \(\pi _{\sigma _{\textsf{CS}}}\) that proves

      $$\begin{aligned} e( [{\textbf{a}}^\top ]_1 , {\sigma _{\textsf{CS}}}_1) \cdot e(Z, {\sigma _{\textsf{CS}}}_2 )^{-1} \cdot e([{\textbf{a}}^\top ]_1,V)^{-1}=1 \end{aligned}$$
    14. 14.

      Output \(\pi :=(\textsf{ct}, \textsf{com}_{K}, \textsf{com}_{{\widetilde{K}}},\textsf{com}_{Z}, \textsf{com}_{V}, \textsf{com}_{\sigma _{\textsf{CS}}}, \pi _{K}, \pi _{Z},\pi _{V}, \pi _{\sigma _{\textsf{CS}}})\).

  • \(\textsf{Verify}(\textsf{crs},x,\pi )\):

    1. 1.

      Parse \(\pi \rightarrow (\textsf{ct}, \textsf{com}_{K}, \textsf{com}_{{\widetilde{K}}},\textsf{com}_{Z}, \textsf{com}_{V}, \textsf{com}_{\sigma _{\textsf{CS}}}, \pi _{K}, \pi _{Z},\pi _{V}, \pi _{\sigma _{\textsf{CS}}})\). If it is not in this form, reject it. Otherwise, do the following.

    2. 2.

      Parse \(\textsf{crs}\rightarrow (\textsf{pp}_{\textsf{SKE}}, {\mathbb {G}}, \textsf{crs}_{\textsf{GS}}, \textsf{vk}, \textsf{sk}_f )\).

    3. 3.

      Compute \( Y :=\prod _{i\in [n+|\textsf{ct}| ] } [{\textbf{a}}^\top {\textbf{w}}_{2\ell + 2i-y_i}]_1 \) where \(y :=( x,\textsf{ct})\in \{ 0,1 \} ^{n+|\textsf{ct}|} \).

    4. 4.

      Output \(\top \) if all proofs \((\pi _{K}, \pi _{Z},\pi _{V}, \pi _{\sigma _{\textsf{CS}}})\) are valid w.r.t. commitments \((\textsf{com}_{K}, \textsf{com}_{{\widetilde{K}}},\textsf{com}_{Z}, \textsf{com}_{V}, \textsf{com}_{\sigma _{\textsf{CS}}})\) and otherwise \(\bot \).

Efficiency. We summarize the size of each component of the proof in Table 4. The total proof size is \(|w|+(6\ell +14)|G_1|+(6\ell +25)|G_2|\). Recall that \(\ell \) is the length of the secret key of \(\textsf{SKE}\) and thus we can take \(\ell \) to be fixed polynomial in the security parameter. In particular, under reasonable assumptions, we can take \(\ell = O(\kappa )\).

Table 4 Summary of sizes of GS commitments and GS proofs in our scheme

Security. Since the above scheme is an instantiation of the scheme in Sect. 5.1, the security follows from Theorems 5.1 and 5.2. Specifically, we have the following theorems.

Theorem B.1

(Soundness) The above NIZK scheme \(\Pi _\textsf{NIZK}\) is computationally (adaptive) sound if the SXDH assumption holds.

Theorem B.2

(Zero-Knowledge) The above NIZK scheme \(\Pi _\textsf{NIZK}\) is computationally zero-knowledge if the SXDH assumption holds and \(\Pi _\textsf{SKE}\) is one-time secure.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Katsumata, S., Nishimaki, R., Yamada, S. et al. Compact NIZKs from Standard Assumptions on Bilinear Maps. J Cryptol 37, 23 (2024). https://doi.org/10.1007/s00145-024-09503-8

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00145-024-09503-8

Keywords

Navigation