Bob meets functional encryption

March 9, 2021
Bob studying

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 obtains

sequenceDiagram; participant A as Alice; participant B as Bob; A->>A: encrypts message m: c = enc(m); A->>B: c; B->>B: decrypts message: dec(c) fooooooooooooooo

Note 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:

sequenceDiagram; participant A as Alice; participant B as Bob; participant K as Key Generator; A->>A: encrypts message m: c = enc(m); A->>B: c; K->> B: k_f; B->>B: decrypts message: dec(c) fooooooooooooooo

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 ciphertext

Alice does not want Bob to know

She wants Bob to know only
for some vector

In other words, for a message

Alice wants Bob to know
where

sequenceDiagram; participant A as Alice; participant B as Bob; participant K as Key Generator; A->>A: encrypts message m: c = enc(m1, m2, m3); A->>B: c; K->> B: k_f; B->>B: decrypts message: dec(c) fooooooooooooooooooooooo

After decryption, Bob knows nothing about

except the value

This value is called the inner-product of vectors

and
. It is denoted by
:

The Alice and Bob newsletter

Get highlights of Alice and Bob's adventures delivered to your email box.

Made by XLAB with ❤️
Follow us
Twitter Twitter