Skip to main content
Log in

Lattice-based zero-knowledge arguments for additive and multiplicative relations

  • Published:
Designs, Codes and Cryptography Aims and scope Submit manuscript

Abstract

In this work, we propose new lattice-based protocols which are used to prove additive and multiplicative relations of committed integers. We introduce three new protocols. The first protocol proves additive relation of integers. In this framework, we introduce a new computational technique which splits the integers into chunks helping to achieve a significant improvement to the integer addition protocol proposed at CRYPTO’18 by reducing the computational costs significantly for commonly used integers of length \(L\in \{2^5,2^6,2^7\}\). Our second protocol presents a new way of proving multiplicative relations of polynomials and improves the performance of the existing polynomial multiplication protocol proposed at ESORICS’15 for small integers. Using these two developed protocols as building blocks, we present our third contribution to prove multiplicative relation of integers and achieve a notable reduction in computational complexity compared to the existing integer multiplication protocol presented at CRYPTO’18.

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
Fig. 6

Similar content being viewed by others

References

  1. Albrecht M.R., Player R., Scott S.: On the concrete hardness of learning with errors. J. Math. Cryptol. 9(3), 169–203 (2015).

    Article  MathSciNet  Google Scholar 

  2. Baum C., Damgård I., Larsen K.G., Nielsen M.: How to Prove Knowledge of Small Secrets. CRYPTO, pp. 478–498. Springer, New Yor (2016).

    MATH  Google Scholar 

  3. Baum, C., Damgård, I., Lyubashevsky, V., Oechsner, S., Peikert, C.: More efficient commitments from structured lattice assumptions. In: Security and Cryptography for Networks - 11th International Conference, SCN: Proceedings, ser. Lecture Notes in Computer Science, vol. 11035. Springer, pp. 368–385 (2018)

  4. Bayer, S., Groth, J.: Zero-knowledge argument for polynomial evaluation with application to blacklists. In: EUROCRYPT, ser. LNCS, vol. 7881. Springer, 2013, pp. 646–663

  5. Benhamouda, F., Camenisch, J., Krenn, S., Lyubashevsky, V., Neven, G.: Better zero-knowledge proofs for lattice encryption and their application to group signatures. In: ASIACRYPT. Springer, 2014, pp. 551–572

  6. Benhamouda F., Krenn S., Lyubashevsky V., Pietrzak K.: Efficient zero-knowledge proofs for commitments from learning with errors over rings. ESORICS 2015, 305–325 (2015).

    Google Scholar 

  7. Bootle, J., Cerulli, A., Chaidos, P., Groth, J., Petit, C.: Efficient zero-knowledge arguments for arithmetic circuits in the discrete log setting. In EUROCRYPT. Springer, 2016, pp. 327–357

  8. Cooley J., Tukey J.: An algorithm for the machine calculation of complex fourier series. Math. Comput. 19(90), 297–301 (1965).

    Article  MathSciNet  Google Scholar 

  9. del Pino, R., Lyubashevsky, V., Seiler, G.: Lattice-based group signatures and zero-knowledge proofs of automorphism stability. In: ACM SIGSAC CCS. ACM, 2018, pp. 574–591

  10. Esgin, M.F., Steinfeld, R., Liu, J. K., Liu, D.: Lattice-based zero-knowledge proofs: New techniques for shorter and faster constructions and applications. In: CRYPTO, ser. LNCS. Springer, 2019, pp. 115–146

  11. Esgin, M. F., Steinfeld, R., Sakzad, A., Liu, J. K., Liu, D.: Short lattice-based one-out-of-many proofs and applications to ring signatures. In: ACNS. Springer, 2019, pp. 67–88

  12. Esgin, M. F., Zhao, R. K., Steinfeld, R., Liu, J. K., Liu, D.: Matrict: Efficient, scalable and post-quantum blockchain confidential transactions protocol. In: to appear in CCS, (preprint obtained by private communication with the authors), 2019

  13. Goldreich, O., Goldwasser, S.: On the limits of non-approximability of lattice problems. In: ACM STOC. ACM, 1998, pp. 1–9.

  14. Goldwasser, S., Micali, S., Rackoff, C.: The knowledge complexity of interactive proof-systems (extended abstract). In: ACM STOC. ACM, 1985, pp. 291–304

  15. Harvey, D., van der Hoeven, J.: Faster integer multiplication using short lattice vectors. CoRR, (2018). http://arxiv.org/abs/1802.07932

  16. Harvey, D., Van Der Hoeven, J.: Integer multiplication in time O(n log n). https://hal.archives-ouvertes.fr/hal-02070778 (2019)

  17. Kawachi, A., Tanaka, K., Xagawa, K.: Concurrently secure identification schemes based on the worst-case hardness of lattice problems. In: ASIACRYPT, ser. LNCS, vol. 5350. Springer, pp. 372–389 (2008)

  18. Kilian, J.: A note on efficient zero-knowledge proofs and arguments (extended abstract). In: ACM STOC. ACM, pp. 723–732 (1992)

  19. Libert, B., Ling, S., Mouhartem, F., Nguyen, K., Wang, H.: Zero-knowledge arguments for matrix-vector relations and lattice-based group encryption. In: ASIACRYPT, pp. 101–131 (2016)

  20. Libert, B., Ling, S., Nguyen, K., Wang, H.: Zero-knowledge arguments for lattice-based accumulators: Logarithmic-size ring signatures and group signatures without trapdoors. In: EUROCRYPT. Springer, pp. 1–31 (2016)

  21. Libert, B., Ling, S., Nguyen, K., Wang, H.: Zero-knowledge arguments for lattice-based prfs and applications to e-cash. In: ASIACRYPT. Springer, pp. 304–335 (2017)

  22. Libert, B., Ling, S., Nguyen, K., Wang, H.: Lattice-based zero-knowledge arguments for integer relations. In CRYPTO, ser. LNCS, vol. 10992. Springer, pp. 700–732 (2018)

  23. Ling, S., Nguyen, K., Stehlé, D., Wang, H.: Improved zero-knowledge proofs of knowledge for the ISIS problem, and applications. In: PKC. Springer, pp. 107–124 (2013)

  24. Lüders, C.: Fast multiplication of large integers: Implementation and analysis of the DKSS algorithm. http://arxiv.org/abs/1503.04955

  25. Lyubashevsky, V.: Fiat-shamir with aborts: Applications to lattice and factoring-based signatures. In: ASIACRYPT. Springer, pp. 598–616 (2009)

  26. Lyubashevsky, V.: Lattice signatures without trapdoors. In: EUROCRYPT. Springer, pp. 738–755 (2012).

  27. Micciancio, D., Vadhan, S. P.: Statistical zero-knowledge proofs with efficient provers: Lattice problems and more. In: CRYPTO. Springer, pp. 282–298 (2003).

  28. Miers, I., Garman, C., Green, M., Rubin, A. D.: Zerocoin: Anonymous distributed e-cash from bitcoin. In: 2013 IEEE SP, 2013, pp. 397–411 (2013)

  29. Stern, J.: A new identification scheme based on syndrome decoding. In: CRYPTO. Springer, pp. 13–21 (1993).

  30. Sun S., Au M.H., Liu J.K., Yuen T.H.: Ringct 2.0: A compact accumulator-based (linkable ring signature) protocol for blockchain cryptocurrency monero. ESORICS 2017, 456–474 (2017).

    Google Scholar 

  31. Toom A.L.: The complexity of a scheme of functional elements simulating the multiplication of integers. Dokl. Akad. Nauk SSSR 150, 496–498 (1963).

    MathSciNet  MATH  Google Scholar 

  32. Yang, R., Au, M.H., Zhang, Z., Xu, Q., Yu, Z., Whyte, W.: Efficient lattice-based zero-knowledge arguments with standard soundness: Construction and applications. In: Advances in Cryptology - CRYPTO, : Proceedings, Part I, ser. Lecture Notes in Computer Science, vol. 11692. Springer, pp. 147–175 (2019)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Veronika Kuchta.

