# Bob meets functional encryption

The other day Bob came across a new term – functional encryption. It sounded kind of ambiguous. What does it mean? Something that can encrypt functions? Or finally, encryption that works?

Bob didn't have a clue. Sometimes he thinks he should just stop reading cryptographic papers altogether. But you know – it is too tempting to read the stories where you and your best friend are the main characters.

Bob now knows a thing or two about traditional cryptography. In traditional encryption, Alice encrypts the message

with a key and obtains ciphertext Bob decrypts and obtainsNote that in symmetric cryptography:

. In asymmetric cryptography, is Bob's public key and is Bob's private key.In functional encryption, Bob does not get

. He gets some function of : In fact, what is decrypted (what function ) depends on the functional encryption key that Bob receives from the Key Generator:## But what kind of data can be encrypted? What kind of functions are possible?

It turns out the data needs to be presented as a vector. Let us say Alice has a vector

Alice encrypts and obtains a ciphertextAlice does not want Bob to know

She wants Bob to know only for some vectorIn other words, for a message

Alice wants Bob to know whereAfter decryption, Bob knows nothing about

except the valueThis value is called the inner-product of vectors

and . It is denoted by :