Functional 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.

consists of the following four algorithms: The security of FE requires that any information an adversary learns from an encryption of

corresponds to an identity that is allowed to decrypt, and

Similarly, in the ABE case, define

encodes attributes with permission to decrypt and

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.