Skip to main content
Log in

Non-malleable Vector Commitments via Local Equivocability

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

Abstract

Vector commitments (VCs), enabling to commit to a vector and locally reveal any of its entries, play a key role in a variety of both classic and recently evolving applications. However, security notions for VCs have so far focused on passive attacks, and non-malleability notions considering active attacks have not been explored. Moreover, existing frameworks that may enable to capture the non-malleability of VCs seem either too weak (non-malleable non-interactive commitments that do not account for the security implications of local openings) or too strong (non-malleable zero-knowledge sets that support both membership and non-membership proofs). We put forward a rigorous framework capturing the non-malleability of VCs, striking a careful balance between the existing weaker and stronger frameworks: We strengthen the framework of non-malleable non-interactive commitments by considering attackers that may be exposed to local openings, and we relax the framework of non-malleable zero-knowledge sets by focusing on membership proofs. In addition, we strengthen both frameworks by supporting (inherently private) updates to entries of committed vectors, and discuss the benefits of non-malleable VCs in the context of both UTXO-based and account-based stateless blockchains, and in the context of simultaneous multi-round auctions (that have been adopted by the US Federal Communications Commission as the standard auction format for selling spectrum ranges). Within our framework, we present a direct approach for constructing non-malleable VCs whose efficiency essentially matches that of the existing standard VCs. Specifically, we show that any VC can be transformed into a non-malleable one, relying on a new primitive that we put forth. Our new primitive, locally equivocable commitments with all-but-one binding, is evidently both conceptually and technically simpler compared to multi-trapdoor mercurial trapdoor commitments (the main building block underlying existing non-malleable zero-knowledge sets), and admits more efficient instantiations based on the same number-theoretic assumptions.

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.

Similar content being viewed by others

Notes

  1. Note that a VC which supports public updates trivially supports private updates.

  2. In fact, in some cases, accumulators are used instead of vector commitments. As noted about, our notions of non-malleability and our construction apply also to accumulators.

  3. See, for example, [11, 12] and the many references therein for a variety of practical strongly unforgeable signature schemes both in the random-oracle model and in the standard model.

  4. In our formal proof, we actually rely on the equivocability guarantee earlier in order to enable the simulator to invoke the adversary in the ideal experiment.

  5. We embed the entries of \(\vec {x}\) only as left leaves as to avoid trivial attacks. Doing so, the opening of say, the i-th entry does not trivially reveal any other entries.

  6. Another issue which may arise, is that \(\textsf{nm}\mathcal{COM}\) might not be concurrent non-malleable (see, for example, [25, 45, 59, 60] and the references therein). In this case, an adversary which observes some of the local commitments and openings produced via \(\textsf{nm}\mathcal{COM}\) may be able to come up with \(\textsf{nm}\mathcal{COM}\) commitments to related values. This issue, however, can be relatively easily resolved by using a commitment scheme which offers non-malleability even against adversaries which observe at most q commitments and openings.

  7. Although Crescenzo et al. did not explicitly frame their construction as relying on an underlying equivocable commitment scheme, we follow a somewhat more fine-grained abstraction via our local equivocability and all-but-one binding properties.

  8. We note that the commitment and decommitment algorithms \(\mathsf {LE.Commit}\) and \(\mathsf {LE.}\textsf{Decommit}\) receive the index \(i\in [q]\) as input for technical reasons that come up in our generic construction based on one-way functions (“Appendix B”).

  9. We emphasize that the security of our construction does not rely on \(\mathcal{V}\mathcal{C}\) providing any flavor of hiding or succinctness, and this is discussed below in the overview of our proof.

  10. Thus, the output of \( \textsf{Real}_{\mathcal{V}\mathcal{C},q,\mathcal {A}, \mathcal {D}}(\lambda ) \) is a random variable also over the randomness of the oracle.

