I have to write an essay on the paper ad hoc multi-input functional encryption, and can't understand the security definition. In a nutshell it is a primitive that allow sources to supply encrypted data, such that at any point a dynamically-chosen subset of sources can allow an agreed-upon joint function of their data to be computed by the aggregator.

Syntax description:

aMIFE syntax

Security definition:

enter image description here

I've got the following questions about the security definition:

  1. I do not understand why a queried function is defined and why its defined this way.

I think the gist is a function is queried if you could provide ciphertexts for all it's input arguments (by having the keys when its corrupted or asking keygen oracle). But what is it trying to say by "for every user associated with it's input wires"?

A function can be calculated on different subset of users. Would it not be more reasonable if it said "$f$ is queried if there exist a $\{i_1, ... , i_{\ell}\}$ such that for every user associated with ..."?

  1. Should it not read: "$j \in I$, i.e. $j$ is corrupted and $y_{j,0} = y_{j,i}$" at the bullet point that I highlighted?

Otherwise whats the point if the inputs that are controlled by the adversary are different? It's not going to help you distinguish the challenge and guess the $b$.

  • $\begingroup$ @Maarten Bodewes for the second question you edited "2. Should not it read". My english is not that good but isn't a mistake? is not better use says instead of read?(Just a suggestion) $\endgroup$
    – mike
    Commented May 22, 2022 at 14:16
  • $\begingroup$ Two words were in a bit of a strange order, I think it is OK now. $\endgroup$
    – Maarten Bodewes
    Commented May 22, 2022 at 14:18


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.