Additional information

Communicated by D. Stebila.

Publisher's Note

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

A. More definitions

A. More definitions

Lemma 5

([26], Lemma 4.4)

  1. 1.

    For any \(\kappa >0\), .

  2. 2.

    For any \(\mathbf {z}\in \mathbb {Z}^m\), and \(\sigma \ge 3/\sqrt{2\pi }, D_{\sigma }^m(\mathbf {z})\le 2^{-m}\).

  3. 3.

    For any \(\kappa >1\), if \(m\ge 110\).

Zero-knowledge arguments of knowledge [4]. Let \(\mathcal { P}\) be the prover and \(\mathcal { V}\) be the verifier which are both PPT algorithms. The PPT algorithm \(\mathtt {KeyGen}\) generates the public parameters pp. Note, that in this paper the public parameter is represented by the commitment key of our lattice-based commitment. Furthermore, let \({\texttt {R}}\) be a relation and w be a witness for the statement x. Then, the language is defined as \(L_{pp} =\{x|\exists w: (pp,x,w)\in {\texttt {R}}\}\), which is the set of statements x that have a witness w in the relation \({\texttt {R}}\). When prover \(\mathcal { P}\) interacts with \(\mathcal { V}\), the output of the interaction is denoted by a transcript tr which consists of the initial message from the prover, the challenge from the verifier and the answer from the prover and the decision from the verifier.