References

  1. J.H. Ahn, D. Boneh, J. Camenisch, S. Hohenberger, A. Shelat, B. Waters, Computing on authenticated data, in Proceedings of the 9th Theory of Cryptography Conference (2012), pp. 169–191

  2. B. Barak, How to go beyond the black-box simulation barrier, in Proceedings of the 42nd Annual IEEE Symposium on Foundations of Computer Science (2001), pp. 106–115

  3. B. Bünz, J. Bootle, D. Boneh, A. Poelstra, P. Wuille, G. Maxwell, Bulletproofs: short proofs for confidential transactions and more, in Proceedings of the IEEE Symposium on Security and Privacy (2018), pp. 315–334

  4. D. Boneh, B. Bünz, B. Fisch, Batching techniques for accumulators with applications to IOPs and stateless blockchains, in Advances in Cryptology—CRYPTO ’19 (2019), pp. 561–586

  5. E. Ben-Sasson, A. Chiesa, C. Garman, M. Green, I. Miers, E. Tromer, M. Virza, Zerocash: decentralized anonymous payments from bitcoin, in Proceedings of the IEEE Symposium on Security and Privacy (2014), pp. 459–474

  6. J. Benaloh, M. de Mare, One-way accumulators: a decentralized alternative to digital signatures, in Advances in Cryptology—EUROCRYPT ’93 (1993), pp. 274–285

  7. S. Benabbas, R. Gennaro, Y. Vahlis, Verifiable delegation of computation over large datasets, in Advances in Cryptology—CRYPTO ’11 (2011), pp. 111–131

  8. M. Bichler, Market Design: A Linear Programming Approach to Auctions and Matching (Cambridge University Press, Cambridge, 2017)

  9. N. Barić, B. Pfitzmann, Collision-free accumulators and fail-stop signature schemes without trees, in Advances in Cryptology—EUROCRYPT ’97 (1997), pp. 480–494

  10. M. Bellare, P. Rogaway, Random oracles are practical: a paradigm for designing efficient protocols, in Proceedings of the 1st ACM Conference on Computer and Communications Security (1993), pp. 62–73

  11. M. Bellare, S. Shoup, Two-tier signatures, strongly unforgeable signatures, and Fiat–Shamir without random oracles, in Proceedings of the 10th International Conference on Theory and Practice of Public-Key Cryptography (2007), pp. 201–216

  12. D. Boneh, E. Shen, B. Waters, Strongly unforgeable signatures based on computational Diffie-Hellman, in Proceedings of the 9th International Conference on Theory and Practice of Public-Key Cryptography (2006), pp. 229–240

  13. V. Buterin, Ethereum: a next-generation smart contract and decentralized application platform (2014). https://ethereum.org/en/whitepaper/

  14. V. Buterin, The stateless client concept (2017). https://ethresear.ch/t/the-stateless-client-concept/172

  15. D. Catalano, Y. Dodis, I. Visconti, Mercurial commitments: minimal assumptions and efficient constructions, in Proceedings of the 3rd Theory of Cryptography Conference (2006), pp. 120–144

  16. R. Canetti, M. Fischlin, Universally composable commitments, in Advances in Cryptology—CRPYTO ’01 (2001), pp. 19–40

  17. D. Catalano, D. Fiore, Vector commitments and their applications, in Proceedings of the 16th International Conference on Practice and Theory in Public-Key Cryptography (2013), pp. 55–72

  18. M. Campanelli, D. Fiore, N. Greco, D. Kolonelos, L. Nizzardo, Incrementally aggregatable vector commitments and applications to verifiable decentralized storage, in Advances in Cryptology—ASIACRYPT ’20 (2020), pp. 3–35

  19. M. Chase, A. Healy, A. Lysyanskaya, T. Malkin, L. Reyzin, Mercurial commitments with applications to zero-knowledge sets. J. Cryptol. 26(2), 251–279 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  20. G.D. Crescenzo, Y. Ishai, R. Ostrovsky, Non-interactive and non-malleable commitment, in Proceedings of the 30th Annual ACM Symposium on the Theory of Computing (1998), pp. 141–150

  21. G.D. Crescenzo, J. Katz, R. Ostrovsky, A.D. Smith. Efficient and non-interactive non-malleable commitment, in Advances in Cryptology—EUROCRYPT ’01 (2001), pp. 40–59

  22. J. Camenisch, A. Lysyanskaya, Dynamic accumulators and application to efficient revocation of anonymous credentials, in Advances in Cryptology—CRYPTO ’02 (2002), pp. 61–76

  23. M. Ciampi, R. Ostrovsky, L. Siniscalchi, I. Visconti, Four-round concurrent non-malleable commitments from one-way functions, in Advances in Cryptology—CRYPTO ’17 (2017), pp. 127–157

  24. D. Catalano, M.D. Raimondo, D. Fiore, M. Messina, Zero-knowledge sets with short proofs. IEEE Trans. Inf. Theory 57(4), 2488–2502 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  25. D. Dolev, C. Dwork, M. Naor, Nonmalleable cryptography. SIAM J. Comput. 30(2), 391–437 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  26. I. Damgard, J. Groth. Non-interactive and reusable non-malleable commitment schemes, in Proceedings of the 35th Annual ACM Symposium on the Theory of Computing (2003), pp. 426–437

  27. Y. Dodis, A. Kiayias, A. Nicolosi, V. Shoup, Anonymous identification in ad hoc groups, in Advances in Cryptology—EUROCRYPT ’04 (2004), pp. 609–626

  28. M. Fischlin, R. Fischlin. Efficient non-malleable commitment schemes, in Advances in Cryptology—CRYPTO ’00 (2000), pp. 413–431

  29. M. Fischlin, Trapdoor commitment schemes and their applications. Ph.D. Thesis, University of Frankfurt (2001) https://www.math.uni-frankfurt.de/~dmst/research/phdtheses/mfischlin.dissertation.2001.html

  30. C. Fromknecht, D. Velicanu, S. Yakoubov, A decentralized public key infrastructure with identity retention. Cryptology ePrint Archive, Report 2014/803 (2014)

  31. V. Goyal, C.-K. Lee, R. Ostrovsky, I. Visconti, Constructing non-malleable commitments: a black-box approach, in Proceedings of the 53rd Annual IEEE Symposium on Foundations of Computer Science (2012), pp. 51–60

  32. R. Gennaro, S. Micali, Independent zero-knowledge sets, in Proceedings of the 33th International Colloquium on Automata, Languages and Programming (2006), pp. 34–45

  33. J.A. Garay, P. MacKenzie, K. Yang, Strengthening zero-knowledge protocols using signatures, in Advances in Cryptology—EUROCRYPT ’03 (2003), pp. 177–194

  34. V. Goyal, O. Pandey, S. Richelson, Textbook non-malleable commitments, in Proceedings of the 48th Annual ACM Symposium on Theory of Computing (2016), pp. 1128–1141

  35. R. Gennaro, P. Rohatgi, How to sign digital streams, in Advances in Cryptology—CRYPTO ’97 (1997), pp. 180–197

  36. S. Gorbunov, L. Reyzin, H. Wee, Z. Zhang, Pointproofs: aggregating proofs for multiple vector commitments, in Proceedings of the 27th ACM Conference on Computer and Communications Security (2020), pp. 2007–2023

  37. J. Håstad, R. Impagliazzo, L.A. Levin, M. Luby. A pseudorandom generator from any one-way function. SIAM J. Comput. 28(4), 1364–1396 (1999)

    Article  MathSciNet  MATH  Google Scholar 

  38. D. Khurana, Round optimal concurrent non-malleability from polynomial hardness, in Proceedings of the 15th Theory of Cryptography Conference (2017), pp. 139–171

  39. J. Kilian, A note on efficient zero-knowledge proofs and arguments, in Proceedings of the 24th Annual ACM Symposium on Theory of Computing (1992), pp. 723–732

  40. J. Krupp, D. Schröder, M. Simkin, D. Fiore, G. Ateniese, S. Nürnberger, Nearly optimal verifiable data streaming, in Proceedings of the 19th International Conference on Practice and Theory in Public-Key Cryptography (2016), pp. 417–445

  41. L. Lamport, Constructing digital signatures from a one way function. Technical Report SRI-CSL-98, SRI International Computer Science Laboratory (1979)

  42. R. W. F. Lai and G. Malavolta. Subvector commitments with application to succinct arguments. In Advances in Cryptology – CRYPTO ’19, pages 530–560, 2019.

  43. H. Lin, R. Pass. Non-malleability amplification, in Proceedings of the 41st annual ACM Symposium on Theory of Computing (2009), pp. 189–198

  44. H. Lin, R. Pass, Constant-round non-malleable commitments from any one-way function, in Proceedings of the 43rd Annual ACM Symposium on Theory of Computing (2011), pp. 705–714

  45. H. Lin, R. Pass, M. Venkitasubramaniam, Concurrent non-malleable commitments from any one-way function, in Proceedings of the 5th Theory of Cryptography Conference (2008), pp. 571–588

  46. B. Libert, M. Yung, Concise mercurial vector commitments and independent zero-knowledge sets with short proofs, in Proceedings of the 7th Theory of Cryptography Conference (2010), pp. 499–517

  47. R.C. Merkle. A digital signature based on a conventional encryption function, in Advances in Cryptology—CRYPTO ’87 (1987), pp. 369–378

  48. I. Miers, C. Garman, M. Green, A.D. Rubin. Zerocoin: anonymous distributed e-cash from bitcoin, in IEEE Symposium on Security and Privacy (2013), pp. 397–411

  49. S. Micali, CS proofs, in Proceedings of the 35th Annual IEEE Symposium on the Foundations of Computer Science (1994), pp. 436–453

  50. C. Martel, G. Nuckolls, P. Devanbu, M. Gertz, A. Kwong, S.G. Stubblebine, A general model for authenticated data structures, Algorithmica 39(1), 21–24 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  51. S. Micali, M.O. Rabin, J. Kilian, Zero-knowledge sets. in Proceedings of the 44th Annual IEEE Symposium on Foundations of Computer Science (2003), pp. 80–91

  52. S. Nakamoto. Bitcoin: a peer-to-peer electronic cash system (2008). https://bitcoin.org/bitcoin.pdf

  53. M. Naor, Bit commitment using pseudorandomness. J. Cryptol. 4(2), 151–158 (1991)

    Article  MATH  Google Scholar 

  54. L. Nguyen, Accumulators from bilinear pairings and applications, in Topics in Cryptology—CT-RSA ’05 (2005), pp. 275–292

  55. M. Naor, K. Nissim. Certificate revocation and certificate update, in Proceedings of the 7th USENIX Security Symposium (1998), pp. 217–228

  56. M. Naor, M. Yung. Universal one-way hash functions and their cryptographic applications, in Proceedings of the 21st Annual ACM Symposium on Theory of Computing (1989), pp. 33–43

  57. A. Ozdemir, R. Wahby, B. Whitehat, D. Boneh, Scaling verifiable computation using efficient set accumulators, in Proceedings of the 29th USENIX Security Symposium (2020), pp. 2075–2092

  58. O. Pandey, R. Pass, V. Vaikuntanathan, Adaptive one-way functions and applications, in Advances in Cryptology–CRYPTO ’08 (2008), pp. 57–74

  59. R. Pass, A. Rosen, Concurrent non-malleable commitments, in Proceedings of the 46th Annual IEEE Symposium on Foundations of Computer Science (2005), pp. 563–572

  60. R. Pass, A. Rosen, New and improved constructions of nonmalleable cryptographic protocols. SIAM J. Comput. 38(2), 702–752 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  61. R. Pass, H. Wee, Constant-round non-malleable commitments from sub-exponential one-way functions, in Advances in Cryptology—EUROCRYPT ’10 (2010), pp. 638–655

  62. L. Reyzin, Zero-knowledge with public keys. Ph,D, Thesis, Massachusetts Institute of Technology (2001). https://www.cs.bu.edu/~reyzin/phd-thesis.html)

  63. J. Rompel, One-way functions are necessary and sufficient for secure signatures, in Proceedings of the 22nd Annual ACM Symposium on Theory of Computing (1990), pp. 387–394

  64. T. Sander, A. Ta-Shma. Auditable, anonymous electronic cash, in Advances in Cryptology—CRYPTO ’99 (1999), pp. 555–572

  65. E. Stefanov, M. van Dijk, A. Jules, A. Opera, Iris: a scalable cloud file system with efficient integrity checks, in Proceedings of the 28th Annual Computer Security Applications Conference (2021), pp. 229–238

  66. A. Tomescu, I. Abraham, V. Buterin, J. Drake, D. Feist, D. Khovratovich, Aggregatable subvector commitments for stateless cryptocurrencies, in Proceedings of the 12th International Conference on Security and Cryptography for Networks (2020), pp. 45–64

  67. P. Todd, Making UTXO set growth irrelevant with low-latency delayed TXO commitments (2016). https://petertodd.org/2016/delayed-txo-commitments

  68. H. Wee, Black-box, round-efficient secure computation via non-malleability amplification, in Proceedings of the 51st Annual IEEE Symposium on Foundations of Computer Science (2010), pp. 531–540

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lior Rotem.

