Functional encryption

From Wikipedia, the free encyclopedia

Page Module:Infobox/styles.css has no content.

Functional encryption
Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found.
General
DesignersAmit Sahai, Brent Waters, Dan Boneh, Shafi Goldwasser, Yael Kalai
Derived fromPublic-key encryption
Related toHomomorphic encryption

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

Formal definition

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

  • (pk,msk)𝖲𝖾𝗍𝗎𝗉(1λ): creates a public key pk and a master secret key msk.
  • sk𝖪𝖾𝗒𝗀𝖾𝗇(msk,f): uses the master secret key to generate a new secret key sk for the function f.
  • c𝖤𝗇𝖼(pk,x): uses the public key to encrypt a message x.
  • y𝖣𝖾𝖼(sk,c): uses secret key to calculate y=f(x) where x is the value that c encrypts.

The security of FE requires that any information an adversary learns from an encryption of x is revealed by f(x). Formally, this is defined by simulation.[1]

Applications

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

History

Functional encryption was proposed by Amit Sahai and Brent Waters in 2005[2] and formalized by Dan Boneh, Amit Sahai and Brent Waters in 2010.[3] 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.[1][4][5][6]

References

Page Template:Reflist/styles.css has no content.

  1. ^ a b Page Module:Citation/CS1/styles.css has no content.Goldwasser, Shafi; Kalai, Yael; Ada Popa, Raluca; Vaikuntanathan, Vinod; Zeldovich, Nickolai (2013). Reusable garbled circuits and succinct functional encryption - Stoc 13 Proceedings of the 2013 ACM Symposium on Theory of Computing. New York, NY, USA: ACM. pp. 555–564. ISBN 978-1-4503-2029-0.
  2. ^ Page Module:Citation/CS1/styles.css has no content.Amit Sahai; Brent Waters (2005). "Fuzzy Identity-Based Encryption". In Ronald Cramer (ed.). Advances in Cryptology. EUROCRYPT 2005: 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Proceedings. Springer. pp. 457–473. ISBN 978-3-540-25910-7. LCCN 2005926095.
  3. ^ Page Module:Citation/CS1/styles.css has no content.Boneh, Dan; Amit Sahai; Brent Waters (2011). "Functional Encryption: Definitions and Challenges" (PDF). Proceedings of Theory of Cryptography Conference (TCC) 2011.
  4. ^ Page Module:Citation/CS1/styles.css has no content.Gorbunov, Sergey; Hoeteck Wee; Vinod Vaikuntanathan (2013). "Attribute-Based Encryption for Circuits". Proceedings of STOC.
  5. ^ Page Module:Citation/CS1/styles.css has no content.Sahai, Amit; Brent Waters (2012). "Attribute-Based Encryption for Circuits from Multilinear Maps" (PDF). arXiv:1210.5287.
  6. ^ Page Module:Citation/CS1/styles.css has no content.Goldwasser, Shafi; Yael Kalai; Raluca Ada Popa; Vinod Vaikuntanathan; Nickolai Zeldovich (2013). "How to Run Turing Machines on Encrypted Data" (PDF). Advances in Cryptology – CRYPTO 2013. Lecture Notes in Computer Science. Vol. 8043. pp. 536–553. doi:10.1007/978-3-642-40084-1_30. hdl:1721.1/91472. ISBN 978-3-642-40083-4.