Skip to main content

Efficient Zero-Knowledge Arguments for Matrix Relations over Rings and Non-malleable Enhancement

  • Conference paper
  • First Online:
Provable and Practical Security (ProvSec 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14217))

Included in the following conference series:

  • 467 Accesses

Abstract

Various matrix relations widely appeared in data-intensive private computations, as a result their efficient zero-knowledge proofs/ arguments are indispensable in such applications. In the first part of this paper, we concretely establish efficient zero-knowledge arguments for linear matrix relation \(\textbf{A} \textbf{U}=\textbf{B}\) over the residue ring \(\textrm{Z}_m\) with logarithmic message complexity. We take a direct, matrix-oriented (rather than vector-oriented in usual) approach to such establishments on basis of the elegant commitment scheme over finite ring recently established by Attema et al. (2022). The commit-and-proof protocol is public-coin and in c.r.s paradigm (c.r.s used only as the public-key of the commitment scheme), suitable for matrices in any size and significantly outperforms the protocols constructed in usual approach with smaller-sized c.r.s.(e.g., decreased by a factor of d where d is the extension degree of Galois ring and n is the order of the witness square), fewer rounds (decreased by a fraction \(>\log d / 2 \log n\)) and lower message complexity (e.g., number of ring elements decreased by a fraction \(>\log d / \log n\)) for large-size squares. The on-line computational complexities are almost the same in both approaches. In the second part, on basis of the simulation-sound tag-based trapdoor commitment scheme we establish a general compiler to transform any public coin proof/argument protocol into the one which is concurrently non-malleable with unchanged number of rounds, slightly increased message and computational complexity. Such enhanced protocols, e.g., the version compiled from the construction in the first part of this work, can run in parallel environment while keeping all their security properties, particularly resisting man-in-the-middle attacks.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    Each \(g_i\) is the m-th power of some element in \(\textrm{G}\), as a result the commitment to any message is always in \(\textrm{G}^m\) (except for a random factor \(-1\) in case of even m) [22].

  2. 2.

    For simplicity, here and in the following arguments we always omit the long expressions for random objects which can be easily derived from basic formulas in Sect. 3.1 in [22].