Additional information

Communicated by Serge Fehr.

Publisher's Note

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

Supported by the Israel Science Foundation (Grant No. 1336/22) and by the European Union (ERC, FTRC, 101043243). Views and opinions expressed are however those of the author(s) only and do not necessarily reflect those of the European Union or the European Research Council. Neither the European Union nor the granting authority can be held responsible for them.

Appendices

Appendix A: Non-malleability of Merkle Trees in the Random-Oracle Model

In this section, we show that a Merkle tree is a non-malleable static vector commitment scheme in the random-oracle model. Our notion of a non-malleable vector commitment scheme (recall Definition 3.1) naturally extends to the random-oracle model by allowing the scheme itself and the adversary \(\mathcal {A}\) to issue random-oracle queriesFootnote 10, whereas the simulator \(\mathcal {S}\), the distribution \(\mathcal {D}\) and the distinguisher \(\mathcal {R}\) remain standard-model algorithms.

Notation. For integers \(t \ge 1\) and \(i \in \{0, \ldots , 2^{\ell }-1\}\) we denote by \(\langle i \rangle _\ell \) the \(\ell \)-bit binary representation of i. For a string \(s \in \{0,1\}^*\) we denote by \(\textsf{sibling}(s)\) the string obtained from s by flipping its least-significant bit, by \(\textsf{parent}(s)\) the string obtained from s by chopping off its least-significant bit (that is, \(\textsf{parent}(s)\) is one bit shorter than s), and by \(\textsf{LSB}(s)\) its least-significant bit.

The construction. Let \({\textsf{H}}= \{ {\textsf{H}}_\lambda \}_{\lambda \in {\mathbb {N}}}\) be a hash function such that each \({\textsf{H}}_\lambda : \{0,1\}^{2\lambda } \rightarrow \{0,1\}^\lambda \) for every \(\lambda \in {\mathbb {N}}\). In what follows, for simplicity of presentation we assume that \(q= 2^d\) for some integer d.

figure g

Theorem A.1

If \({\textsf{H}}\) is modeled as a random oracle, then for any algorithm \(\mathcal {A}\) issuing at most \(p=p(\lambda )\) queries to the oracle, there exists an algorithm \(\mathcal {S}\) whose running time is polynomial in that of \(\mathcal {A}\), such that for every algorithm \({{\mathcal {R}}}\) it holds that

$$\begin{aligned} \textbf{Adv}^\textsf{NM}_{\textsf{tree}\mathcal{V}\mathcal{C}, q, \mathcal {A}, \mathcal {S}, \mathcal {R}, \mathcal {D}}(\lambda ) < \frac{p^2 + 10\cdot p \cdot q +24\cdot q^2 + 1}{2^\lambda -p-4\cdot q} \end{aligned}$$

for every \(\lambda \in {\mathbb {N}}\).

Proof

Let \(\mathcal {A}\) be an algorithm issuing at most \(p=p(\lambda )\) oracle queries and let \(\mathcal {D} = \{ \mathcal {D_\lambda } \}_{\lambda \in {\mathbb {N}}}\) be a valid distribution over \(\left\{ \left( \{0,1\}^\lambda \right) ^q \right\} _{\lambda \in {\mathbb {N}}}\). Assume without loss of generality that \(\mathcal {A}\) does not issue the same query more than once, and that when receiving a proof \(\pi \) for the ith element \(x_i\) (in Step 6 or 7 of the experiment \(\textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q,\mathcal {A}, \mathcal {D}}(\lambda )\)), it executes \(\textsf{Verify}^{\textsf{H}}(1^\lambda , \bot , \textsf{vcom}, i,x_i, \pi _i)\) where \(\textsf{vcom}\) is the commitment which \(\mathcal {A}\) receives as input in Step 5 of the experiment. Note that this adds at most \(2q-1\) oracle queries to \(\mathcal {A}\), as this is the number of inner nodes in the tree. Further assume without loss of generality, that for each \(j \in \mathcal {J}\) (where \(\mathcal {J}\) is the set outputted by \(\mathcal {A}\) in Step 6 of the experiment), \(\mathcal {A}\) executes \(\textsf{Verify}^{\textsf{H}}(1^\lambda , \bot , {\widehat{\textsf{vcom}}}, j,\widehat{x_j}, \widehat{\pi _j})\), where \({\widehat{\textsf{vcom}}}\) is the commitment outputted by \(\mathcal {A}\) in Step 6 of \(\textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q,\mathcal {A}, R, \mathcal {D}}(\lambda )\), and for each \(j\in \mathcal {J}\), \(\widehat{x_j}\) and \(\widehat{\pi _j}\) are the element and the corresponding proof outputted by \(\mathcal {A}\) in Step 7. This also adds at most \(2q-1\) oracle queries to \(\mathcal {A}\). \(\square \)

Consider the following simulator \(\mathcal {S}\):

figure h

