Paper 2014/550

Function-Private Functional Encryption in the Private-Key Setting

Zvika Brakerski and Gil Segev


Functional encryption supports restricted decryption keys that allow users to learn specific functions of the encrypted messages. Whereas the vast majority of research on functional encryption has so far focused on the privacy of the encrypted messages, in many realistic scenarios it is crucial to offer privacy also for the functions for which decryption keys are provided. Whereas function privacy is inherently limited in the public-key setting, in the private-key setting it has a tremendous potential. Specifically, one can hope to construct schemes where encryptions of messages $m_1, \ldots, m_T$ together with decryption keys corresponding to functions $f_1, \ldots, f_T$, reveal essentially no information other than the values $\{ f_i(m_j)\}_{i,j\in [T]}$. Despite its great potential, the known function-private private-key schemes either support rather limited families of functions (such as inner products), or offer somewhat weak notions of function privacy. We present a generic transformation that yields a function-private functional encryption scheme, starting with any non-function-private scheme for a sufficiently rich function class. Our transformation preserves the message privacy of the underlying scheme, and can be instantiated using a variety of existing schemes. Plugging in known constructions of functional encryption schemes, we obtain function-private schemes based either on obfuscation assumptions, on the Learning with Errors assumption, and even on the existence of any one-way function (offering various trade-offs between security and efficiency).

Available format(s)
Publication info
Preprint. MINOR revision.
Contact author(s)
segev @ cs huji ac il
2015-01-08: last of 4 revisions
2014-07-18: received
See all versions
Short URL
Creative Commons Attribution


      author = {Zvika Brakerski and Gil Segev},
      title = {Function-Private Functional Encryption in the Private-Key Setting},
      howpublished = {Cryptology ePrint Archive, Paper 2014/550},
      year = {2014},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.