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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 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.
References
Damagard, I., Cramer, R., Nielsen, J.B.: Secure Multiparty Computation and Secret Sharing. Cambridge University Press, Cambridge (2015)
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)
Kosba, A., Papamanthou, C., Shi, E.: xJsnark: a framework for efficient verifiable computation. IEEE Symposium on Privacy and Security, pp. 128–149 (2018)
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)
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
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
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)
Hoffmann, M., Klooß, M., Rupp, A.: Efficient zero-knowledge arguments in discrete log setting, revisited. In: ACM Conference on Computer and Communication Security (2019)
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
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)
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
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
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
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
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
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)
Wan, Z.: Lectures on Finite Fields and Galois Rings. Academy of Sciences Press, Beijing (2006)
Goldreich, O.: Foundations of Cryptography. Basic Techniques, vol. 1. Cambridge University Press, Cambridge (2005)
Katz, J., Lindell, Y.: Modern Cryptography. Chapman Hall/CRC Press (2020)
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
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
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
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
Yuan, T.: Efficient zero-knowledge arguments for some matrix relations over rings and non-malleable enhancement. IACR eprint.iacr.org 2022/1689
Author information
Authors and Affiliations
Corresponding author
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.:

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 (pk, sk) 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:
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:
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
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
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:
Since Case I and II are complementary, from (A.3) and (A.4) one obtains
Combining (A.2) and (A.5) one has:
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:
So
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
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
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)