Let \(\mathcal {R}\) be an algorithm. We now turn to analyze \(\textbf{Adv}^\textsf{NM}_{\textsf{tree}\mathcal{V}\mathcal{C}, q, \mathcal {A}, \mathcal {S}, \mathcal {R}, \mathcal {D}}(\lambda )\). Let \(p' = p + 4q - 2\), and let \(\textsf{Collision}\) denote the event, defined over the experiment \(\textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q,\mathcal {A}, \mathcal {D}}(\lambda )\), in which \(\mathcal {A}\) issues two oracle queries \(z, z' \in \{0,1\}^\lambda \) such that \({\textsf{H}}(z) = {\textsf{H}}(z')\). By a standard birthday bound argument,

$$\begin{aligned} \Pr \left[ \textsf{Collision} \right] \le \left( p'\right) ^2 \cdot 2^{-\lambda }. \end{aligned}$$
(A.1)

For each \(j\in [q]\), let \(\textsf{Guess}_j\) denote the event in which \(\mathcal {A}\) outputs \(\mathcal {J}\) and \({\widehat{\textsf{vcom}}}\) without having queried (before outputting \(\mathcal {J}\) and \({\widehat{\textsf{vcom}}}\)) a complete proof in the tree whose root is \({\widehat{\textsf{vcom}}}\) for some element \(\widehat{x_j}\) in the j-th location. That is, the complementing event \(\overline{\textsf{Guess}_j}\) is the event in which there is a value \(\widehat{x_j}\in \{0,1\}^\lambda \) and a proof \(\widehat{\pi _j}\in \{ 0,1 \}^{\lambda \cdot (\log (q)+1)}\) such that:

  • \(\mathsf {VC.}\textsf{Verify}^{{\textsf{H}}}(1^\lambda , \bot , {\widehat{\textsf{vcom}}}, j, \widehat{x_j},\widehat{\pi _j})=1\); and

  • \(\mathcal {A}\) issued all queries made by the computation \(\textsf{Verify}^{{\textsf{H}}}(1^\lambda , \bot , {\widehat{\textsf{vcom}}}, j, \widehat{x_j},\widehat{\pi _j})\) before outputting \(\mathcal {J}\) and \({\widehat{\textsf{vcom}}}\).

Denote by \(\textsf{Guess}\) the event in which there exists at least one index \(j \in \mathcal {J}\) for which \(\textsf{Guess}_j\) holds. Assume without loss of generality that \({{\mathcal {R}}}\) always outputs 0 on inputs of the form \(((x_1,\ldots ,x_q), (\bot )^q, \mathcal {I})\) (observe that any distinguisher can be transformed to a distinguisher for which this holds without affecting its advantage). Note that

$$\begin{aligned} \Pr \left[ \mathcal {R} \left( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda )\right) = 1 | \textsf{Guess} \right] \le p' \cdot 2^{-\lambda }. \end{aligned}$$
(A.2)

This is the case, since the event \(\textsf{Guess}\) occurring means that there exists a \(j \in \mathcal {J}\) for which \(\textsf{Guess}_j\) holds, and (by our assumption) the event \(\mathcal {R}\left( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda )\right) = 1\) is contained inside the event in which \(\textsf{Verify}^{{\textsf{H}}}(1^\lambda , \bot , {\widehat{\textsf{vcom}}}, j, \widehat{x_j},\widehat{\pi _j})=1\). But in order for the verification \(\textsf{Verify}^{{\textsf{H}}}(1^\lambda , \bot , j, \widehat{x_j},\widehat{\pi _j})\) to pass conditioned on \(\textsf{Guess}_j\), it must be the case that exists some value \(y \in \{0,1\}^\lambda \), determined by the view of \(\mathcal {A}\) when outputting \({\widehat{\textsf{vcom}}}\), and there exists a \(z \in \{0,1\}^\lambda \) such that \({\textsf{H}}(z)\) was queried by \(\mathcal {A}\) after outputting \({\widehat{\textsf{vcom}}}\) (recall that \(\mathcal {A}\) does not issue the same query twice); and \({\textsf{H}}(z) = y\). For each query \(z'\) made by \(\mathcal {A}\) after outputting \({\widehat{\textsf{vcom}}}\), it holds that \(\Pr \left[ {\textsf{H}}(z) = y \right] = 2^{-\lambda }\). Equation (A.2) then follows by a union bound over all queries made by \(\mathcal {A}\) after outputting \({\widehat{\textsf{vcom}}}\).

Let \(\textsf{kHit}\) denote the event in which \(\mathcal {A}\) queries the oracle for \(k\Vert \left<i\right>_\lambda \) for some \(i\in [q]\). For each \(j \in [p']\), let \(\textsf{kHit}_j\) denote the event in which a query of the form \(k \Vert \left<i\right>_\lambda \) (for some \(i \in [q]\)) is queried within the first j queries of \(\mathcal {A}\), and note that

$$\begin{aligned} \Pr \left[ \textsf{kHit} \right]= & {} \Pr \left[ \textsf{kHit}_1 \right] + \sum _{j = 2}^{p'} \Pr \left[ \textsf{kHit}_j | \overline{\textsf{kHit}_{j-1}} \right] \nonumber \\\le & {} \frac{1}{2^\lambda } + \sum _{j = 2}^{p'} \frac{1}{2^\lambda - j + 1} \end{aligned}$$
(A.3)
$$\begin{aligned}\le & {} \frac{p'}{2^\lambda - p' + 1}, \end{aligned}$$
(A.4)

where inequality (A.3) follow from the fact that if \(\overline{\textsf{kHit}_{j-1}} \) occurs, then conditioned on the view of \(\mathcal {A}\) before the j-th query, the value of k is uniformly distributed in a set of size at least \(2^\lambda - j + 1\).

Let \(\textsf{rHit}\) denote the event in which for some \(i \in \overline{\mathcal {I}}\), \(\mathcal {A}\) queries the oracle with a query \(y \Vert r_i\) before receiving the proofs \((\pi _i)_{i\in \overline{\mathcal {I}}}\). By total probability, it holds that:

$$\begin{aligned} \Pr \left[ \textsf{rHit} \right]\le & {} \Pr \left[ \textsf{rHit} | \overline{\textsf{kHit}}\right] + \Pr \left[ \textsf{kHit} \right] \nonumber \\\le & {} \Pr \left[ \textsf{rHit} | \overline{\textsf{kHit}}\right] + \frac{p'}{2^\lambda - p' + 1} \nonumber \\\le & {} \frac{q \cdot p'}{2^\lambda - p' + 1} + \frac{p'}{2^\lambda - p' + 1} \end{aligned}$$
(A.5)
$$\begin{aligned}\le & {} \frac{2\cdot q \cdot p'}{2^\lambda - p' + 1}. \end{aligned}$$
(A.6)

Inequality (A.5A.6) follows by a similar argument to that used to derive inequality (A.4).

Putting everything together, it holds that

$$\begin{aligned}{} & {} \textbf{Adv}^\textsf{NM}_{\textsf{tree}\mathcal{V}\mathcal{C}, q, \mathcal {A}, \mathcal {S}, \mathcal {R}, \mathcal {D}}(\lambda ) \nonumber \\{} & {} \qquad \qquad = \left| \Pr \left[ \mathcal {R} \left( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda )\right) = 1 \right] - \Pr \left[ \mathcal {R} \left( \textsf{Ideal}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {S}, \mathcal {D}}(\lambda )\right) = 1 \right] \right| \nonumber \\{} & {} \qquad \qquad \le \left| \Pr \left[ \mathcal {R} \left( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda ) \right) = 1 | \overline{\textsf{Collision}} \wedge \overline{\textsf{Guess}} \wedge \overline{\textsf{rHit}} \right] \right. \end{aligned}$$
(A.7)
$$\begin{aligned}{} & {} {\qquad \qquad } \quad \left. - \Pr \left[ \mathcal {R} \left( \textsf{Ideal}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {S}, \mathcal {D}}(\lambda ) \right) = 1| \overline{\textsf{Collision}} \wedge \overline{\textsf{Guess}} \wedge \overline{\textsf{rHit}} \right] \right| \nonumber \\{} & {} {\qquad } \quad \quad \quad \cdot \Pr \left[ \overline{\textsf{Collision}} \wedge \overline{\textsf{Guess}} \wedge \overline{\textsf{rHit}} \right] \nonumber \\{} & {} {\qquad \qquad } \quad + \left| \Pr \left[ \mathcal {R} \left( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda ) \right) = 1 \wedge \left( \textsf{Collision} \vee \textsf{Guess} \vee \textsf{rHit} \right) \right] \right. \nonumber \\{} & {} {\qquad \qquad } \quad \quad - \left. \Pr \left[ \mathcal {R} \left( \textsf{Ideal}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda ) \right) = 1 \wedge \left( \textsf{Collision} \vee \textsf{Guess} \vee \textsf{rHit} \right) \right] \right| \nonumber \\{} & {} {\qquad \qquad } \le \max \left\{ \begin{array}{l} \Pr \left[ \mathcal {R} \left( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda ) \right) = 1 \wedge \left( \textsf{Collision} \vee \textsf{Guess} \vee \textsf{rHit} \right) \right] , \\ \Pr \left[ \mathcal {R} \left( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda ) \right) = 1 \wedge \left( \textsf{Collision} \vee \textsf{Guess} \vee \textsf{rHit} \right) \right] \end{array} \right\} \nonumber \\ \end{aligned}$$
(A.8)

