Jump to content

Functional encryption

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Aberkoff (talk | contribs) at 18:30, 21 August 2013 (fixed incorrect definition (definition was of Attribute Based Encryption, which is just a sub-category of Functional Encryption)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Functional encryption is a type of public-key encryption in which possessing a secret key allows one to learn a function of what the ciphertext is encrypting.

More precisely, a functional encryption scheme for a given functionality consists of the following four algorithms:

  • : creates a public key and a master secret key .
  • : uses the master secret key to generate a new secret key for value .
  • : uses the public key to encrypt a message .
  • : uses secret key calculate a function of the value encrypts.

Functional encryption generalizes several existing primitives including Identity-based encryption (IBE) and Attribute-based encryption (ABE). In the IBE case, define to be equal to when corresponds to an identity that is allowed to decrypt, and otherwise. Similarly, in the ABE case, define when encodes attributes with permission to decrypt and otherwise.

Background

Functional encryption was proposed by Sahai and Waters in 2005[1] and formalized by Boneh, Sahai and Waters in 2010.[2] Until recently, however, most instantiations of Functional Encryption supported only limited function classes such as boolean formulae. In 2012, several researchers developed Functional Encryption schemes that support arbitrary functions.[3][4][5] [6]

References

  1. ^ Sahai, Amit (2005). "Fuzzy Identity-Based Encryption" (PDF). Proceedings of Eurocrypt 2005. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  2. ^ Boneh, Dan (2011). "Functional Encryption: Definitions and Challenges" (PDF). Proceedings of Theory of Cryptography Conference (TCC) 2011. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  3. ^ Goldwasser, Shafi (2013). "Reusable Garbled Circuits and Succinct Functional Encryption" (PDF). Proceedings of STOC 2013. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  4. ^ Gorbunov, Serge (2013). "Attribute-Based Encryption for Circuits". Proceedings of STOC. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  5. ^ Sahai, Amit. "Attribute-Based Encryption for Circuits from Multilinear Maps" (PDF). {{cite journal}}: Cite journal requires |journal= (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  6. ^ Goldwasser, Shafi (2013). "How to Run Turing Machines on Encrypted Data" (PDF). CRYPTO 2013. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)