Paper 2021/046

Efficient Lattice-Based Inner-Product Functional Encryption

Jose Maria Bermudo Mera, Angshuman Karmakar, Tilen Marc, and Azam Soleimanian


In the recent years, many research lines on Functional Encryption (FE) have been suggested and studied regarding the functionality, security, or efficiency. Nevertheless, an open problem on a basic functionality, the single-input inner-product (IPFE), remains: can IPFE be instantiated based on the Ring Learning With Errors (RLWE) assumption? The RLWE assumption provides quantum-resistance security while in comparison with LWE assumption gives significant performance and compactness gains. In this paper we present the first RLWE-based IPFE scheme. We carefully choose strategies in the security proofs to optimize the size of parameters. More precisely, we develop two new results on ideal lattices. The first result is a variant of Ring-LWE, that we call multi-hint extended Ring-LWE, where some hints on the secret and the noise are given. We present a reduction from RLWE problem to this variant. The second tool is a special form of Leftover Hash Lemma (LHL) over rings, known as Ring-LHL. To demonstrate the efficiency of our scheme we provide an optimized implementation of RLWE-based IPFE scheme and show its performance on a practical use case. We further present new compilers that, combined with some existing ones, can transfer a single-input FE to its (identity-based, decentralized) multi-client variant with linear size of the ciphertext (w.r.t the number of clients).

Available format(s)
Public-key cryptography
Publication info
Published by the IACR in PKC 2022
Functional EncryptionInner-ProductLattice-Based CryptographyLearning with Errors over Ring
Contact author(s)
tilen marc @ xlab si
2021-12-24: revised
2021-01-18: received
See all versions
Short URL
Creative Commons Attribution


      author = {Jose Maria Bermudo Mera and Angshuman Karmakar and Tilen Marc and Azam Soleimanian},
      title = {Efficient Lattice-Based Inner-Product Functional Encryption},
      howpublished = {Cryptology ePrint Archive, Paper 2021/046},
      year = {2021},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.