References

  1. Damagard, I., Cramer, R., Nielsen, J.B.: Secure Multiparty Computation and Secret Sharing. Cambridge University Press, Cambridge (2015)

    MATH  Google Scholar 

  2. Furukawa, J., Lindell, Y.: Two-thirds honest-majority MPC for malicious adversaries at Almost the Cost of Semi-Honest. In: 26th ACM CCS, pp. 1557–1571 (2019)

    Google Scholar 

  3. Kosba, A., Papamanthou, C., Shi, E.: xJsnark: a framework for efficient verifiable computation. IEEE Symposium on Privacy and Security, pp. 128–149 (2018)

    Google Scholar 

  4. Cecchetti, E., Zhang, F., Ji, Y., Kosba, A., Juels, A., Shi, E.: Solidus: Confidential Distributed Ledger Transactions via PVORM, pp. 701–718. ACM Computer and Communication Security, Dalas (2017)

    Google Scholar 

  5. Bünz, B., Fisch, B., Szepieniec, A.: Transparent SNARKs from DARK compilers. In: Canteaut, A., Ishai, Y. (eds.) EUROCRYPT 2020. LNCS, vol. 12105, pp. 677–706. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-45721-1_24

  6. Bootle, J., Cerulli, A., Chaidos, P., Groth, J., Petit, C.: Efficient zero-knowledge arguments for arithmetic circuits in the discrete log setting. In: Fischlin, M., Coron, J.-S. (eds.) EUROCRYPT 2016. LNCS, vol. 9666, pp. 327–357. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49896-5_12

  7. Bünz, B., Bootle, J., Boneh, D., Poelstra, A., Wuille, P., Maxwell, G.: Bulletproofs: short proofs for confidential transactions and more. In: IEEE Symposium on Security and Privacy, pp. 315–334. IEEE Computer Society Press (2018)

    Google Scholar 

  8. Hoffmann, M., Klooß, M., Rupp, A.: Efficient zero-knowledge arguments in discrete log setting, revisited. In: ACM Conference on Computer and Communication Security (2019)

    Google Scholar 

  9. Attema, T., Cramer, R., Rambaud, M.: Compressed \(\rm {\Sigma }\)-protocols for bilinear group arithmetic circuits and application to logarithmic transparent threshold signatures. In: Tibouchi, M., Wang, H. (eds.) ASIACRYPT 2021. LNCS, vol. 13093, pp. 526–556. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-92068-5_18

  10. Russell, W., Lai, F., Malavolta, G., Ronge, V.: Succinct arguments for bilinear group arithmetic: practical structure -preserving cryptography. ACM Conference on Computer and Communications Security, pp. 2057–2074 (2019)

    Google Scholar 

  11. Attema, T., Cramer, R., Fehr, S.: Compressing proofs of k-out-of-n partial knowledge. In: Malkin, T., Peikert, C. (eds.) CRYPTO 2021. LNCS, vol. 12828, pp. 65–91. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-84259-8_3

  12. Attema, T., Cramer, M.: Compressed \(\rm \Sigma \)-protocol theory and practical application to plug and play secure algorithms. In: CRYPTO, LNCS, pp. 513–543. Springer, Heidelberg (2020). Full-version available at IACR ePrint 2020/152

    Google Scholar 

  13. Attema, T., Cramer, R., Kohl, L.: A compressed \(\rm {\Sigma }\)-protocol theory for lattices. In: Malkin, T., Peikert, C. (eds.) CRYPTO 2021. LNCS, vol. 12826, pp. 549–579. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-84245-1_19

  14. Couteau, G., Peters, T., Pointcheval, D.: Removing the Strong RSA Assumption from Arguments over the Integers. In: Coron, J.-S., Nielsen, J.B. (eds.) EUROCRYPT 2017. LNCS, vol. 10211, pp. 321–350. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-56614-6_11

  15. Damgård, I., Fujisaki, E.: A statistically-hiding integer commitment scheme based on groups with hidden order. In: Zheng, Y. (ed.) ASIACRYPT 2002. LNCS, vol. 2501, pp. 125–142. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36178-2_8

  16. Attema, T., Cascudo, I., Cramer, R., Damgard, I., Escudero, D.: Vector commitments over rings and compressed Sigma-protocols. In: Theory of Cryptography Conference, pp. 173–202 (2022)

    Google Scholar 

  17. Wan, Z.: Lectures on Finite Fields and Galois Rings. Academy of Sciences Press, Beijing (2006)

    Google Scholar 

  18. Goldreich, O.: Foundations of Cryptography. Basic Techniques, vol. 1. Cambridge University Press, Cambridge (2005)

    Google Scholar 

  19. Katz, J., Lindell, Y.: Modern Cryptography. Chapman Hall/CRC Press (2020)

    Google Scholar 

  20. MacKenzie, P., Yang, K.: On simulation-sound trapdoor commitments. In: Cachin, C., Camenisch, J.L. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 382–400. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24676-3_23

  21. Garay, J.A., MacKenzie, P., Yang, K.: Strengthening zero-knowledge protocols using signatures. J. Cryptol. 19(2), 169–209 (2006). https://doi.org/10.1007/s00145-005-0307-3

  22. Gennaro, R.: Multi-trapdoor commitments and their applications to proofs of knowledge secure under concurrent man-in-the-middle attacks. In: Franklin, M. (ed.) CRYPTO 2004. LNCS, vol. 3152, pp. 220–236. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-28628-8_14

  23. Bleichenbacher, D., Maurer, U.: On the efficiency of one-time digital signatures. In: Kim, K., Matsumoto, T. (eds.) ASIACRYPT 1996. LNCS, vol. 1163, pp. 145–158. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0034843

  24. Yuan, T.: Efficient zero-knowledge arguments for some matrix relations over rings and non-malleable enhancement. IACR eprint.iacr.org 2022/1689

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yuan Tian .

Editor information

Editors and Affiliations

Appendix A. Proof of Lemma 3

Appendix A. Proof of Lemma 3

Let \(\textrm{P}^* \equiv \left( \textrm{P}_1{ }^*, \textrm{P}_2{ }^*\right) \) be a P.P.T. algorithm which convinces the verifier with a statement \(x^*\) in the game \({\text {Exp}}^{\textrm{P}^*}\) in Definition 8 , i.e.:

figure o

