Skip to main content

Prover Efficient Public Verification of Dense or Sparse/Structured Matrix-Vector Multiplication

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 10343))

Abstract

With the emergence of cloud computing services, computationally weak devices (Clients) can delegate expensive tasks to more powerful entities (Servers). This raises the question of verifying a result at a lower cost than that of recomputing it. This verification can be private, between the Client and the Server, or public, when the result can be verified by any third party. We here present protocols for the verification of matrix-vector multiplications, that are secure against malicious Servers. The obtained algorithms are essentially optimal in the amortized model: the overhead for the Server is limited to a very small constant factor, even in the sparse or structured matrix case; and the computational time for the public Verifier is linear in the dimension. Our protocols combine probabilistic checks and cryptographic operations, but minimize the latter to preserve practical efficiency. Therefore our protocols are overall more than two orders of magnitude faster than existing ones.

This work is partly funded by the OpenDreamKit Horizon 2020 European Research Infrastructures project (#676541).

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    https://crypto.stanford.edu/pbc, version 0.5.14.

  2. 2.

    http://linbox-team.github.io/fflas-ffpack, version 2.2.2.

  3. 3.

    \(p=57896044618658115533954196422662521694340972374557265300857239534749215487669\).

  4. 4.

    \(a_0{=}52725052272451289818299123952167568817548215037303638731097808561703910178375\), \(a_1{=}39030262586549355304602811636399374839758981514400742761920075403736570919488\).

  5. 5.

    https://github.com/pepper-project/pepper, git: fe3bf04.

References

  1. Barreto, P.S.L.M., Naehrig, M.: Pairing-friendly elliptic curves of prime order. In: Preneel, B., Tavares, S. (eds.) SAC 2005. LNCS, vol. 3897, pp. 319–331. Springer, Heidelberg (2006). doi:10.1007/11693383_22

    Chapter  Google Scholar 

  2. Bertoni, G., Daemen, J., Peeters, M., Assche, G.: Sponge-based pseudo-random number generators. In: Mangard, S., Standaert, F.-X. (eds.) CHES 2010. LNCS, vol. 6225, pp. 33–47. Springer, Heidelberg (2010). doi:10.1007/978-3-642-15031-9_3

    Chapter  Google Scholar 

  3. Dumas, J.G., Giorgi, P., Pernet, C.: Dense linear algebra over prime fields: the FFLAS and FFPACK packages. ACM Trans. Math. Softw. 35(3), 1–42 (2008)

    Article  MathSciNet  Google Scholar 

  4. Elkhiyaoui, K., Önen, M., Azraoui, M., Molva, R.: Efficient techniques for publicly verifiable delegation of computation. In: Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security, ASIA CCS 2016, pp. 119–128. ACM, New York (2016)

    Google Scholar 

  5. Fiat, A., Shamir, A.: How to prove yourself: practical solutions to identification and signature problems. In: Odlyzko, A.M. (ed.) CRYPTO 1986. LNCS, vol. 263, pp. 186–194. Springer, Heidelberg (1987). doi:10.1007/3-540-47721-7_12

    Chapter  Google Scholar 

  6. Fiore, D., Gennaro, R.: Publicly verifiable delegation of large polynomials and matrix computations, with applications. In: Proceedings of the 2012 ACM Conference on Computer and Communications Security, CCS 2012, pp. 501–512. ACM, New York (2012)

    Google Scholar 

  7. Freivalds, R.: Fast probabilistic algorithms. In: Bečvář, J. (ed.) MFCS 1979, vol. 74, pp. 57–69. Springer, Heidelberg (1979)

    Chapter  Google Scholar 

  8. Goldwasser, S., Kalai, Y.T., Rothblum, G.N.: Delegating computation: interactive proofs for muggles. In: Dwork, C. (ed.) STOC 2008, pp. 113–122. ACM Press, May 2008

    Google Scholar 

  9. Le Gall, F.: Powers of tensors and fast matrix multiplication. In: Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation, ISSAC 2014, pp. 296–303. ACM, New York (2014)

    Google Scholar 

  10. Lynn, B.: The pairing-based cryptography (PBC) library (2010). https://crypto.stanford.edu/pbc

  11. NIST: FIPS publication 202: SHA-3 standard: permutation-based hash and extendable-output functions, August 2015

    Google Scholar 

  12. Parno, B., Howell, J., Gentry, C., Raykova, M.: Pinocchio: Nearly practical verifiable computation. In: 2013 IEEE Symposium on Security and Privacy, SP 2013, Berkeley, CA, USA, 19–22 May 2013, pp. 238–252. IEEE Computer Society (2013). http://dx.doi.org/10.1109/SP.2013.47

  13. Parno, B., Raykova, M., Vaikuntanathan, V.: How to delegate and verify in public: verifiable computation from attribute-based encryption. In: Cramer, R. (ed.) TCC 2012. LNCS, vol. 7194, pp. 422–439. Springer, Heidelberg (2012). doi:10.1007/978-3-642-28914-9_24

    Chapter  Google Scholar 

  14. Setty, S.T.V., McPherson, R., Blumberg, A.J., Walfish, M.: Making argument systems for outsourced computation practical (sometimes). In: 19th Annual Network and Distributed System Security Symposium, NDSS 2012, San Diego, California, USA, 5–8 February 2012. The Internet Society (2012). http://www.internetsociety.org/sites/default/files/04_3.pdf

  15. Walfish, M., Blumberg, A.J.: Verifying computations without reexecuting them. Commun. ACM 58(2), 74–84 (2015)

    Article  Google Scholar 

  16. Zhang, Y., Blanton, M.: Efficient secure and verifiable outsourcing of matrix multiplications. In: Chow, S.S.M., Camenisch, J., Hui, L.C.K., Yiu, S.M. (eds.) ISC 2014. LNCS, vol. 8783, pp. 158–178. Springer, Cham (2014). doi:10.1007/978-3-319-13257-0_10

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jean-Guillaume Dumas .

Editor information

Editors and Affiliations

A    Small Fields

A    Small Fields

The protocol of Fig. 1 is quite efficient. We have made experiments with randomly generated dense matrices and vectors with the PBC library (see Footnote 1) for the pairings and the FFLAS-FFPACK library (see Footnote 2) for the exact linear algebra over finite fields. For instance, it is shown in Table 4, that for a \(8000 \times 8000\) matrix over a field of size 256 bits, the protocol is highly practical: first, if the base field and the group orders are of similar sizes, the verification phase is very efficient; second, the overhead of computing \(\zeta \) for the server is quite negligible and third, the key generation is dominated by the computation of one matrix-vector product.

Table 4. Verification of a \(8000 \times 8000\) matrix-vector multiplication with different field sizes via the protocol in Fig. 1 on a single core @3.4 GHz.

Differently, if the base field is small, say machine word-size, then having to use cryptographic sizes for the group orders can be penalizing for the Key Generation: multiplying a small field matrix A with a large field vector \(u^T\) is much slower than \(y=Ax\) with x and A small. First of all, the computations must be compatible. For this, one possibility is to ask and verify instead for \(y=Ax\) over \(\mathbb {Z}\) and then to let the Verifier compute \(y\mod p\) for himself. There, to reduce the overhead of computing \(u^TA\), one can instead select the m values of the vector u as \(u_\ell =\alpha r_i s_j\) with \(\ell =i\lceil \sqrt{m}\rceil {}+j\) for \(\alpha \) a randomly chosen large value and \(r_i,s_j\) some randomly chosen small values. Indeed then \(u^T A\) can be computed by first performing \((r s^T)A\) via \({\mathcal O}\left( \sqrt{m}\right) \) matrix-vector computations with s (or a \(\sqrt{m}{\times }n\sqrt{m}\) matrix-vector multiplication) followed by \({\mathcal O}\left( n\sqrt{m}\right) \) multiplications by r (or a \(n{\times }\sqrt{m}\) matrix-vector multiplication) where \(s_j\) and \(r_i\) are small values. Then it remains only to multiply a vector of small values by \(\alpha \). We have traded \({\mathcal O}\left( mn\right) \) operations with large values for \({\mathcal O}\left( \sqrt{m}n\sqrt{m}+n\sqrt{m}\right) \) operations with small values and \({\mathcal O}\left( n\right) \) with large values.

Fig. 7.
figure 7

Trustee-helped Verification of a dense matrix-vector product in a 10-bits finite field on a single core @3.4 GHz.

Now, in order for the values to remain correct over \(\mathbb {Z}\), the value of \((u^TA+t^T)x\) must not overflow. For this, one must choose a group order larger than \(mnp^4\) (for \((r s^T)Ax\)). Now the security is not anymore half the size of the group order but potentially half the size of the set from which \(t^T\) is selected, that is at most the group order size minus that of np (for \(t^Tx\)). To be conservative we even propose, as an estimated security of the obtained protocol, to consider only half the size of \(\alpha \) (that is the size of the group order minus that of \(mnp^4\)). In terms of efficiency, the improvement is shown in Table 4, last row. On the one hand, the key generation is now dominant and can be amortized only after about 10 matrix-vector multiplications. On the other hand, the verification time starts to be faster than the computation time. This is also shown in Fig. 7 where the equivalent of the last row in Table 4 is shown for different matrix dimensions.

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Dumas, JG., Zucca, V. (2017). Prover Efficient Public Verification of Dense or Sparse/Structured Matrix-Vector Multiplication. In: Pieprzyk, J., Suriadi, S. (eds) Information Security and Privacy. ACISP 2017. Lecture Notes in Computer Science(), vol 10343. Springer, Cham. https://doi.org/10.1007/978-3-319-59870-3_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-59870-3_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-59869-7

  • Online ISBN: 978-3-319-59870-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics