Skip to main content
Log in

Simple and efficient FE for quadratic functions

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

Abstract

This paper presents two functional encryption schemes for quadratic functions (or degree-2 polynomials) achieving simulation-based security in the semi-adaptive model with constant-size secret keys. Prior constructions in the standard model either achieve weaker security model [CRYPTO 17] or require linear-size secret keys (in the message length) [PKC 20]. One of our proposed schemes is comparable to existing schemes in the generic group model in terms of ciphertext size. Technically, we combine Wee’s compiler [TCC 17] with Gay’s paradigm [PKC 20]. However, we avoid (partially) function-hiding inner-product functional encryption used in Gay’s paradigm which makes our work conceptually simpler.

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. An IPFE scheme trivially implies a QFFE without the efficiency requirement, which is not interesting in many cases.

  2. For matrices \(\mathbf {A},\mathbf {B}\) of the same size, it holds that \(\mathsf {tr}(\mathbf {A}^{}{\top }\mathbf {B}) = \mathsf {tr}(\mathbf {B}\mathbf {A}^{}{\top })\).

References

  1. Abdalla M., Bourse F., De Caro A., Pointcheval D.: Simple functional encryption schemes for inner products. In: Katz, J. (ed.) PKC 2015, LNCS, vol. 9020, pp. 733–751. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46447-2_33.

  2. Abdalla M., Catalano D., Fiore D., Gay R., Ursu B.: Multi-input functional encryption for inner products: Function-hiding realizations and constructions without pairings. In: Shacham H., Boldyreva A. (eds.) CRYPTO 2018, Part I, LNCS, vol. 10991, pp. 597–627. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-319-96884-1_20.

  3. Abdalla M., Gay R., Raykova M., Wee H.: Multi-input inner-product functional encryption from pairings. In: Coron J., Nielsen J.B. (eds.) EUROCRYPT 2017, Part I, LNCS, vol. 10210, pp. 601–626. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-56620-7_21.

  4. Abdalla M., Gong J., Wee H.: Functional encryption for attribute-weighted sums from k-lin. In: Advances in Cryptology—CRYPTO 2020—40th Annual International Cryptology Conference, CRYPTO 2020, Santa Barbara, CA, USA, August 17-21, 2020, Proceedings, Part I, pp. 685–716 (2020).

  5. Agrawal S., Chase M.: FAME: Fast attribute-based message encryption. In: Thuraisingham, B.M., Evans, D., Malkin T., Xu D. (eds.) ACM CCS 2017, pp. 665–682. ACM Press (2017). https://doi.org/10.1145/3133956.3134014.

  6. Agrawal S., Chase M.: Simplifying design and analysis of complex predicate encryption schemes. In: Coron J., Nielsen J.B. (eds.) EUROCRYPT 2017, Part I, LNCS, vol. 10210, pp. 627–656. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-56620-7_22.

  7. Agrawal S., Libert B., Maitra M., Titiu R.: Adaptive simulation security for inner product functional encryption. In: Kiayias A, Kohlweiss M, Wallden P., Zikas V. (eds.) PKC 2020, Part I, LNCS, vol. 12110, pp. 34–64. Springer, Heidelberg (2020). https://doi.org/10.1007/978-3-030-45374-9_2.

  8. Agrawal S., Libert B., Stehlé D.: Fully secure functional encryption for inner products, from standard assumptions. In: Robshaw M., Katz J. (eds.) CRYPTO 2016, Part III, LNCS, vol. 9816, pp. 333–362. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53015-3_12.

  9. Ananth P., Jain A.: Indistinguishability obfuscation from compact functional encryption. In: Gennaro R., Robshaw M.J.B. (eds.) CRYPTO 2015, Part I, LNCS, vol. 9215, pp. 308–326. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-47989-6_15.

  10. Ananth P., Sahai A.: Projective arithmetic functional encryption and indistinguishability obfuscation from degree-5 multilinear maps. In: Coron J., Nielsen J.B. (eds.) EUROCRYPT 2017, Part I, LNCS, vol. 10210, pp. 152–181. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-56620-7_6.

  11. Attrapadung N.: Dual system encryption via doubly selective security: Framework, fully secure functional encryption for regular languages, and more. In: Nguyen P.Q., Oswald E. (eds.) EUROCRYPT 2014, LNCS, vol. 8441, pp. 557–577. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-55220-5_31.

  12. Baltico C.E.Z., Catalano D., Fiore D., Gay R.: Practical functional encryption for quadratic functions with applications to predicate encryption. In: Katz J., Shacham H. (eds.) CRYPTO 2017, Part I, LNCS, vol. 10401, pp. 67–98. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-63688-7_3.

  13. Bitansky N., Vaikuntanathan V.: Indistinguishability obfuscation from functional encryption. In: Guruswami V. (ed.) 56th FOCS, pp. 171–190. IEEE Computer Society Press (2015). https://doi.org/10.1109/FOCS.2015.20.

  14. Boneh D., Sahai A., Waters, B.: Functional encryption: Definitions and challenges. In: Ishai Y. (ed.) TCC 2011, LNCS, vol. 6597, pp. 253–273. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19571-6_16.

  15. Chen J., Gay R., Wee H.: Improved dual system ABE in prime-order groups via predicate encodings. In: Oswald E., Fischlin M. (eds.) EUROCRYPT 2015, Part II, LNCS, vol. 9057, pp. 595–624. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46803-6_20.

  16. Chen J., Gong J., Wee H.: Improved inner-product encryption with adaptive security and full attribute-hiding. In: Peyrin T., Galbraith S. (eds.) ASIACRYPT 2018, Part II, LNCS, vol. 11273, pp. 673–702. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-030-03329-3_23.

  17. Chotard J., Dufour Sans E., Gay R., Phan D.H., Pointcheval D.: Decentralized multi-client functional encryption for inner product. In: Peyrin T., Galbraith S. (eds.) ASIACRYPT 2018, Part II, LNCS, vol. 11273, pp. 703–732. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-030-03329-3_24.

  18. Dufour Sans E., Gay R., Pointcheval D.: Reading in the dark: Classifying encrypted digits with functional encryption. IACR Cryptology ePrint Archive 2018/206 (2018)

  19. Escala A., Herold G., Kiltz E., Ràfols C., Villar J.: An algebraic framework for Diffie-Hellman assumptions. In: Canetti R., Garay J.A. (eds.) CRYPTO 2013, Part II, LNCS, vol. 8043, pp. 129–147. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40084-1_8.

  20. Garg S., Gentry C., Halevi S.: Candidate multilinear maps from ideal lattices. In: Johansson T., Nguyen P.Q. (eds.) EUROCRYPT 2013, LNCS, vol. 7881, pp. 1–17. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38348-9_1.

  21. Garg S., Gentry C., Halevi S., Raykova M., Sahai A., Waters B.: Candidate indistinguishability obfuscation and functional encryption for all circuits. In: 54th FOCS, pp. 40–49. IEEE Computer Society Press (2013). https://doi.org/10.1109/FOCS.2013.13.

  22. Garg S., Gentry C., Halevi S., Zhandry M.: Functional encryption without obfuscation. In: Kushilevitz E., Malkin T. (eds.) TCC 2016-A, Part II, LNCS, vol. 9563, pp. 480–511. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49099-0_18.

  23. Gay R.: A new paradigm for public-key functional encryption for degree-2 polynomials. In: Kiayias A., Kohlweiss M., Wallden P., Zikas V. (eds.) PKC 2020, Part I, LNCS, vol. 12110, pp. 95–120. Springer, Heidelberg (2020). https://doi.org/10.1007/978-3-030-45374-9_4.

  24. Gay R., Jain A., Lin H., Sahai A.: Indistinguishability obfuscation from simple-to-state hard problems: New assumptions, new techniques, and simplification. IACR Cryptology ePrint Archive 2020/764 (2020).

  25. Goyal V., Pandey O., Sahai A., Waters B.: Attribute-based encryption for fine-grained access control of encrypted data. In: Juels A., Wright R.N., De Capitani di Vimercati S. (eds.) ACM CCS 2006, pp. 89–98. ACM Press (2006). https://doi.org/10.1145/1180405.1180418. Available as Cryptology ePrint Archive Report 2006/309.

  26. Jain A., Lin H., Sahai A.: Simplifying constructions and assumptions for io. IACR Cryptology ePrint Archive 2019/1252 (2019).

  27. Lin H.: Indistinguishability obfuscation from SXDH on 5-linear maps and locality-5 PRGs. In: Katz, J., Shacham H. (eds.) CRYPTO 2017, Part I, LNCS, vol. 10401, pp. 599–629. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-63688-7_20.

  28. Lin H., Luo J.: Compact adaptively secure ABE from \(k\)-lin: Beyond \({\rm NC}^1\) and towards NL. In: Canteaut A., Ishai Y. (eds.) EUROCRYPT 2020, Part III, LNCS, vol. 12107, pp. 247–277. Springer, Heidelberg (2020). https://doi.org/10.1007/978-3-030-45727-3_9.

  29. O’Neill A.: Definitional issues in functional encryption. IACR Cryptology ePrint Archive 2010/556 (2010).

  30. Ryffel T., Pointcheval D., Bach F., Dufour-Sans E., Gay R.: Partially encrypted deep learning using functional encryption. Partially encrypted deep learning using functional encryption. In: Wallach H.M., Larochelle H., Beygelzimer A., d’Alché-Buc F., Fox E.B., Garnett R. (eds.) Advances in Neural Information Processing Systems 32: Annual Conference on Neural Information Processing Systems 2019, NeurIPS 2019, 8-14 December 2019, Vancouver, BC, Canada, pp. 4519–4530 (2019).

  31. Sahai A., Waters B.R.: Fuzzy identity-based encryption. In: Cramer R. (ed.) EUROCRYPT 2005, LNCS, vol. 3494, pp. 457–473. Springer, Heidelberg (2005). https://doi.org/10.1007/11426639_27

  32. Waters B.: Dual system encryption: Realizing fully secure IBE and HIBE under simple assumptions. In: Halevi S. (ed.) CRYPTO 2009, LNCS, vol. 5677, pp. 619–636. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03356-8_36

  33. Wee H.: Dual system encryption via predicate encodings. In: Lindell Y. (ed.) TCC 2014, LNCS, vol. 8349, pp. 616–637. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54242-8_26

  34. Wee H.: Attribute-hiding predicate encryption in bilinear groups, revisited. In: Kalai Y., Reyzin L. (eds.) TCC 2017, Part I, LNCS, vol. 10677, pp. 206–233. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-319-70500-2_8

Download references

Acknowledgements

We greatly thank Romain Gay and Hoeteck Wee for their constructive suggestion. We also want to thank all anonymous reviewers of ASIACRYPT 2020 for their useful comments and feedbacks. This work is supported by National Natural Science Foundation of China (62002120), NSFC-ISF Joint Scientific Research Program (61961146004) and Innovation Program of Shanghai Municipal Education Commission (2021-01-07-00-08-E00101). The authors would also like to thank Ant Group for its support and assistance with this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Haifeng Qian.

Additional information

Communicated by D. Stehle.

Publisher's Note

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

Appendices

Secret-key functional encryption

Algorithm. A secret-key functional encryption \(\uppi \) for \({F}\) consists of four PPT algorithms:

  • \(\textsf {Setup}(1^\lambda ,{F}) \rightarrow {\textsf {msk}}\): The \(\textsf {Setup}\) algorithm takes security parameter \(1^\lambda \) and functionality \({F}\) as input, outputs master secret key \({\textsf {msk}}\).

  • \(\textsf {Enc}({\textsf {msk}},x\in {X}) \rightarrow {\textsf {ct}}_x\): The \(\textsf {Enc}\) algorithm takes master secret key \({\textsf {msk}}\) and message \(x\in {X}\) as input, outputs a ciphertext \({\textsf {ct}}_x\).

  • \(\textsf {KeyGen}({\textsf {msk}},y\in {Y}) \rightarrow {\textsf {sk}}_y\): The \(\textsf {KeyGen}\) algorithm takes master secret key \({\textsf {msk}}\) and function index \(y\in {Y}\) as input, outputs a functional secret key \({\textsf {sk}}_y\).

  • \(\textsf {Dec}({\textsf {ct}}_x,{\textsf {sk}}_y) \rightarrow z \in {Z}\): The \(\textsf {Dec}\) algorithm takes a ciphertext \({\textsf {ct}}_x\) and a functional secret key \({\textsf {sk}}_y\) as input, outputs \(z \in {Z}\).

Correctness. For all \(\lambda \in \mathbb {N}\), \(x \in {X}\), \(y \in {Y}\), we require that

$$\begin{aligned} \Pr \left[ \begin{array}{ll} \textsf {Dec}({\textsf {ct}}_x,{\textsf {sk}}_y) = {F}(x,y) : &{} \begin{array}{l} {\textsf {msk}}\leftarrow \textsf {Setup}(1^\lambda ,{F})\\ {\textsf {ct}}_x \leftarrow \textsf {Enc}({\textsf {msk}},x)\\ {\textsf {sk}}_y \leftarrow \textsf {KeyGen}({\textsf {msk}},y) \end{array} \end{array}\right] = 1. \end{aligned}$$

Analogously, we require the correctness described above holds when \({F}(x,y) \in B\) where \(B \subseteq \mathbb {Z}_p\) has polynomial size.

Selective simulation-based security (SIM-security). For every efficient stateful adversary \(\mathscr {A}\), there exists simulator \((\widetilde{\textsf {Setup}},\widetilde{\textsf {Enc}},\widetilde{\textsf {KeyGen}})\) such that

$$\begin{aligned} \left[ \begin{array}{l} {\textsf {msk}}\leftarrow \textsf {Setup}(1^\lambda ,{F}); \\ x^* \leftarrow \mathscr {A}(1^\lambda ,{F}); \\ {\textsf {ct}}^* \leftarrow \textsf {Enc}({\textsf {msk}},x^*); \\ \text{ output } \mathscr {A}^{\textsf {KeyGen}({\textsf {msk}},\cdot )}(1^\lambda ,{F},{\textsf {ct}}^*)\\ \end{array} \right] \approx _c \left[ \begin{array}{l} {\widetilde{{\textsf {msk}}}}\leftarrow \widetilde{\textsf {Setup}}(1^\lambda ,{F});\\ x^* \leftarrow \mathscr {A}(1^\lambda ,{F});\\ {\widetilde{{\textsf {ct}}}}^* \leftarrow \widetilde{\textsf {Enc}}({\widetilde{{\textsf {msk}}}});\\ \text{ output } \mathscr {A}^{\widetilde{\textsf {KeyGen}}({\widetilde{{\textsf {msk}}}},\cdot ,\cdot )}(1^\lambda ,{F},{\widetilde{{\textsf {ct}}}}^*)\\ \end{array} \right] \end{aligned}$$

where \(\widetilde{\textsf {KeyGen}}({\widetilde{{\textsf {msk}}}},\cdot ,\cdot )\) gets y along with \({F}(x^*,y)\) whenever \(\mathscr {A}\) makes a query \(y\in {Y}\) to \(\textsf {KeyGen}({\textsf {msk}},\cdot )\). We use to denote the advantage function.

Selective SIM-security of \(\uppi _1\) and \(\uppi _2\)

This section sketches the proofs of selective SIM-security of \(\uppi _1\) and \(\uppi _2\), respectively. For this, we first sketch the proof for (2) shown in the Introduction in more detail and explain how to adapt the proof for \(\uppi _1\) and \(\uppi _2\), respectively.

Game Sequence for (2). We employ the following game sequence.

\(\underline{{\textsf {G}}_{0}}\)::

This is the real game where the challenge ciphertext for \((\mathbf {x},\mathbf {y})\) is:

$$\begin{aligned} {\textsf {ct}}= (\,[\mathbf {C}_1]_1,[\mathbf {C}_2]_2\,) \quad \text { where } \quad \mathbf {C}_1 = (\mathbf {x}\Vert \mathbf {U})\mathbf {M}^*,\,\mathbf {C}_2 = (\mathbf {y}\Vert \mathbf {V})\mathbf {M}\end{aligned}$$

a secret key for \(\mathbf {F}\) is:

$$\begin{aligned} {\textsf {sk}}_\mathbf {F}= [\langle \mathbf {F} , \mathbf {U}\mathbf {V}^{}{\top } \rangle ]_T \end{aligned}$$

where \(\mathbf {U}\leftarrow \mathbb {Z}_p^{n \times k},\mathbf {V}\leftarrow \mathbb {Z}_p^{m \times k}\) are components of \({\textsf {msk}}\) and \((\mathbf {M}^*,\mathbf {M}) \leftarrow \mathbb {Z}_p^{(k+1)\times (k+1)} \times \mathbb {Z}_p^{(k+1)\times (k+1)}\) are random coins for \({\textsf {ct}}\) with the restriction \(\mathbf {M}^*\mathbf {M}^{}{\top }= \mathbf {I}\).

\(\underline{{\textsf {G}}_1}\)::

Identical to \({\textsf {G}}_0\) except that a secret key for \(\mathbf {F}\) is:

$$\begin{aligned} {\textsf {sk}}_\mathbf {F}= [\langle \mathbf {F} , \mathbf {C}_1\mathbf {C}_2^{}{\top }- \mathbf {x}\mathbf {y}^{}{\top } \rangle ]_T. \end{aligned}$$

We claim that \({\textsf {G}}_1 \equiv {\textsf {G}}_0\) since the change is conceptual.

\(\underline{{\textsf {G}}_2}\)::

Identical to \({\textsf {G}}_1\) except that the challenge ciphertext for \((\mathbf {x},\mathbf {y})\) is

We claim that \({\textsf {G}}_2 \approx _c {\textsf {G}}_1\). This follows from the \(\textsc {MDDH}^{}_{k,n}\) assumption which implies that for all \(\mathbf {x}\in \mathbb {Z}_p^n\),

$$\begin{aligned} {[}\mathbf {U}]_1,[\mathbf {x}+ \mathbf {U}\mathbf {a}]_1 \approx _c [\mathbf {U}]_1, [\mathbf {r}]_1 \end{aligned}$$

where \(\mathbf {U}\leftarrow \mathbb {Z}_p^{n \times k}\), \(\mathbf {a}\leftarrow \mathbb {Z}_p^k\) and \(\mathbf {r}\leftarrow \mathbb {Z}_p^n\). The reduction programs:

$$\begin{aligned} \mathbf {M}^*,\,\mathbf {M},\,\mathbf {V}\longmapsto \begin{pmatrix}1&{}\mathbf {0}\\ \mathbf {a}&{}\mathbf {I}\end{pmatrix}\mathbf {M}^*,\,\begin{pmatrix}1&{}-\mathbf {a}^{}{\top }\\ \mathbf {0}&{}\mathbf {I}\end{pmatrix}\mathbf {M},\,\mathbf {V}+ \mathbf {y}\mathbf {a}^{}{\top }\end{aligned}$$