where \({\text {Tr}}^* \equiv \left[ s_{-} v k^*, y_1{ }^*, \ldots , y_k{ }^*,\left( x_1{ }^*, d_1{ }^*, \ldots , x_k{ }^*, d_k{ }^*, x_{k+1}{ }^*\right) , s^*\right] , \textrm{S} \equiv \left( \textrm{S}_1, \mathrm {~S}_2\right) \) be the simulator constructed in Lemma 3’s proof. For presentational simplicity, let \(\mu _1=\ldots =\) \(\mu _k \equiv \mu \), otherwise for \(\mu \equiv \max \mu _i\) the following argument is still valid.

We construct a P.P.T. extractor Ext which calls P \(^*\) and interacts with it both in the role of prover (via its component algorithm Ext::P) and the role of verifier (via the component algorithm Ext:V). Since Ext can rewind \(\textrm{P}^*\) (mainly \(\textrm{P}_2{ }^*\) in the following) to any state, for presentational simplicity we take an equivalent view in concurrent environment that Ext can fork \(\textrm{P}^*\) instance at any state. The forked instance inherits its parent state and proceeds as specified in the protocol from that state on.

Ext executes the interactions with \(\textrm{P}^*\) in the follow way:

In the role of prover, Ext::P calls the simulator \(\textrm{S}\) to interact with \(\textrm{P}_1{ }^*\). Note that \(\textrm{S}_1\) calls SSTC’s key-generator TCGen to generate and output the public/secret key pair (pksk) so Ext can obtain this key pair from \(\textrm{S}\).

In the role of verifier, each time right before Ext::V sends the first challenge \(e_1\) to \(\textrm{P}_2{ }^*\), Ext forks it into \(\mu \) \( \textrm{P}_2{ }^*\)-instances and sends randomly independent and pairwise distinct challenges \(e_i^{(1)}, i=1, \ldots , \mu \) to each \(\textrm{P}_2{ }^*\)-instance.

Every time right before Ext::V sends the second challenge \(e_2\) to some \(\textrm{P}_2{ }^*\)- instance, Ext forks it into \(\mu \) \( \textrm{P}_2{ }^*\)-instances, sends independent and pairwise distinct challenges \(e_1{ }^{(2)}, \ldots , e_\mu { }^{(2)}\) to each instance.

Every instance inherits its parent’s state and proceeds after receiving its challenge. Such operations proceed until all rounds are finished in protocol CNM\(\textrm{ZKAoK} / \textrm{R}\).

Let \(\textrm{T}\left( x^*\right) \) be a tree constructed as stated in Definition 3 for the above interactions, with \(\left[ s_{-} v k^*, y_1^*\right] \) as its root. According to the above operation, \(\textrm{T}\left( x^*\right) \) is a session tree and each path \(\gamma \) in the tree is a trace \({\text {Tr}}<\textrm{P}_2{ }^*, \mathrm {~V}>\left( x^*\right) \).

Since the verifier generates k challenges in CNM-ZKAoK/R, i.e., each path in \(\textrm{T}\left( x^*\right) \) has k edges along it, so in the tree:

$$\begin{aligned} \begin{aligned} & \text {Total number of edges } \textrm{N}=\mu +\mu ^2+\ldots +\mu ^k<\mu ^{k+1} \\ & \text {Total number of nodes } \textrm{M}=1+\mu +\mu ^2+\ldots +\mu ^{k-1}<\mu ^k \\ & \textrm{K}= \text{ total } \text{ number } \text{ of } \text{ leaves } =\mu ^k\\ \end{aligned} \end{aligned}$$
(A.1)

Define a event as:

Tree \(\textrm{T}\left( x^*\right) \) is accepting, i.e., \(b^*(\gamma )=1\) for every path \(\gamma \) in the tree.

Consider two subevents \(\textrm{P}\left[ {\text {Succ}} \wedge \textrm{T}^0\left( x^*\right) \right] \) and \(\textrm{P}\left[ {\text {Succ}} \wedge \sim \textrm{T}^0\left( x^*\right) \right] \).

In the event of , Succ occurs and all session variables \(x_i\) associated with nodes \(y_i(\gamma )\left( y_i(\gamma )\right. \) stands for a node on path \(\gamma \) and at level \(\left. i\right) \) in the accepting tree \(\textrm{T}\left( x^*\right) \) are in consistency with each other, i.e., \(x_i(\gamma )=x_i(\beta )\) for any path \(\gamma \) and \(\beta \) bifurcating at node \(y_i(\gamma )\) (so \(y_i(\gamma )=y_i(\beta ) \equiv y_i, i \ge 1\)), so after replacing each node \(y_i\) with \(x_i\) one can obtain an accepting session tree of protocol ZKAoK/R., denoted as \(\textrm{T}^0\left( x^*\right) \).