Definition 11

(Argument of knowledge) The system \((\mathtt {KeyGen},\mathcal { P},\mathcal { V})\) is called an argument of knowledge for the relation \({\texttt {R}}\) if it satisfies the two properties: completeness and \(k+1\)-special soundness, which are defined below.

Definition 12

(Completeness) The system \((\mathtt {KeyGen},\mathcal { P},\mathcal { V})\) has perfect completeness if for all non-uniform PPT adversaries \(\mathcal { A}\) holds that:

$$\begin{aligned} \Pr \left[ \begin{array}{l}pp\leftarrow \mathtt {KeyGen}(1^\lambda ); (x,w)\leftarrow \mathcal { A}(pp):\\ (pp,x,w)\notin R \vee \langle \mathcal { P}(pp,x,w),\mathcal { V}(pp,x)\rangle =1\end{array}\right] =1-\alpha . \end{aligned}$$

where \(\alpha \) is completeness error.

The second property “k+1 special soundness” is relaxed meaning that the verifier is only convinced of the argument of knowledge of a witness w for a relaxed relation \({\texttt {R}}'\).

Definition 13

(\(k+1\)-Special Soundness) A system \((\mathtt {KeyGen},\mathcal { P},\mathcal { V})\) is \(k+1\) special sound if for all probabilistic polynomial time \(\mathcal { P}^{*}\) there exists an extractor \(\mathcal { E}\), such that for all non-uniform polynomial time interactive adversaries \(\mathcal { A}\) holds:

$$\begin{aligned}&\Pr \left[ \begin{array}{l}pp\leftarrow \mathtt {KeyGen}(1^\lambda ) ; (x,s)\leftarrow \mathcal { A}(pp); tr\leftarrow \langle \mathcal { P}^{*}(pp,x,s),\mathcal { V}(pp,x)\rangle :\mathcal { A}(tr)=1\end{array}\right] \\&\quad \approx \Pr \left[ \begin{array}{l}pp\leftarrow \mathtt {KeyGen}(1^\lambda ) ; (x,s)\leftarrow \mathcal { A}(pp);\\ (tr_i,w)\leftarrow \mathcal { E}^{\langle \mathcal { P}^{*}(pp,x,s),\mathcal { V}(pp,x)\rangle }(pp,x):\mathcal { A}(tr)=1\\ \text {and if }\ \forall i\in [0,k]\ tr_i \ \text {is accepting, then} \ (\sigma ,x,w)\in {\texttt {R}}\end{array}\right] . \end{aligned}$$

Definition 14

(Special Honest Verifier Zero-Knowledge) An argument is called a perfect special honest verifier zero knowledge (SHVZK) argument for a relation \({\texttt {R}}\) if there exists a probabilistic polynomial time simulator \(\mathcal { S}\) such that for all interactive non-uniform polynomial time adversaries \(\mathcal { A}\) we have

$$\begin{aligned}&\Pr \left[ \begin{array}{l}pp\leftarrow \mathtt {KeyGen}(1^\lambda ); (x,w,\rho )\leftarrow \mathcal { A}(pp); tr\leftarrow \\ \langle \mathcal { P}(pp,x:\rho ),\mathcal { V}(pp,x; \rho )\rangle : (pp,x,w)\in {\texttt {R}} \wedge \mathcal { A}(tr)=1\end{array}\right] \\&\quad \approx \Pr \left[ \begin{array}{l}pp\leftarrow KG(1^\lambda ); (x,w,\rho )\leftarrow \mathcal { A}(pp);\\ tr\leftarrow \mathcal { S}(pp,x,\rho ): (pp,x,w)\in {\texttt {R}}\wedge \mathcal { A}(tr)=1\end{array}\right] , \end{aligned}$$

where s denotes the state of \(\mathcal { P}^*\) including the randomness. This means that whenever \(\mathcal { P}^*\) manages to provide a convincing argument while being in stage s, the emulator is able to extract a witness w.

Definition 15

(Public coin) An argument \((\mathtt {KeyGen},\mathcal { P},\mathcal { V})\) is called public coin if the verifier picks the challenges uniformly at random and independent of prover’s messages. It means that the challenges correspond to the verifier’s randomness \(\rho \).

Definition 16

(Commitment Scheme) The formal definition of a commitment scheme is given as follows. A commitment scheme consists of the following three algorithms:

\(\mathtt {KeyGen}:\) is a probabilistic polynomial-time (PPT) algorithm that outputs a commitment key ck and a definition of message space \(\mathfrak {M}_{ck}\).

\(\texttt {Com}:\) is a PPT algorithm that on input the commitment key ck and a message \(\mu \in \mathfrak {M}_{ck}\) outputs values \({\textsf {C}},r\), where \({\textsf {C}}\) is the commitment on \(\mu \) and \(r\in \mathfrak {R}_{ck}\) is the corresponding randomness sampled from randomness space \(\mathfrak {R}_{ck}\).

\(\mathtt {Open}:\) is a deterministic algorithm that on input ck, a message \(\mu \) and values \({\textsf {C}},r\) opens the commitment to the value \(\mu \).

Homomorphic commitment A homomorphic commitment scheme is a non-interactive commitment scheme such that the following property holds:

$$\begin{aligned}&\texttt {Com}_{ck}(a,r_a)+\texttt {Com}_{ck}(b,r_b)=\texttt {Com}(a+b,r_a+r_b),\\&\xi \cdot \texttt {Com}_{ck}(a,r_a)=\texttt {Com}_{ck}(\xi \cdot a,\xi \cdot r_a), \end{aligned}$$

for all \(a,b,\xi \in \mathfrak {M}_{ck}\), and \(r_a,r_b\in \mathfrak {R}_{ck}\).

Definition 17

(Hiding) The commitment scheme given above is computationally hiding if the commitment does not reveal the committed value. Formally, a commitment scheme is hiding if for all PPT interactive adversaries \(\mathcal {A}\) the following approximation holds

$$\begin{aligned} \Pr \left[ \begin{array}{l}ck\leftarrow \mathtt {KeyGen}(1^{\lambda }); (\mu _0,\mu _1)\leftarrow \mathcal {A}(ck);b\leftarrow \{0,1\};\\ r\leftarrow \mathfrak {R}_{ck}; {\textsf {C}}\leftarrow \texttt {Com}_{ck}(\mu _b,r):\mathcal {A}(c)=b\end{array}\right] \approx \frac{1}{2}, \end{aligned}$$

where \(\mathcal {A}\) outputs \(\mu _0,\mu _1\in \mathfrak {M}_{ck}.\)

Definition 18

(Binding) The commitments scheme is computationally binding if a commitment can be opened to one value from the binding set \(\mathfrak {B}_{ck}\) and if for all PPT adversaries \(\mathcal {A}\), it holds that

$$\begin{aligned} \Pr \left[ \begin{array}{l}ck\leftarrow \mathtt {KeyGen}(1^{\lambda }); (\mu _0,r_0,\mu _1,r_1)\leftarrow \mathcal {A}(ck);\\ (\mu _0,r_0)\ne (\mu _1,r_1); \texttt {Com}_{ck}(\mu _0,r_0)=\texttt {Com}_{ck}(\mu _1,r_1)\end{array}\right] \approx 0, \end{aligned}$$

where \(\mathcal {A}\) outputs \((\mu _0,r_0),(\mu _1,r_1)\in \mathfrak {B}_{ck}\).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kuchta, V., Sakzad, A., Steinfeld, R. et al. Lattice-based zero-knowledge arguments for additive and multiplicative relations. Des. Codes Cryptogr. 89, 925–963 (2021). https://doi.org/10.1007/s10623-021-00851-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10623-021-00851-1

Keywords

Mathematics Subject Classification

Navigation