such that the distribution of \([\mathbf {C}_2]_2\) remains unchanged and \(\mathbf {a}\) is embedded into \([\mathbf {C}_1]_1\); in particular, this allows us to argue:

$$\begin{aligned} {[}\mathbf {C}_1]_1 = [(\mathbf {x}+ \mathbf {U}\mathbf {a}\Vert \mathbf {U})\mathbf {M}^*]_1 \approx _c [(\mathbf {r}\Vert \mathbf {U}) \mathbf {M}^*]_1 \end{aligned}$$

which is uniformly distributed over \(G_1^{n \times (k+1)}\).

\(\underline{{\textsf {G}}_3}\)::

Identical to \({\textsf {G}}_2\) except that the challenge ciphertext for \((\mathbf {x},\mathbf {y})\) is

We claim that \({\textsf {G}}_3 \approx _c {\textsf {G}}_2\). Let \(\overline{\mathbf {M}}\in \mathbb {Z}_p^{1\times (k+1)}\) and \(\underline{\mathbf {M}} \in \mathbb {Z}_p^{k\times (k+1)}\) be submatrices consisting of the first row and the remaining k rows of \(\mathbf {M}\in \mathbb {Z}_p^{(k+1)\times (k+1)}\). This follows from the \(\textsc {MDDH}^{k+1}_{k,m}\) assumption which implies that

$$\begin{aligned} {[}\mathbf {V}\underline{\mathbf {M}}]_2 \text { is pseudorandom} \end{aligned}$$

and so is

$$\begin{aligned} {[}\mathbf {C}_2]_2 = [(\mathbf {y}\Vert \mathbf {V})\mathbf {M}]_2 = [\mathbf {y}\overline{\mathbf {M}}+ \mathbf {V}\underline{\mathbf {M}}]_2. \end{aligned}$$

Game Sequence for \(\uppi _1\). The scheme \(\uppi _1\) is identical to (2) except that the secret key for \(\mathbf {F}\) is over \(G_2\):

$$\begin{aligned} {\textsf {sk}}_\mathbf {F}=[\langle \mathbf {F} , \mathbf {U}\mathbf {V}^{}{\top } \rangle ]_2 \end{aligned}$$

The simulator and game sequence are analogous except that we need \(\textsc {Bi-MDDH}^{}_{k,n}\) to prove \({\textsf {G}}_{2}\approx _c{\textsf {G}}_{1}\) since \(\mathbf {C}_1\) are over \(G_2\) in \({\textsf {sk}}_\mathbf {F}\).

Game Sequence for \(\uppi _2\). The scheme \(\uppi _2\) is identical to (2) except that the secret key for \(\mathbf {F}\) consists of two elements from \(G_1\) and \(G_2\), respectively:

$$\begin{aligned} {\textsf {sk}}_\mathbf {F}= \big (\, [\tau ]_1,\, [\langle \mathbf {F} , \mathbf {U}\mathbf {V}^{}{\top } \rangle - \tau ]_2\,\big ). \end{aligned}$$

The simulator and game sequence are analogous except that when we prove \({\textsf {G}}_{2}\approx _c{\textsf {G}}_{1}\) we simulate the secret key as:

$$\begin{aligned} {\textsf {sk}}_\mathbf {F}= \big (\, [\langle \mathbf {F} , \mathbf {C}_1\mathbf {C}_2^{}{\top }- \mathbf {x}\mathbf {y}^{}{\top } \rangle - \tau ]_1,\, [\tau ]_2\,\big ) \end{aligned}$$

such that \(\mathbf {C}_1\) appears over \(G_1\) as in (2).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Gong, J., Qian, H. Simple and efficient FE for quadratic functions. Des. Codes Cryptogr. 89, 1757–1786 (2021). https://doi.org/10.1007/s10623-021-00871-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10623-021-00871-x

Keywords

Mathematics Subject Classification

Navigation