where inequality (A.7A.8) is by total probability, and follows also from the fact that the event \( \overline{\textsf{Collision}} \wedge \overline{\textsf{Guess}} \wedge \overline{\textsf{rHit}} \) is determined by the view of \(\mathcal {A}\), which is identically distributed in both \(\textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, R, \mathcal {D}}(\lambda )\) and in the experiment simulated by \(\mathcal {S}\) to \(\mathcal {A}\). In particular, \(\Pr \left[ \overline{\textsf{Collision}} \wedge \overline{\textsf{Guess}} \wedge \overline{\textsf{rHit}} \right] \) is equal in both experiments. In order to prove inequality (A.7), we argue that

$$\begin{aligned}{} & {} \Pr \left[ \mathcal {R} \left( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda ) \right) = 1 | \overline{\textsf{Collision}} \wedge \overline{\textsf{Guess}} \wedge \overline{\textsf{rHit}} \right] \\{} & {} \qquad \qquad \qquad = \Pr \left[ \mathcal {R}\left( \textsf{Ideal}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {S}, \mathcal {D}}(\lambda )\right) = 1| \overline{\textsf{Collision}} \wedge \overline{\textsf{Guess}} \wedge \overline{\textsf{rHit}} \right] . \end{aligned}$$

This is true since conditioned on \(\overline{\textsf{Collision}} \wedge \overline{\textsf{Guess}}\), the view of \(\mathcal {A}\) when outputting \({\widehat{\textsf{vcom}}}\) uniquely determines the values \(({\widehat{x}}_j)_{j \in \mathcal {J}}\) which \(\mathcal {A}\) can output in Step 7 of \( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda )\). Moreover, conditioned on \(\overline{\textsf{rHit}}\), the view of \(\mathcal {A}\) after Step 7 is independent of the values \((x_i)_{i \in \overline{\mathcal {I}}}\). Hence, the joint distribution of \(\left( (x_i)_{i\in [q]}, ({\widehat{x}}_j)_{j \in \mathcal {J}} \right) \) in the experiment simulated by \(\mathcal {S}\) to \(\mathcal {A}\) is equal to the joint distribution of \(\left( (x_i)_{i\in [q]}, ({\widehat{x}}_j)_{j \in \mathcal {J}} \right) \) in \(\textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda )\).

By the rule of replacement, the union bound and total probability, it holds that

$$\begin{aligned}{} & {} \Pr \left[ \mathcal {R} \left( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda ) \right) = 1 \wedge \left( \textsf{Collision} \vee \textsf{Guess} \vee \textsf{rHit} \right) \right] \\{} & {} \qquad \qquad \qquad \le \Pr \left[ \mathcal {R} \left( \textsf{Real}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda ) \right) = 1 | \textsf{Guess} \right] + \Pr \left[ \textsf{Collision} \right] + \Pr \left[ \textsf{rHit} \right] \\{} & {} \qquad \qquad \qquad \le \left( p' \right) ^2 \cdot 2^{-\lambda } + 2^{-\lambda } + \frac{2\cdot q \cdot p'}{2^\lambda - p' + 1} \\{} & {} \qquad \qquad \qquad \le \frac{\left( p' \right) ^2 + 1 + 2\cdot q \cdot p'}{2^\lambda - p' + 1}. \end{aligned}$$

The same analysis can be used to prove that

$$\begin{aligned}{} & {} \Pr \left[ \mathcal {R} \left( \textsf{Ideal}_{{\textsf{tree}\mathcal{V}\mathcal{C}},q, \mathcal {A}, \mathcal {D}}(\lambda ) \right) = 1 \wedge \left( \textsf{Collision} \vee \textsf{Guess} \vee \textsf{rHit} \right) \right] \\{} & {} \qquad \qquad \qquad \le \frac{\left( p' \right) ^2 + 1 + 2\cdot q \cdot p'}{2^\lambda - p' + 1}. \end{aligned}$$

Plugging in \(p' = p + 4\cdot q - 2 < p + 4\cdot q\) to Eq. (A.7), we get that

$$\begin{aligned} \textbf{Adv}^\textsf{NM}_{\textsf{tree}\mathcal{V}\mathcal{C}, q, \mathcal {A}, \mathcal {S}, \mathcal {R}, \mathcal {D}}(\lambda ) < \frac{p^2 + 10\cdot p \cdot q +24\cdot q^2 + 1}{2^\lambda -p-4\cdot q}. \end{aligned}$$

This concludes the proof of Theorem A.1. \(\square \)

Appendix B: Constructions of Locally Equivocable Commitments with All-But-One Binding

1.1 Appendix B.1: A Generic Construction

Our generic construction of a locally equivocable commitment scheme with all-but-one binding relies on any non-interactive equivocable commitment scheme (see Sect. 2.1). Such a scheme can be constructed based on the minimal assumption that one-way functions exist [20, 53], and therefore, this holds for our generic scheme as well. It should be noted, however, that our generic scheme is mainly of theoretical significance (e.g., due to the somewhat impractical yet polynomial length of its common-reference string), and the reader is referred to our number-theoretic constructions for practical alternatives.

Let \(\mathcal{E}\mathcal{Q}=(\mathsf {EQ.Setup}, \mathsf {EQ.Commit}, \mathsf {EQ.Decommit}, \mathsf {EQ.Equiv}_1, \mathsf {EQ.Equiv}_2)\) be an equivocable commitment scheme over a domain \(\mathcal {X} = \{ \mathcal {X}_\lambda \}_{\lambda \in {\mathbb {N}}}\). For any polynomial \(t = t(\lambda )\) we construct a locally equivocable commitment scheme with all-but-one binding \(\mathcal{L}\mathcal{E}= (\mathsf {LE.Setup}, \mathsf {LE.Commit}, \mathsf {LE.}\textsf{Decommit}, \mathsf {LE.AltSetup}, \mathsf {LE.Equiv}_1, \mathsf {LE.Equiv}_2)\) over the domain \(\mathcal {X}\) and the tag space \(\mathcal {T} = \{ \mathcal {T}_\lambda \}_{\lambda \in {\mathbb {N}}}\), where \(\mathcal {T}_{\lambda } = \{0,1\}^{t(\lambda )}\) for any \(\lambda \in {\mathbb {N}}\).

figure i

The following theorem establishes the security of the above generic construction:

Theorem B.1

Let \({\mathcal{E}\mathcal{Q}}\) be an equivocable commitment scheme over a domain \(\mathcal {X} = \{ \mathcal {X}_\lambda \}_{\lambda \in {\mathbb {N}}}\). Then, for any polynomial \(t(\lambda )\), the scheme \(\mathcal{L}\mathcal{E}\) is a locally equivocable commitment scheme with all-but-one binding over the domain \(\mathcal {X}\) and the tag space \(\mathcal {T} = \{ \mathcal {T}_\lambda \}_{\lambda \in {\mathbb {N}}}\), where \(\mathcal {T}_{\lambda } = \{0,1\}^{t(\lambda )}\) for any \(\lambda \in {\mathbb {N}}\).

Proof

In order to show that the scheme \(\mathcal{L}\mathcal{E}\) is locally equivocable and all-but-one binding (recall Definitions 4.1 and 4.2), we first observe that the local equivocability of \(\mathcal{L}\mathcal{E}\) follows immediately from the equivocability of \({\mathcal{E}\mathcal{Q}}\). Specifically, the equivocation correctness of \(\mathcal{L}\mathcal{E}\) follows directly from that of \({\mathcal{E}\mathcal{Q}}\), and the equivocation indistinguishability of \(\mathcal{L}\mathcal{E}\) follows via a standard hybrid argument from that of \({\mathcal{E}\mathcal{Q}}\). We therefore focus on proving that \(\mathcal{L}\mathcal{E}\) is all-but-one binding.

Let \(q = q(\lambda )\) be a polynomial, and let \(\mathcal {A}\) be a probabilistic polynomial-time algorithm that participates in the experiment \(\textsf{ABOBind}^{\mathcal{L}\mathcal{E}}_{q, \mathcal {A}}(\lambda )\). We show that there exists a probabilistic polynomial-time algorithm \(\mathcal {B}\) such that

$$\begin{aligned} \textbf{Adv}_{\mathcal{L}\mathcal{E}, q,\mathcal {A}}^{\textsf{ABOBind}} (\lambda ) \le q \cdot t \cdot \textbf{Adv}_{{\mathcal{E}\mathcal{Q}},\mathcal {B}}^\textsf{Bind}(\lambda ) \end{aligned}$$

for every \(\lambda \in {\mathbb {N}}\). Consider the following probabilistic polynomial-time algorithm \(\mathcal {B}\), which on input \((1^\lambda , \textsf{crs})\) is defined as follows:

  1. 1.

    Invoke \((\tau ,\textsf{st}_{\mathcal {A}}) \leftarrow \mathcal {A}(1^\lambda )\).

  2. 2.

    Sample \(i^*\leftarrow [q]\) and \(j^*\leftarrow [t]\).

  3. 3.

    For each \(i \in [q]\setminus \{ i^*\}\) and for each \(j \in [t]\) compute \(({\widehat{\textsf{crs}}}_{i,j,\tau _j},\widehat{c_{i,j}},{\textsf{st}_{i,j}}) \leftarrow \mathsf {EQ.Equiv}_1(1^\lambda )\) and sample \({\widehat{\textsf{crs}}}_{i,j,1-\tau _j} \leftarrow \mathsf {EQ.Setup}(1^\lambda )\).

  4. 4.

    For each \(j \in [t] \setminus \{ j^*\}\) compute \(({\widehat{\textsf{crs}}}_{i^{*},j,\tau _j},\widehat{c_{i^*,j}},{\textsf{st}_{i^*,j}}) \leftarrow \mathsf {EQ.Equiv}_1(1^\lambda )\) and sample \({\widehat{\textsf{crs}}}_{i^*,j,1-\tau _j} \leftarrow \mathsf {EQ.Setup}(1^\lambda )\).

  5. 5.

    Sample \(({\widehat{\textsf{crs}}}_{i^{*},j^*,\tau _{j^*}},\widehat{c_{i^*,j^*}},{\textsf{st}_{i^*,j^*}}) \leftarrow \mathsf {EQ.Equiv}_1(1^\lambda )\) and set \({\widehat{\textsf{crs}}}_{i^*,j^*,1-\tau _{j^*}} = \textsf{crs}\).

  6. 6.

    \((c,d,d',i',\tau ') \leftarrow \mathcal {A}(\textsf{st}_{\mathcal {A}}, \textsf{st}_0, \rho )\), where \(\textsf{st}_{0} = \left( \textsf{crs}_{i,j, 1-\tau _j} \right) _{(i, j)\in [q]\times [t]}\) and \(\rho \) is the concatenation of all random coins used in all invocations of \(\mathsf {EQ.Equiv}_1\) in Steps \(3-5\).

  7. 7.

    If \(i' \ne i^*\) or \(\tau _{j^*} = \tau '_{j^*}\), then output \(\bot \) and terminate.

  8. 8.

    Compute \(x = \mathsf {LE.}\textsf{Decommit}(1^\lambda , {\widehat{\textsf{crs}}}, c, d, i', \tau ')\) and \(x' = \mathsf {LE.}\textsf{Decommit}(1^\lambda , {\widehat{\textsf{crs}}}, c, d', i', \tau ')\), where \({\widehat{\textsf{crs}}} = ({\widehat{\textsf{crs}}}_{i,j,b})_{(i,j, b) \in [q]\times [t] \times \{0,1\}}\). If \(x = \bot \), \(x' = \bot \) or \(x = x'\) then output \(\bot \) and terminate.

  9. 9.

    Parse c as \(c_1 \Vert \cdots \Vert c_j\), d as \(d_1 \Vert \cdots \Vert d_j\) and \(d'\) as \(d'_1 \Vert \cdots \Vert d'_j\).

  10. 10.

    Output \((c_{j^*}, d_{j^*}, d'_{j^*})\).

We turn to bound \( \textbf{Adv}_{{\mathcal{E}\mathcal{Q}},\mathcal {B}}^\textsf{Bind}(\lambda )\). Let \(\textsf{Hit}\) denote the event in which \(i' = i^*\) or \(\tau _{j^*} \ne \tau '_{j^*}\), and let \(\textsf{SuccessA}\) denote the event in which \(\tau ' \ne \tau \), \(x \ne \bot \), \(x' \ne \bot \) and \(x \ne x'\) (where x and \(x'\) are as defined in Step 8). Since \(\mathcal {B}\) perfectly simulates the experiment \(\textsf{ABOBind}^{\mathcal{L}\mathcal{E}}_{q, \mathcal {A}} (\lambda )\) to \(\mathcal {A}\), it holds that

$$\begin{aligned} \Pr \left[ \textsf{SuccessA} \right] = \Pr \left[ \textsf{ABOBind}^{\mathcal{L}\mathcal{E}}_{q, \mathcal {A}} (\lambda ) = 1 \right] = \textbf{Adv}_{\mathcal{L}\mathcal{E}, q,\mathcal {A}}^{\textsf{ABOBind}}(\lambda ). \end{aligned}$$

Whenever \(\textsf{Hit}\) and \(\textsf{SuccessA}\) occur, it holds that \(d_{j^*}\) and \(d_{j^*}'\) are decommitments which open \(c_{j^*}\) to x and to \(x'\), respectively, with respect to the common reference string \(\textsf{crs}\) given as input to \(\mathcal {B}\). Moreover, in this case it holds that \(x \ne \bot \), \(x' \ne \bot \) and \(x \ne x'\). Hence, for every \(\lambda \in {\mathbb {N}}\) it holds that

$$\begin{aligned} \textbf{Adv}_{{\mathcal{E}\mathcal{Q}},\mathcal {B}}^\textsf{Bind}(\lambda )= & {} \Pr \left[ \textsf{Hit} \wedge \textsf{SuccessA} \right] \nonumber \\= & {} \Pr \left[ \textsf{Hit} | \textsf{SuccessA} \right] \cdot \Pr \left[ \textsf{SuccessA} \right] \nonumber \\\ge & {} \frac{1}{q \cdot t} \cdot \textbf{Adv}_{\mathcal{L}\mathcal{E}, q,\mathcal {A}}^{\textsf{ABOBind}}(\lambda ), \end{aligned}$$
(B.1)

where (B.1) follows from the fact that conditioned on \(\textsf{SuccessA}\), it holds in particular that \(\tau ' \ne \tau \). Hence, there exists at least one index \({\widetilde{j}} \in [t]\) for which \(\tau _{{\widetilde{j}}} \ne \tau '_{{\widetilde{j}}}\), and this index is independent of the choice of \(j^*\). \(\square \)

1.2 Appendix B.2: An Efficient Construction Based on the Discrete Logarithm Assumption

Let \(\textsf{GroupGen}\) be a probabilistic polynomial-time group-generation algorithm that receives as input the security parameter \(\lambda \in {\mathbb {N}}\) and outputs a triplet \(({\mathbb {G}}, p, g)\), where \({\mathbb {G}}\) is a cyclic group of order p that is generated by g, and p is a \(\lambda \)-bit prime number. The following construction of a locally equivocable commitment scheme with all-but-one binding is based on the hardness of the discrete logarithm problem relative to \(\textsf{GroupGen}\). The scheme’s domain space and tag space are both \({\mathbb {Z}}_p\) (they can both be set, for example, to \(\{0,1\}^{\lambda - 1}\) when injectively embedded into \({\mathbb {Z}}_p\) in order to depend only on the security parameter \(\lambda \)).

figure j

The following theorem establishes the security of the above construction:

Theorem B.2

Assuming the hardness of the discrete logarithm problem relative to \(\textsf{GroupGen}\), the scheme \(\mathcal{L}\mathcal{E}_\textsf{DL}\) is a locally equivocable commitment scheme with all-but-one binding.

Proof

In order to show that the scheme \(\mathcal{L}\mathcal{E}_\textsf{DL}\) is locally equivocable and all-but-one binding (recall Definitions 4.1 and 4.2), we first observe that it satisfies the equivocation correctness requirement since

$$\begin{aligned} \left( g_1^\tau \cdot g_2 \right) ^x \cdot g_3^{{\widehat{r}}} = \left( g_1^p \cdot g_3^y \right) ^x \cdot g_3^{u_i - y\cdot x} = g_3^{u_i}= \widehat{c_i}. \end{aligned}$$

In addition, one can easily verify that for any algorithm \(\mathcal {A}\) and for any integer \(q = q(\lambda )\), the views of \(\mathcal {A}\) in the experiments \(\textsf{IndParam}_{\mathcal{L}\mathcal{E}_\textsf{DL}, q,\mathcal {A}, 0}(\lambda )\) and \(\textsf{IndParam}_{\mathcal{L}\mathcal{E}_\textsf{DL}, q,\mathcal {A}, 1}(\lambda )\) are identically distributed, and hence the scheme \(\mathcal{L}\mathcal{E}_\textsf{DL}\) satisfies the equivocation indistinguishability requirement. We therefore focus on proving that \(\mathcal{L}\mathcal{E}_\textsf{DL}\) is all-but-one binding based on the hardness of the discrete logarithm problem.

Let \(q = q(\lambda )\) be a polynomial, and let \(\mathcal {A}\) be a probabilistic polynomial-time algorithm that participates in the experiment \(\textsf{ABOBind}^{\mathcal{L}\mathcal{E}_\textsf{DL}}_{q, \mathcal {A}}(\lambda )\). We show that there exists a probabilistic polynomial-time algorithm \(\mathcal {B}\) such that

$$\begin{aligned} \textbf{Adv}_{\mathcal{L}\mathcal{E}_\textsf{DL}, q,\mathcal {A}}^{\textsf{ABOBind}} (\lambda ) \le \Pr \left[ \mathcal {B} \left( {\mathbb {G}},p,g, g^z \right) = z \right] \end{aligned}$$

for every \(\lambda \in {\mathbb {N}}\), where \(({\mathbb {G}},p,g) \leftarrow \textsf{GroupGen}(1^\lambda ) \) and \(z \leftarrow {\mathbb {Z}}_p\). Consider the following probabilistic polynomial-time algorithm \(\mathcal {B}\), which on input \((1^\lambda , {\mathbb {G}}, p, g, h)\) where \(h = g^z\) is defined as follows:

  1. 1.

    Invoke \((\tau , \textsf{st}_{\mathcal {A}}) \leftarrow \mathcal {A}(1^\lambda )\).

  2. 2.

    Sample \(u_1, \ldots , u_q,y \leftarrow {\mathbb {Z}}_p\).

  3. 3.

    Set \(g_1 = g\), \(g_3 = h\) and \(g_2 = g_1^{p-\tau } \cdot g_3^{y}\).

  4. 4.

    Set \(\textsf{st}_{0} = ({\mathbb {G}}, p, g_1, g_3)\), \({\widehat{\textsf{crs}}} = ({\mathbb {G}}, p, g_1, g_2, g_3)\), and for each \(i\in [q]\) set \(\widehat{c_i} = g_3^{u_i}\).

  5. 5.

    Invoke \((c,d,d',i,\tau ') \leftarrow \mathcal {A}(\textsf{st}_{\mathcal {A}}, \textsf{st}_{0}, (u_1,\ldots ,u_q,y))\). Parse d as (xr) and \(d'\) as \((x', r')\).

  6. 6.

    If any of the following conditions holds, output \(\bot \) and terminate:

    • \(\tau = \tau '\).

    • \(x = x'\).

    • \(c \ne (g_1^{\tau '} \cdot g_2)^{x}\cdot g_3^{r}\) or \(c \ne (g_1^{\tau '} \cdot g_2)^{x'}\cdot g_3^{r'}\).

  7. 7.

    Output \(z' = (\tau '-\tau )\cdot (x - x') \cdot (y\cdot x' - y \cdot x + r' - r)^{-1}\).

We now analyze the success probability of the algorithm \(\mathcal {B}\) in computing the discrete logarithm z of \(h = g^z\). Let \(\textsf{SuccessA}\) denote the event in which \(\tau \ne \tau '\), \(x\ne x'\), \(c = (g_1^{\tau '} \cdot g_2)^{x}\cdot g_3^{r}\) and \(c = (g_1^{\tau '} \cdot g_2)^{x'}\cdot g_3^{r'}\). Since \(\mathcal {B}\) perfectly simulates the experiment \(\textsf{ABOBind}_{\mathcal{L}\mathcal{E}_\textsf{DL}, q, \mathcal {A}} (\lambda )\) to \(\mathcal {A}\), it holds that

$$\begin{aligned} \Pr \left[ \textsf{SuccessA} \right] = \Pr \left[ \textsf{ABOBind}_{\mathcal{L}\mathcal{E}_\textsf{DL},q, \mathcal {A}} (\lambda ) = 1 \right] = \textbf{Adv}_{\mathcal{L}\mathcal{E}_\textsf{DL}, q,\mathcal {A}}^{\textsf{ABOBind}}(\lambda ). \end{aligned}$$

Moreover, conditioned on \(\textsf{SuccessA}\), it holds that

$$\begin{aligned} (g_1^{\tau '} \cdot g_2)^{x}\cdot g_3^{r} = c = (g_1^{\tau '} \cdot g_2)^{x'}\cdot g_3^{r'}. \end{aligned}$$

Using the identity \(g_2 = g_1^{p-\tau }\cdot g_3^y\), we get

$$\begin{aligned} g_1^{(\tau '-\tau )\cdot x} \cdot g_3^{x\cdot y + r} = g_1^{(\tau '-\tau )\cdot x'} \cdot g_3^{x\cdot y + r'}. \end{aligned}$$

Rearranging, it holds that

$$\begin{aligned} g_1^{(\tau '-\tau )\cdot (x-x')} = g_3^{y\cdot x' - y \cdot x + r' - r}. \end{aligned}$$
(B.2)

To conclude the proof, note that conditioned on \(\textsf{SuccessA}\), it holds that \((\tau '-\tau )\cdot (x-x') \ne 0\), since \(\tau ' \ne \tau \) and \(x' \ne x\). Therefore, Eq. (B.2) implies that \(y\cdot x' - y \cdot x + r' - r\) is nonzero and is therefore invertible in \({\mathbb {Z}}_p\). Hence, Eq. (B.2) can be rewritten as

$$\begin{aligned} g_3 = g_1^{(\tau '-\tau )\cdot (x - x') \cdot (y\cdot x' - y \cdot x + r' - r)^{-1}} = g_1^{z'}. \end{aligned}$$

Recall that \(g_1 = g\) and \(g_3 = h\), and therefore \(g^{z'} = h\). In other words, conditioned on \(\textsf{SuccessA}\), the algorithm \(\mathcal {B}\) computes the discrete logarithm of h with respect to g with probability 1. \(\square \)

1.3 Appendix B.3: An Efficient Construction Based on the RSA Assumption

Let \(\textsf{ModGen}\) be a probabilistic polynomial-time modulus-generation algorithm that receives as input the security parameter \(\lambda \in {\mathbb {N}}\) and outputs a pair (Ne), where N is the product of two \(\lambda \)-bit primes and \(\gcd (e, \phi (N)) = 1\). The following construction of a locally equivocable commitment scheme with all-but-one binding is based on the hardness of the RSA problem relative to \(\textsf{ModGen}\). The scheme’s domain space and tag space are both \({\mathbb {Z}}_e\) where \((N,e) \leftarrow \textsf{ModGen}(1^\lambda )\).

figure k

The following theorem establishes the security of the above construction:

Theorem B.3

Assuming the hardness of the RSA problem relative to \(\textsf{ModGen}\), the scheme \(\mathcal{L}\mathcal{E}_\textsf{RSA}\) is a locally equivocable commitment scheme with all-but-one binding.

Proof

In order to show that the scheme \(\mathcal{L}\mathcal{E}_\textsf{RSA}\) is locally equivocable and all-but-one binding (recall Definitions 4.1 and 4.2), we first observe that it satisfies the equivocation correctness requirement since

$$\begin{aligned} \left( g^\tau \cdot h \right) ^x \cdot {\widehat{u}}^e = w^{e\cdot x}\cdot \left( \frac{v_i}{w^x} \right) ^e =v_i^e = \widehat{c_i}. \end{aligned}$$

In addition, one can easily verify that for any algorithm \(\mathcal {A}\) and for any integer \(q = q(\lambda )\), the views of \(\mathcal {A}\) in the experiments \(\textsf{IndParam}_{\mathcal{L}\mathcal{E}_\textsf{RSA}, q,\mathcal {A}, 0}(\lambda )\) and \(\textsf{IndParam}_{\mathcal{L}\mathcal{E}_\textsf{RSA}, q,\mathcal {A}, 1}(\lambda )\) are identically distributed, and hence the scheme \(\mathcal{L}\mathcal{E}_\textsf{RSA}\) satisfies the equivocation indistinguishability requirement. We therefore focus on proving that \(\mathcal{L}\mathcal{E}_\textsf{RSA}\) is all-but-one binding based on the hardness of the RSA problem.

Let \(q = q(\lambda )\) be a polynomial, and let \(\mathcal {A}\) be a probabilistic polynomial-time algorithm that participates in the experiment \(\textsf{ABOBind}^{\mathcal{L}\mathcal{E}_\textsf{RSA}}_{q, \mathcal {A}}(\lambda )\). We show that there exists a probabilistic polynomial-time algorithm \(\mathcal {B}\) such that

$$\begin{aligned} \textbf{Adv}_{\mathcal{L}\mathcal{E}_\textsf{RSA}, q,\mathcal {A}}^{\textsf{ABOBind}} (\lambda ) \le \Pr \left[ \mathcal {B} \left( 1^\lambda , N, e, g \right) = g^{1/e} \right] \end{aligned}$$

for every \(\lambda \in {\mathbb {N}}\), where \((N, e) \leftarrow \textsf{ModGen}(1^\lambda ) \) and \(g \leftarrow {\mathbb {Z}}_N^*\). Consider the following probabilistic polynomial-time algorithm \(\mathcal {B}\), which on input \((1^\lambda , N, e, g)\) is defined as follows:

  1. 1.

    Invoke \((\tau , \textsf{st}_{\mathcal {A}}) \leftarrow \mathcal {A}(1^\lambda )\).

  2. 2.

    Sample \(v_1, \ldots , v_q,w \leftarrow {\mathbb {Z}}_N^*\).

  3. 3.

    Compute \(h = w^e/g^\tau \).

  4. 4.

    Set \(\textsf{st}_{0} = (N,e,g)\), \({\widehat{\textsf{crs}}} = (N,e,g,h)\), and for each \(i\in [q]\) set \(\widehat{c_i} = v_i^e\).

  5. 5.

    Invoke \((c,d,d',i,\tau ') \leftarrow \mathcal {A}(\textsf{st}_{\mathcal {A}}, \textsf{st}_{0}, (v_1,\ldots ,v_q,w))\). Parse d as (xu) and \(d'\) as \((x', u')\).

  6. 6.

    If any of the following conditions holds, output \(\bot \) and terminate:

    • \(\tau = \tau '\).

    • \(x = x'\).

    • \(c \ne (g^{\tau '} \cdot h)^{x}\cdot u^{e}\) or \(c \ne (g^{\tau '} \cdot h)^{x'}\cdot (u')^{e}\).

  7. 7.

    Compute integers a and b such that \(a\cdot e + b\cdot (\tau '-\tau )\cdot (x-x') = 1\). Such integers are guaranteed to exist and can be found efficiently using the extended Euclidean algorithm since, as we will later show, if this step is reached then it must be the case that e and \((\tau '-\tau )\cdot (x-x')\) are relatively prime.

  8. 8.

    Output \(z = g^a \cdot \left( \frac{w^{x'}\cdot u'}{w^x \cdot u}\right) ^b\).

We turn to bound the advantage of the algorithm \(\mathcal {B}\) in computing the e-th root of g modulo N. Let \(\textsf{SuccessA}\) denote the event in which \(\tau \ne \tau '\), \(x\ne x'\), \(c \ne (g^{\tau '} \cdot h)^{x}\cdot u^{e}\) and \(c \ne (g^{\tau '} \cdot h)^{x'}\cdot (u')^{e}\). Since \(\mathcal {B}\) perfectly simulates the experiment \(\textsf{ABOBind}_{\mathcal{L}\mathcal{E}_\textsf{RSA}, q, \mathcal {A}} (\lambda )\) to \(\mathcal {A}\), it holds that

$$\begin{aligned} \Pr \left[ \textsf{SuccessA} \right] = \Pr \left[ \textsf{ABOBind}_{\mathcal{L}\mathcal{E}_\textsf{RSA}, q, \mathcal {A}} (\lambda ) = 1 \right] = \textbf{Adv}_{\mathcal{L}\mathcal{E}_\textsf{RSA}, q,\mathcal {A}}^{\textsf{ABOBind}}(\lambda ). \end{aligned}$$

Observe that conditioned on \(\textsf{SuccessA}\), it is the case that

$$\begin{aligned} (g^{\tau '} \cdot h)^{x}\cdot u^{e} = c = (g^{\tau '} \cdot h)^{x'}\cdot (u')^{e}, \end{aligned}$$

and since \(h = w^e/g^\tau \), it holds that

$$\begin{aligned} g^{(\tau '-\tau )\cdot x} \cdot \left( w^x \cdot u \right) ^e = g^{(\tau '-\tau )\cdot x'} \cdot \left( w^{x'} \cdot u' \right) ^e \end{aligned}$$

This in turn implies that

$$\begin{aligned} g^{(\tau '-\tau )\cdot (x-x')} = \left( \frac{w^{x'} \cdot u'}{w^x \cdot u} \right) ^e. \end{aligned}$$
(B.3)

Observe that conditioned on \(\textsf{SuccessA}\), it holds \(\tau ' \ne \tau \) and \(x' \ne x\). Since \(\tau , \tau ', x, x' \in {\mathbb {Z}}_e\), this means that \((\tau ' -\tau )\cdot (x-x')\) is coprime to e. This implies that there exist integers a and b such that \(a\cdot e + b\cdot (\tau '-\tau )\cdot (x-x') = 1\) and these are found by \(\mathcal {B}\) in Step 7. Hence, it holds that

$$\begin{aligned} z^e= & {} g^{a\cdot e} \cdot \left( \frac{w^{x'}\cdot u'}{w^x \cdot u}\right) ^{b\cdot e} \\= & {} g^{a \cdot e + b \cdot (\tau ' - \tau )\cdot (x - x')} \\= & {} g. \end{aligned}$$

In other words, conditioned on \(\textsf{SuccessA}\), the algorithm \(\mathcal {B}\) computes the e-th root of g with probability 1. \(\square \)

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

Rotem, L., Segev, G. Non-malleable Vector Commitments via Local Equivocability. J Cryptol 36, 40 (2023). https://doi.org/10.1007/s00145-023-09480-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s00145-023-09480-4

Keywords

Navigation