Since \(\textrm{ZKAoK} / \textrm{R}\) is \(\left( \mu _1, \ldots , \mu _k\right) \)-special sound, its P.P.T. extractor \({\text {Ext}}^0\) can be called by Ext to output a \(w^*\) s.t. \(\left( x^*, w^*\right) \in \) R. In particular:

$$\begin{aligned} \textrm{P}\left[ {\text {Succ}} \wedge \textrm{T}^0\left( x^*\right) \right] \le \textrm{P}\left[ \text{ Ext } \text{ outputs } \text{ a } w^* \text{ s.t. } \left( x^*, w^*\right) \in \textrm{R}\right] \end{aligned}$$
(A.2)

and note that the event on the right side is just .

For arguments on the complimentary event , i.e., no session tree for protocol \(\textrm{ZKAoK} / \textrm{R}\) can be successfully derived from \(\textrm{T}\left( x^*\right) \) in the abovementioned way, we consider two further subcases.

Case I : \(s_{-} v k^*\) Does Not Appear in Any Message Output from \(\textrm{S}_2\)

We construct a P.P.T. algorithm \(\textbf{A}\) on basis of \(\textrm{P}^*\) to destroy SSTC’s simulation soundness in this case. \(\textbf{A}\) has SSTC’s public key pk as one of its input, has access to oracle-\(\textrm{O}(. \mid s k)\) and controls interactions of \(\textrm{S}\) (in role of prover) and \(\textrm{V}\) with \(\textrm{P}^*\) similarly as Ext does. During the interactions, whenever \(\textrm{S}_2\) needs to generate the message \(Y_i\) or \(D_i\) in the protocol(see (A.1) and (A.2)), \(\textbf{A}\) queries its oracle-\(\textrm{O}(. \mid s k)\) with [“commit”, \(t_i\) ] or [“decommit”, \(\left. Y_i, X_i\right] \) and returns the oracle’s response to \(\textrm{S}_2\).

In the event of \({\text {Succ}} \wedge \sim \textrm{T}^0\left( x^*\right) \), there exist at least two paths \(\gamma ^*\) and \(\beta ^*\) in \(\textrm{T}\left( x^*\right) \) which bifurcate at some node \(y_i\left( \gamma ^*\right) =y_i\left( \beta ^*\right) \equiv y_i^*(i \ge 1)\) with the associated session variables unequal: \(x_i\left( \gamma ^*\right) \ne x_i\left( \beta ^*\right) \). On the other hand, \(b\left( \gamma ^*\right) =b\left( \beta ^*\right) =1\) so

$$\begin{aligned} {\text {TCvf}}\left( p k, y_i^*, x_i\left( \gamma ^*\right) , t_i, d_i\left( \gamma ^*\right) \right) =1 \wedge {\text {TCvf}}\left( p k, y_i^*, x_i\left( \beta ^*\right) , t_i, d_i\left( \beta ^*\right) \right) =1 \end{aligned}$$

where \(t_i=\textrm{H}\left( s_{-} v k^*|| i\right) \) is independent with any path.

In case I \(s_{-} v k^*\) does not appear in any message output from \(\textrm{S}_2\) and \(\textrm{H}\) is collision-resistant, no \(t_i\) can be in the set of tags once received by oracle-O\((. \mid s k)\). As a result, the algorithm \(\textbf{A}\) generates a output destroying scheme SSTC’s simulation soundness with the probability

$$\begin{aligned} p_{\textrm{I}} \equiv \textrm{P}\left[ {\text {Succ}} \wedge \sim \textrm{T}^0\left( x^*\right) \wedge \text{ Case } \textrm{I}\right] \le \textrm{MAdv}_{T C}^{S S}(\lambda )<\mu ^k {\text {Adv}}_{T C}^{S S}(\lambda ) \end{aligned}$$
(A.3)

Case II : \(s_{-} v k^*\) Does Appear in Some Message Output from \(\textrm{S}_2\)

On basis of \(\textrm{P}^*\), we construct a P.P.T. algorithm \(\textbf{B}\) to destroy strong unforgeabililty of the one-time signature scheme \(\textrm{SG}\) in this case. \(\textbf{B}\) has the signature verification key \(s_{-} v k^*\) as one of its input and has access to the signing oracle-OSgn(. \(\left. \mid s_{-} s k^*\right) \) at most one-time.

Let \(\textrm{T}\) be total number of message sequences output from \(\textrm{S}_2\) during interactions with \(\textrm{P}^*\). B selects a \(m \in \{1,2, \ldots , T\}\) uniformly, inserts \(s_{-} v k^*\) into the m-th message sequence during the interactions between \(\textrm{S}_2\) and \(\textrm{P}_1^*\), and generates the signature of this trace required by CNM-ZKAoK/R via accessing oracle-OSgn(. \(\left. \mid s_{-} s k^*\right) \).

If the m-th sequence \({\text {Tr}}_m\) is the one where \(s_{-} v k^*\) appeared, then B makes \(\textrm{P}^*\) succeed in generating an accepting trace \({\text {Tr}}^* \ne {\text {Tr}}_m\). The fact that \({\text {Tr}}^*\) contains a signature \(s^*\) satisfying \({\text {Vf}}\left( s_{-} v k^*, {\text {Tr}}^*, s^*\right) =1\) implies B’s success in destroying SG’s onetime unforgeability. Obviously:

$$\begin{aligned} p_{\textrm{II}} \equiv \textrm{P}\left[ {\text {Succ}} \wedge \sim \textrm{T}^0\left( x^*\right) \wedge \text{ Case } \text{ II } \right] \le \textrm{TAdv}_{S G}^{U F(1)}(\lambda ) \end{aligned}$$
(A.4)

Since Case I and II are complementary, from (A.3) and (A.4) one obtains

$$\begin{aligned} \textrm{P}\left[ {\text {Succ}} \wedge \sim \textrm{T}^0\left( x^*\right) \right] =p_{\textrm{I}}+p_{\textrm{II}} \le \mu ^k {\text {Adv}}_{T C}^{S S}(\lambda )+{\text {TAdv}}_{S G}^{U F(1)}(\lambda ) \end{aligned}$$
(A.5)

Combining (A.2) and (A.5) one has:

$$\begin{aligned} \begin{aligned} & \textrm{P}[ \text{ Succ } ]=\textrm{P}\left[ {\text {Succ}} \wedge \textrm{T}^0\left( x^*\right) \right] +\textrm{P}\left[ {\text {Succ}} \wedge \sim \textrm{T}^0\left( x^*\right) \right] \\ \le & \textrm{P}[{\text {EXT}}]+\mu ^k {\text {Adv}}_{T C}^{S S}(\lambda )+{\text {TAdv}}_{S G}^{U F(1)}(\lambda ) \end{aligned} \end{aligned}$$
(A.6)

On the other hand, one can apply an analysis similar as that in Sect.  3 in [13] (see Lemma 5 there) to obtain a lower-bound of \(\textrm{P}[\)Succ] as:

$$\begin{aligned} \textrm{P}[ {\text {Succ}}]>\pi \left( \textrm{P}^* \mid \lambda \right) -k \mu /|\textrm{E}| \end{aligned}$$
(A.7)

So

$$\begin{aligned} \textrm{P}[\textrm{EXT}]>\pi \left( \textrm{P}^* \mid \lambda \right) -k \mu /|\textrm{E}|-\mu ^k {\text {Adv}}_{T C}^{S S}(\lambda )+{\text {TAdv}}_{S G}^{U F(1)}(\lambda ) \end{aligned}$$
(A.8)

Note that \(n, \mathrm {~T}={\text {poly}}(\lambda ), \mu =\textrm{O}(1)\) and \(k=\textrm{O}(\log n)\) so the third and fourth terms in (A.8) are both negligible in \(\lambda \). According to Ext’s construction, its running time is \(\mu ^k {\text {poly}}(n)=\textrm{O}({\text {poly}}(n))=\textrm{O}({\text {poly}}(\lambda ))\). This completes the proof.

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Tian, Y., Tian, X., Pang, Y. (2023). Efficient Zero-Knowledge Arguments for Matrix Relations over Rings and Non-malleable Enhancement. In: Zhang, M., Au, M.H., Zhang, Y. (eds) Provable and Practical Security. ProvSec 2023. Lecture Notes in Computer Science, vol 14217. Springer, Cham. https://doi.org/10.1007/978-3-031-45513-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-45513-1_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-45512-4

  • Online ISBN: 978-3-031-45513-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics