Abstract 1 Introduction 2 Preliminaries and Notations 3 Incompressible Functional Encryption: Definitions 4 Rate-𝟏𝟐 Incompressible FE with Short Keys and Semi-Strong Security 5 Rate-𝟏 Incompressible FE with Large Keys and Semi-Strong Security 6 Rate-𝟏 Incompressible FE with Short Keys and Standard Security References

Incompressible Functional Encryption

Rishab Goyal ORCID University of Wisconsin-Madison, WI, USA Venkata Koppula ORCID IIT Delhi, India Mahesh Sreekumar Rajasree111Corresponding author ORCID IIT Delhi, India Aman Verma ORCID IIT Delhi, India
Abstract

Incompressible encryption (Dziembowski, Crypto’06; Guan, Wichs, Zhandry, Eurocrypt’22) protects from attackers that learn the entire decryption key, but cannot store the full ciphertext. In incompressible encryption, the attacker must try to compress a ciphertext within pre-specified memory bound S before receiving the secret key.

In this work, we generalize the notion of incompressibility to functional encryption. In incompressible functional encryption, the adversary can corrupt non-distinguishing keys at any point, but receives the distinguishing keys only after compressing the ciphertext to within S bits. An important efficiency measure for incompressible encryption is the ciphertext-rate (i.e., 𝗋𝖺𝗍𝖾=|m|/|𝖼𝗍|). We give many new results for incompressible functional encryption for circuits, from minimal assumption of (non-incompressible) functional encryption, with

  1. 1.

    𝖼𝗍-rate-12 and short secret keys,

  2. 2.

    𝖼𝗍-rate-1 and large secret keys.

Along the way, we also give a new incompressible attribute-based encryption for circuits from standard assumptions, with 𝖼𝗍-rate-12 and short secret keys. Our results achieve optimal efficiency, as incompressible attribute-based/functional encryption with 𝖼𝗍-rate-1 as well as short secret keys has strong barriers for provable security from standard assumptions. Moreover, our assumptions are minimal as incompressible attribute-based/functional encryption are strictly stronger than their non-incompressible counterparts.

Keywords and phrases:
functional encryption, attribute-based encryption, incompressible encryption
Funding:
Rishab Goyal: Support for this research was provided by OVCRGE at UW–Madison with funding from the Wisconsin Alumni Research Foundation.
Copyright and License:
[Uncaptioned image] © Rishab Goyal, Venkata Koppula, Mahesh Sreekumar Rajasree, and Aman Verma; licensed under Creative Commons License CC-BY 4.0
2012 ACM Subject Classification:
Security and privacy Public key encryption
Related Version:
Full Version: https://eprint.iacr.org/2024/798.pdf
Editor:
Raghu Meka

1 Introduction

A fundamental principle in cryptography is to leverage “secrets” for differentiating between an honest user legitimately accessing a system and an attacker trying to illegitimately access it. Consider data encryption as an example, where the goal is data secrecy. A central assumption underlying traditional encryption is that an attacker cannot learn anything about a user’s secret decryption key. Moreover, this assumption seems inherent as if an attacker learns the secret key, then how can one distinguish between “capabilities” of an honest user and an attacker!?

In 2006, Dziembowzki [14] proposed an exquisite approach to restrict the “capabilities” of an attacker, even when the entire secret key gets corrupted. The proposal was to view long-term memory storage as a limited and expensive resource. In words, the intuition was that no real-world attacker can maintain an unbounded long-term memory, and it has to pick and choose what it wants to store in its memory. Dziembowzki [14] formalized this in the secret-key setting, and defined it as a forward-secure storage system. Recently, Guan, Wichs, and Zhandry (henceforth GWZ) [23] generalized this to the public-key setting. They labeled cryptography in this model as “incompressible” cryptography. The intuition being that an attacker cannot “compress” its unbounded short-term memory into its bounded long-term memory. GWZ provided multiple constructions for “incompressible” public-key encryption and signatures, from a variety of cryptographic assumptions with different efficiency tradeoffs.

Beyond Public-Key Encryption

Functional encryption (FE) [32, 2, 28, 7] is a powerful generalization of public-key encryption (PKE) [12]. FE generalizes PKE by providing fine-grained access to encrypted data. In FE, the master decryption key holder can create partial “functional” decryption keys 𝗌𝗄f for any supported function f of its choice. Such a key holder can recover f(m) from any ciphertext 𝖼𝗍, encrypting data m. Standard indistinguishability-based FE security states that no polytime attacker cannot distinguish between encryptions 𝖼𝗍0,𝖼𝗍1 of messages m0,m1, unless it receives a secret key 𝗌𝗄f s.t. f(m0)f(m1). That is, unless an attacker receives a “distinguishing key” 𝗌𝗄f, it cannot distinguish between any two ciphertexts.222Throughout the sequel, by the phrase a “distinguishing key”, we mean a secret key that can distinguish between two ciphertexts (by running decryption). Similarly, by the phrase “non-distinguishing keys”, we mean secret keys that do not enable a trivial distinguishing attack between two ciphertexts. The ability to learn only function evaluation of encrypted data and nothing more has had fascinating consequences in cryptography, both theoretically and practically [33, 5, 11, 32, 22, 8, 2, 28, 7, 30, 17, 15, 20, 34, 10, 19, 29, 31, 21, 26, 27, 4, 13].

While functional keys offer fine-grained access over encrypted data, enabling many superior applications, they also enable far more attack opportunities compared to plain encryption. In PKE, there is just one secret key, and while that implies an all-or-nothing functionality, storing the key securely for the entire system lifetime is much easier. On the contrary, in FE, there are master secret keys as well as functional decryption keys. Each decryption key must be securely generated, distributed, and stored by the appropriate user. While it might be reasonable to expect the central trusted authority will (in most part) store master key 𝗆𝗌𝗄 securely; expecting this from every other user (holding a functional key) is unrealistic.

Our Contributions: Incompressible FE

In this work, we study incompressible functional encryption systems. We formalize the concept, and provide multiple constructions from a variety of cryptographic assumptions enabling different efficiency tradeoffs. As we elaborate in the full version [18], incompressibility in FE is extremely interesting, both theoretically and practically. In short, it pushes the traditional perception in FE that leaking an entire decryption key is equivalent to learning the function output on every previously encrypted data.

Formalizing incompressible FE.

Interestingly, formally defining incompressibility for FE is more nuanced than for PKE. In public-key encryption, there is just one secret key. Thus, to define incompressibility for PKE, one considers a simple two-stage attacker: in stage 1, the attacker receives a ciphertext that it must “compress” down to S bits333S is typically considered to be the bound on the adversary’s long-term storage.; and stage 2, where the attacker receives the secret key (along with the S-bit “compressed” ciphertext). As long as such an attacker cannot learn anything about the message, the PKE scheme is a secure incompressible scheme. In functional encryption setting, there are many more secret keys! Thus, depending upon the secret key(s) that a stage 2 attacker learns, there are different formulations of incompressible FE security. Below, we briefly summarize three such formulations, and discuss them in further detail in the full version [18].444We can also consider joint compression of ciphertexts and secret keys in FE. The focus of this work is only on ciphertext incompressibility as discussed in the full version [18]. It is an interesting open question of whether new tradeoffs and applications can be enabled, if one considers joint incompressibility of ciphertexts and secret keys.

  • Standard security: the adversary receives one (or bounded number of) distinguishing secret key(s), after compressing challenge ciphertext (i.e., in stage 2). Moreover, it receives unbounded number of non-distinguishing secret keys before and after compressing the ciphertext.

  • Semi-strong security: this is a strengthening of standard security, where the adversary can get an unbounded number of distinguishing keys in stage 2.

  • Strong security: this further strengthens as now adversary gets the master secret key in stage 2.

Measuring incompressibility efficiency.

Clearly, for the above to not be trivially impossible, the ciphertext size should be larger than S, the incompressibility limit. Further, the ciphertext should be larger than |m| to uniquely encode m and guarantee correctness. However, it is not clear if there are any other necessary constraints on parameter sizes, beyond |𝖼𝗍|=max(S,|m|)+𝗉𝗈𝗅𝗒(λ). Here the max(S,|m|) term ensures both ciphertext constraints (i.e., |𝖼𝗍|>S and |𝖼𝗍|>|m|).

Thus, an ideal goal is to design incompressible FE where |𝗆𝗉𝗄|,|𝗆𝗌𝗄|,|𝗌𝗄f| are all independent of S, and |𝖼𝗍|=max(S,|m|)+𝗉𝗈𝗅𝗒(λ). Such an incompressible FE scheme would have asymptotically optimal-sized parameters. As we discuss in the full version [18], achieving optimality in all parameter sizes is unachievable from standard falsifiable assumptions. Therefore, a standard approach in the literature [23, 9] is to design encryption with highest ciphertext-rate. Ciphertext-rate is defined as the ratio of message length and ciphertext length, i.e. |m||𝖼𝗍|.

Prior works [23, 9] built incompressible PKE with optimal 𝖼𝗍-rate of 1. Unfortunately, that comes at the cost of large secret keys, i.e. |𝗌𝗄|=𝗉𝗈𝗅𝗒(S,λ). In this work, we design incompressible ABE/FE in two incomparable parameter regimes – 𝖼𝗍-rate of 1 with “large” secret keys, and 𝖼𝗍-rate of 12 with “short” secret keys. We believe both parameter regimes to be equally interesting. In FE applications, where an honest user stores only secret keys and not ciphertexts in its persistent long-term storage, it might be beneficial to have short keys with constant 𝖼𝗍-rate. While, in applications where an honest user stores only a few secret keys and a large number of ciphertexts, having a 𝖼𝗍-rate of 1 might be more useful.

Our results

We summarize our main results below. All our schemes are in the standard model and under standard assumptions. We do not make any ideal-cipher, random oracle, or any other non-standard/non-falsifiable cryptographic assumption.

Incompressible FE.

Our first set of results contains new constructions for incompressible FE for polynomial-sized circuits. We provide three separate and incomparable FE constructions as each provides a unique efficiency-security tradeoff. All three construction rely on a standard public-key FE scheme for polynomial-sized circuits.

  1. 1.

    Our first incompressible FE scheme is proven secure in the semi-strong incompressibility model. If the underlying FE scheme has 𝖼𝗍-rate of r[0,1], then our incompressible FE scheme has an r2 𝖼𝗍-rate.

  2. 2.

    Our second scheme is also proven secure in the semi-strong incompressibility model, except we only prove selective security.555Here selective means that the adversary must submit challenge messages before receiving secret keys in stage 1. Moreover, this construction is a 𝖼𝗍-rate preserving construction. That is, we obtain 𝖼𝗍-rate r incompressible FE scheme from any 𝖼𝗍-rate r standard FE scheme. However, the secret keys are large to avoid known barriers.

  3. 3.

    Our third scheme is an extension of our above scheme. It is proven secure in the selective standard incompressibility model, but it provides a rather non-trivial efficiency guarantee. We prove that if the underlying FE scheme has short keys, then so does our incompressible FE scheme (without lowering the 𝖼𝗍-rate). As we elaborate later in the overview, this does not contradict known implausibility results (see discussion in the full version [18]), but rather tightly matches it.

By plugging in known optimal-ciphertext-rate FE schemes [23, 25], we obtain incompressible FE schemes under the assumption of poly-secure FE with:

  1. 1.

    a 𝖼𝗍-rate-12, short keys, and selective semi-strong security,

  2. 2.

    a 𝖼𝗍-rate-14, short keys, and adaptive semi-strong security,

  3. 3.

    a 𝖼𝗍-rate-1, large keys, and selective semi-strong security,

  4. 4.

    a 𝖼𝗍-rate-1, short keys, and selective standard security.

Incompressible ABE.

Our second result is an incompressible attribute-based encryption (ABE) scheme for polynomial-sized circuits achieves (standard) incompressible ABE security, with ciphertext size |𝖼𝗍|=S+|m|+𝗉𝗈𝗅𝗒(λ) and all other parameter sizes, |𝗆𝗉𝗄|,|𝗆𝗌𝗄|,|𝗌𝗄f|, are independent of S. That is, this scheme has 𝖼𝗍-rate of 12, and short keys. The construction and security proof are available in the full version [18].

2 Preliminaries and Notations

Throughout this paper, we will use λ to denote the security parameter and negl() to denote a negligible function in the input. We will use the short-hand notation PPT for “probabilistic polynomial time”. For any finite set X, xX denotes the process of picking an element x from X uniformly at random. Similarly, for any distribution 𝒟, x𝒟 denotes an element x drawn from the distribution 𝒟. For any natural number n, [n] denotes the set {1,2,,n}. For any two binary string x and y, x||y denotes the concatenation of x and y. We use the following two notations to denote a family of circuits - {𝒞n}n is a set of families of circuits indexed by some parameter n and {𝒞d,}d, is a set of families of circuits indexed by the depth of the circuits d and the number of inputs to the circuits .

2.1 Randomness Extractors

Definition 1 (Strong Average Min-Entropy Extractor).

A (k,ϵ)-strong average min-entropy extractor is an efficient function 𝖤𝗑𝗍:{0,1}d×{0,1}n{0,1}m such that for all jointly distributed random variable X,Y where X takes values {0,1}d and H(X|Y)k, we have (Ud,𝖤𝗑𝗍(X,Ud),Y)ϵ(Ud,Um,Y) where Ud,Um are uniformly random strings of length d,m respectively. Here H(X|Y)=log𝔼yY(maxx𝖯𝗋(X=x|Y=y)) is the average min-entropy of X conditioned on Y.

Theorem 2.

There exists an explicit efficient (k,2λ)-strong average min-entropy extractor 𝖤𝗑𝗍:{0,1}d×{0,1}n{0,1}λ such that k=𝗉𝗈𝗅𝗒(λ), d=𝗉𝗈𝗅𝗒(λ), n=S+k and the depth of the extractor circuit is 𝗉𝗈𝗅𝗒(λ,log(n)).

2.2 Pseudorandom Functions

A family of pseudorandom functions 𝖯𝖱𝖥=(𝖪𝖾𝗒𝖦𝖾𝗇, 𝖤𝗏𝖺𝗅) with key space {𝒦λ}λ, input space {𝒳λ}λ and output space {𝒴λ}λ consists of the following algorithms.

  • 𝖪𝖾𝗒𝖦𝖾𝗇(1λ): The key generation algorithm is a randomized algorithm that takes as input the security parameter 1λ and outputs a key k𝒦λ.

  • 𝖤𝗏𝖺𝗅(k,x): The evaluation algorithm is a deterministic algorithm that takes as input a key k𝒦λ and x𝒳λ and outputs y𝒴λ.

Definition 3.

A PRF scheme 𝖯𝖱𝖥 is secure if for all PPT adversary 𝒜, there exists a negligible function negl() such that for all λ,

|Pr[𝒜𝖤𝗏𝖺𝗅(k,)(1λ)=1:k𝖪𝖾𝗒𝖦𝖾𝗇(1λ)]Pr[𝒜R()(1λ)=1:R𝒰λ]|negl(λ)

where 𝒰λ is the set of all functions from 𝒳λ to 𝒴λ.

2.3 Garbling Scheme

A garbling scheme 𝖦𝖢=(𝖦𝖺𝗋𝖻𝗅𝖾,𝖤𝗏𝖺𝗅) for a class of circuits {𝒞λ}λ consists of the following algorithms.

  • 𝖦𝖺𝗋𝖻𝗅𝖾(1λ,C): The garbling algorithm is a randomized algorithm that takes as input the security parameter 1λ and a circuit C𝒞λ such that C:{0,1}n{0,1} and outputs a garbled circuit C^ and a set of labels {𝗅𝖺𝖻i,b}i[n],b{0,1}.

  • 𝖤𝗏𝖺𝗅(C^,{𝗅𝖺𝖻i}i[n]): The evaluation algorithm takes as input a garbled circuit C^ and a set of n labels {𝗅𝖺𝖻i}i[n] and outputs y{0,1}.

Correctness

For correctness of a garbling scheme 𝖦𝖢 for a class of circuits {𝒞λ}λ, we require that for all λ,C𝒞λ, x{0,1}n,

𝖤𝗏𝖺𝗅(C^,{𝗅𝖺𝖻i,xi}i[n])=C(x)

where (C^,{𝗅𝖺𝖻i,b}i[n],b{0,1})𝖦𝖺𝗋𝖻𝗅𝖾(1λ,C).

Security

For security, we define simulation based security [35, 1].

Definition 4.

A garbling scheme 𝖦𝖢=(𝖦𝖺𝗋𝖻𝗅𝖾,𝖤𝗏𝖺𝗅) for a class of circuits {𝒞λ}λ is said to be secure if there exists a PPT algorithm 𝖲𝗂𝗆 such that for all PPT adversaries 𝒜=(𝒜1,𝒜2), there exists a negligible function negl() such that for all λ, the following holds.

|Pr[𝒜2(C^,{𝗅𝖺𝖻i,xi}i[n],𝖺𝗎𝗑)=1:(C,x,𝖺𝗎𝗑)𝒜1(1λ),(C^,{𝗅𝖺𝖻i,xi}i[n])𝖲𝗂𝗆(1λ,1n,1|C|,C(x))]
Pr[𝒜2(C^,{𝗅𝖺𝖻i,xi}i[n],𝖺𝗎𝗑)=1:(C,x,𝖺𝗎𝗑)𝒜1(1λ),(C^,{𝗅𝖺𝖻i,b}i[n],b{0,1})𝖦𝖺𝗋𝖻𝗅𝖾(1λ,C))]|12+negl(λ).

2.4 Incompressible Secret Key Encryption

An incompressible secret key encryption scheme 𝖨𝗇𝖼𝖲𝖪𝖤=(𝖲𝖾𝗍𝗎𝗉,𝖤𝗇𝖼,𝖣𝖾𝖼) with message space {λ}λ consists of the following PPT algorithms.

  • 𝖲𝖾𝗍𝗎𝗉(1λ,1S,1n): The setup algorithm is a randomized algorithm that takes as input the security parameter λ, a parameter 1S, the length of the message 1n and outputs a secret key 𝗌𝗄.

  • 𝖤𝗇𝖼(𝗌𝗄,m): The encryption algorithm is a randomized algorithm that takes as input a secret key 𝗌𝗄 and a message mλ and outputs a ciphertext 𝖼𝗍.

  • 𝖣𝖾𝖼(𝗌𝗄,𝖼𝗍): The decryption algorithm takes as input a secret key 𝗌𝗄 and a ciphertext 𝖼𝗍 and outputs either a message mλ or .

Correctness

For correctness, we require that for all λ,S,n,mλ and 𝗌𝗄𝖲𝖾𝗍𝗎𝗉(1λ,1S,1n),

Pr[𝖣𝖾𝖼(𝗌𝗄,𝖤𝗇𝖼(𝗌𝗄,m))=m]=1

where the probability is over the random bits used in the encryption algorithm.

Incompressible SKE Security

Consider the following experiment with an adversary 𝒜=(𝒜1,𝒜2).

  • Initialization Phase: 𝒜1 on input 1λ, outputs an upper bound on the state size 1S and the length of the message 1n. The challenger runs 𝗌𝗄𝖲𝖾𝗍𝗎𝗉(1λ,1S,1n).

  • Challenge Phase: 𝒜1 outputs a message m, along with an auxiliary information 𝖺𝗎𝗑. The challenger randomly chooses b{0,1}. If b=0, it samples a truly random string 𝖼𝗍. Else, it computes a ciphertext 𝖼𝗍=𝖤𝗇𝖼(𝗌𝗄,m) and sends it to 𝒜1.666In the incompressible security definition presented in prior works [9, 24], the adversary sends two messages m0,m1 and receives an encryption of one of these message. Note that this is a weaker notion, which is implied by the incompressible security notion defined in this paper.

  • First Response Phase: 𝒜1 computes a state 𝗌𝗍 such that |𝗌𝗍|S.

  • Second Response Phase: 𝒜2 receives (𝗌𝗄,𝖺𝗎𝗑,𝗌𝗍) and outputs b. 𝒜 wins the experiment if b=b.

Definition 5.

An SKE scheme is said to be incompressible secure if for all PPT adversaries 𝒜, there exists a negligible function negl() such that for all λ,

Pr[𝒜 wins in the above experiment]12+negl(λ)

CPA-SKE Security

Consider the following experiment with an adversary 𝒜 where 𝖲𝖾𝗍𝗎𝗉 algorithm takes only 1λ and 1n as input.

  • Initialization Phase: The challenger runs 𝗌𝗄𝖲𝖾𝗍𝗎𝗉(1λ,1n).

  • Pre-Challenge Query Phase: 𝒜 is allowed to make polynomially many queries. For each query m, the challenger computes 𝖼𝗍𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄,m) and returns 𝖼𝗍 to 𝖠𝖽𝗏.

  • Challenge Phase: 𝒜 outputs a message m. The challenger randomly chooses b{0,1}. If b=0, it samples a truly random string 𝖼𝗍. Else, it computes a ciphertext 𝖼𝗍=𝖤𝗇𝖼(𝗌𝗄,m) and sends it to 𝒜.777Note that this security notion implies the standard indistinguishability security notion where the adversary sends two messages m0,m1 and receives an encryption of one of the messages.

  • Post-Challenge Query Phase: 𝒜 is allowed to make polynomially many queries. For each query m, the challenger computes 𝖼𝗍𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄,m) and returns 𝖼𝗍 to 𝖠𝖽𝗏.

  • Response Phase: 𝒜 outputs b{0,1} and wins the experiment if b=b.

Definition 6.

An SKE scheme is said to be secure if for all PPT adversaries 𝒜, there exists a negligible function negl() such that for all λ,n,

Pr[𝒜 wins in the above experiment]12+negl(λ)
Theorem 7 ([14]).

Assuming the existence of one-way functions, there exists an incompressible SKE scheme with 𝗉𝗈𝗅𝗒(λ) secret-key size and S+n+𝗉𝗈𝗅𝗒(λ) ciphertext size where n is the size of the message and S is the compressibility parameter. The depth of the decryption circuit is 𝗉𝗈𝗅𝗒(λ,log(S,n)).

2.5 Functional Encryption

A functional encryption scheme 𝖥𝖤=(𝖲𝖾𝗍𝗎𝗉,𝖪𝖾𝗒𝖦𝖾𝗇,𝖤𝗇𝖼,𝖣𝖾𝖼) for the function space {n:𝒳n𝒴n}n consists of the following PPT algorithms.

  • 𝖲𝖾𝗍𝗎𝗉(1λ,1n): The setup algorithm is a randomized algorithm that takes as input the security parameter 1λ and an index 1n and outputs a master public key 𝗆𝗉𝗄 and a secret key 𝗆𝗌𝗄.

  • 𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f): The key generation algorithm is a randomized algorithm that takes as input the master secret 𝗆𝗌𝗄 and a function fn and outputs a secret 𝗌𝗄f.

  • 𝖤𝗇𝖼(𝗆𝗉𝗄,m): The encryption algorithm is a randomized algorithm that takes as input a public key 𝗆𝗉𝗄 and a message m𝒳n and outputs a ciphertext 𝖼𝗍.

  • 𝖣𝖾𝖼(𝗌𝗄f,𝖼𝗍): The decryption algorithm takes as input a secret key 𝗌𝗄f and a ciphertext 𝖼𝗍 and outputs either a y𝒴n or .

Correctness

For correctness, we require that for all λ,n,m𝒳n,fn and (𝗆𝗉𝗄,𝗆𝗌𝗄)𝖲𝖾𝗍𝗎𝗉(1λ,1n),

Pr[𝖣𝖾𝖼(𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f),𝖤𝗇𝖼(𝗆𝗉𝗄,m))=f(m)]=1

where the probability is over the random bits used in the encryption and key generation algorithm.

Adaptive IND-based Security

Consider the following experiment with an adversary 𝒜.

  • Initialization Phase: The challenger runs (𝗆𝗉𝗄,𝗆𝗌𝗄)𝖲𝖾𝗍𝗎𝗉(1λ,1n) and sends 𝗆𝗉𝗄 to 𝒜.

  • Pre-Challenge Query Phase: 𝒜 is allowed to make polynomially many queries. For each query f, the challenger computes 𝗌𝗄f𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f) and returns 𝗌𝗄f to 𝒜.

  • Challenge Phase: 𝒜 outputs two message m0,m1. If there exists a function f queried by 𝒜 such that f(m0)f(m1), the challenger aborts the game. Else, it randomly chooses b{0,1} and computes a ciphertext 𝖼𝗍=𝖤𝗇𝖼(𝗆𝗉𝗄,mb) and sends it to 𝒜.

  • Post-Challenge Query Phase: 𝒜 is allowed to make polynomially many queries. For each query f, if f(m0)f(m1), the challenger sends . Else, computes 𝗌𝗄f𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f) and returns 𝗌𝗄f to 𝒜.

  • Response Phase: 𝒜 outputs b. 𝒜 wins the experiment if b=b.

Definition 8.

An FE scheme satisfies adaptive indistinguishability-based security if for all PPT adversaries 𝒜, there exists a negligible function negl() such that for all λ,

Pr[𝒜 wins in the above experiment]12+negl(λ)

If the FE is secure against an unbounded number of queries from the adversary, then we say that the scheme is collision-resistant.

A relaxed notion of the FE indistinguishability-based security is the well-known selective security model. An FE scheme is said to be selectively secure if it is secure against PPT adversaries 𝒜 that do not make any key queries during the pre-challenge query phase, and have to submit the challenge message before obtaining the public parameters.

The following two theorems addresses the optimal ciphertext-rate and secret-key size FE schemes for both adaptive and selective settings. It is important to note that in these FE scheme, the decryption algorithm requires the complete description of the function f in addition to the secret key 𝗌𝗄f to perform decryption.

Theorem 9 ([25]).

Assuming selectively secure FE for circuits, there exists an adaptively secure FE such that

|𝗆𝗉𝗄|=Oλ(1),|𝗌𝗄f|=Oλ(1),|𝖼𝗍|=2|x|+Oλ(1)

where Oλ() hides factors of 𝗉𝗈𝗅𝗒(λ), λ is the security parameter, 𝖼𝗍 is a ciphertext and 𝗌𝗄f is a secret key for the function f, x is any element from the input space of f and 𝗆𝗉𝗄 is the master public key generated by the scheme.

Theorem 10 ([25]).

Assuming selectively secure FE for circuits, there exists an adaptively secure FE such that

|𝗆𝗉𝗄|=Oλ(1),|𝗌𝗄f|=Oλ(1),|𝖼𝗍|=|x|+Oλ(1)

where Oλ() hides factors of 𝗉𝗈𝗅𝗒(λ), λ is the security parameter, 𝖼𝗍 is a ciphertext and 𝗌𝗄f is a secret key for the function f that outputs a single bit, x is any element from the input space of f and 𝗆𝗉𝗄 is the master public key generated by the scheme.

Simulation security

Consider the following real and simulated experiment with an adversary 𝒜 where 𝖲𝗂𝗆 is a PPT simulator.

Real Experiment

  • Initialization Phase: The challenger runs (𝗆𝗉𝗄,𝗆𝗌𝗄)𝖲𝖾𝗍𝗎𝗉(1λ,1n) and sends 𝗆𝗉𝗄 to 𝒜.

  • Challenge Phase: 𝒜 outputs a message m and a function f. The challenger computes a ciphertext 𝖼𝗍𝖤𝗇𝖼(𝗆𝗉𝗄,m) and 𝗌𝗄f𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f) and sends (𝖼𝗍,𝗌𝗄f) to 𝒜.

  • Response Phase: 𝒜 outputs b.

Simulated Experiment

  • Initialization Phase: The simulator runs (𝗆𝗉𝗄,𝗆𝗌𝗄)𝖲𝖾𝗍𝗎𝗉(1λ,1n) and sends 𝗆𝗉𝗄 to 𝒜.

  • Challenge Phase: 𝒜 outputs a message m and a function f. The simulator computes (𝖼𝗍,𝗌𝗄f)𝖲𝗂𝗆(𝗆𝗉𝗄,f,f(m),1|m|) and sends (𝖼𝗍,𝗌𝗄f) to 𝒜.

  • Response Phase: 𝒜 outputs b.

Definition 11.

An FE scheme is said to be single-key simulation secure if for all PPT adversaries 𝒜, there exists a PPT simulator 𝖲𝗂𝗆 and a negligible function negl() such that for all λ,n,

|Pr[𝒜 outputs 0 in the real experiment]Pr[𝒜 outputs 0 in the simulated experiment]|negl(λ)
Theorem 12 ([16]).

Assuming the hardness of 𝖫𝖶𝖤, there exists a single-key simulation secure 𝖥𝖤 for a class of circuits {𝒞n,d}n,d that takes input of size n, outputs a single bit and has depth d such that

|𝖼𝗍|=Oλ(nd2),|𝗌𝗄f|=Oλ(d2),|mpk|=Oλ(nd2)

where Oλ() hides factors of 𝗉𝗈𝗅𝗒(λ), λ is the security parameter, 𝖼𝗍 is a ciphertext and 𝗌𝗄f is a secret key for the circuit f𝒞n,d and 𝗆𝗉𝗄 is the master public key generated by the scheme.

Corollary 13.

Assuming the hardness of 𝖫𝖶𝖤, there exists a single-key simulation secure 𝖥𝖤 for a class of circuits {𝒞n,d}n,d that takes input of size n, outputs m-bits and has depth d such that

|𝖼𝗍|=Oλ(mnd2),|𝗌𝗄f|=Oλ(md2),|mpk|=Oλ(mnd2)

where Oλ() hides factors of 𝗉𝗈𝗅𝗒(λ), λ is the security parameter, 𝖼𝗍 is a ciphertext and 𝗌𝗄f is a secret key for the circuit f𝒞n,d and 𝗆𝗉𝗄 is the master public key generated by the scheme.

Specializing FE

An attribute based encryption scheme (ABE) is a function encryption scheme where the message space is {n×𝒳n}n, i.e., it is a tuple of a message and an attribute and the function class is a set of function {n}n such that any function fCn is associated with a predicate function C with the following definition.

C(m,x)={mifC(x)=1ifC(x)=0

In the security experiment, the adversary has to output m0,m1,x in the challenge phase with the restriction that it has never queried a key for a function fC such that C(x)=1.

Theorem 14 ([6]).

Assuming the hardness of 𝖫𝖶𝖤, there exists an selectively secure ABE scheme for any family of circuits {𝒞d,}d, that has -length input and d-depth satisfying

|𝖼𝗍|=Oλ(d2),|𝗌𝗄f|=Oλ(d2),|mpk|=Oλ(d2)

where Oλ() hides factors of 𝗉𝗈𝗅𝗒(λ), λ is the security parameter, 𝖼𝗍 is a ciphertext and 𝗌𝗄f is a secret key for the predicate f𝒞d, and 𝗆𝗉𝗄 is the master public key generated by the scheme.

An identity based encryption scheme (IBE) is a attribute based encryption scheme where the message space is {λ×𝒟λ}λ, i.e., it is a tuple of a message and an identity and the function class is a set of function {λ}λ such that any function f𝗂𝖽λ is associated with an identity 𝗂𝖽 with the following definition.

𝗂𝖽(m,𝗂𝖽)={mif𝗂𝖽=𝗂𝖽if𝗂𝖽𝗂𝖽

In the security experiment, the adversary has to output m0,m1,𝗂𝖽 in the challenge phase with the restriction that it has never queried a key for 𝗂𝖽.

3 Incompressible Functional Encryption: Definitions

In this section, we will proceed to define the incompressible version of the security game for FE scheme where 𝖲𝖾𝗍𝗎𝗉 takes an additional input 1S. Similar to the incompressible SKE schemes, we will consider two adversaries 𝒜1,𝒜2. The first adversary 𝒜1 will be provided with the complete challenge ciphertext and produce a compressed version of it. The second adversary 𝒜2 is provided with the master public key, compressed challenge ciphertext which was created by 𝒜1 and certain secret keys.

Definition 15 (Incompressible FE Security).

Let 𝖥𝖤=(𝖲𝖾𝗍𝗎𝗉,𝖪𝖾𝗒𝖦𝖾𝗇,𝖤𝗇𝖼,𝖣𝖾𝖼) be an FE scheme in which the setup algorithm takes an additional parameter 1S as input. Consider the following experiment with an adversary 𝒜=(𝒜1,𝒜2).

  • Initialization Phase: 𝒜1 on input 1λ, outputs an upper bound on the state size 1S and 1n. The challenger runs (𝗆𝗌𝗄,𝗆𝗉𝗄)𝖲𝖾𝗍𝗎𝗉(1λ,1S,1n) and sends 𝗆𝗉𝗄 to 𝒜1.

  • Pre-Challenge Query Phase: In this phase, 𝒜1 is allowed to make polynomially many key queries. For each query f sent to the challenger, the challenger computes 𝗌𝗄f𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f) and returns 𝗌𝗄f to 𝒜1.

  • Challenge Phase: 𝒜1 outputs two messages m0,m1, along with an auxiliary information aux. If there exists a function f queried by 𝒜1 such that f(m0)f(m1), the challenger aborts the game. Else, it randomly chooses b{0,1} and computes a ciphertext 𝖼𝗍=𝖤𝗇𝖼(𝗆𝗉𝗄,mb) and sends it to 𝒜1.

  • Post-Challenge Query Phase: This is similar to the pre-challenge query phase. The adversary 𝒜1 is allowed to send polynomially many key queries. For each query f, if f(m0)f(m1), the challenger sends . Else, computes 𝗌𝗄f𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f) and returns 𝗌𝗄f to 𝒜1.

  • First Response Phase: 𝒜1 computes a state st such that |st|S.

  • Second Response Phase: 𝒜2 receives (𝗆𝗉𝗄,aux,st) and can make the following query.

    • Key Query Phase: In this phase, 𝒜2 is allowed to make a single distinguishing key query but polynomially many queries for non-distinguishing keys. The challenger computes 𝗌𝗄f𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f) and returns 𝗌𝗄f to 𝒜2.

    Finally, 𝒜2 outputs b. 𝒜 wins the experiment if b=b.

An FE scheme is said to be incompressible secure if for all PPT adversaries 𝒜=(𝒜1,𝒜2), there exists a negligible function negl() such that for all λ,

Pr[𝒜 wins in the above experiment]12+negl(λ)

We consider two stronger variants of the above security - strongly incompressible and semi-strongly incompressible. In the strongly incompressible version, 𝒜2 is provided with the master secret 𝗆𝗌𝗄 whereas in the semi-strongly incompressible version, it is allowed to make polynomially many distinguishing key queries.

Definition 16 (Strongly Incompressible 𝖥𝖤 Security).

An FE scheme is said to be strongly incompressible secure if for all PPT adversaries 𝒜=(𝒜1,𝒜2), there exists a negligible function negl() such that for all λ,

Pr[𝒜 wins in the Incompressible 𝖥𝖤 experiment]12+negl(λ)

provided the second adversary 𝒜2 is also given the master secret key 𝗆𝗌𝗄 at the beginning of Second Response Phase.

Definition 17 (Semi-Strongly Incompressible 𝖥𝖤 Security).

An FE scheme is said to be semi-strongly incompressible secure if for all PPT adversaries 𝒜=(𝒜1,𝒜2), there exists a negligible function negl() such that for all λ,

Pr[𝒜 wins in the Incompressible 𝖥𝖤 experiment]12+negl(λ)

provided the second adversary 𝒜2 is allowed to make polynomially many distinguishing key queries in the Key Query Phase.

We can consider similar incompressible security notions for IBE and ABE schemes.

4 Rate-𝟏𝟐 Incompressible FE with Short Keys and Semi-Strong Security

In this section, we present a semi-strong incompressible FE scheme, using a regular FE scheme along with an incompressible SKE and regular SKE scheme. If the underlying FE has 𝖼𝗍-rate of r[0,1], then our incompressible FE scheme has an r2 𝖼𝗍-rate.

Our Construction

Our FE scheme supports functions from the class {n:𝒩n{0,1}}n such that any function in this class has a 𝗉𝗈𝗅𝗒𝗅𝗈𝗀(|𝒩n|) depth circuit using the following primitives. Throughout S denotes the (in)compressibility parameter.

  • 𝖨𝗇𝖼𝖲𝖪𝖤=(𝖨𝗇𝖼𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉,𝖨𝗇𝖼𝖲𝖪𝖤.𝖤𝗇𝖼,𝖨𝗇𝖼𝖲𝖪𝖤.𝖣𝖾𝖼) be an incompressible SKE. We define α=α(λ,S) as the length of the secret key of this scheme and β=β(λ,S) as the length of the ciphertext for a message of length λ encrypted using this scheme.

  • 𝖲𝖪𝖤=(𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉,𝖲𝖪𝖤.𝖤𝗇𝖼,𝖲𝖪𝖤.𝖣𝖾𝖼) be an SKE scheme with secret keys of length λ.

  • 𝖥𝖤=(𝖥𝖤.𝖲𝖾𝗍𝗎𝗉,𝖥𝖤.𝖪𝖾𝗒𝗀𝖾𝗇,𝖥𝖤.𝖤𝗇𝖼,𝖥𝖤.𝖣𝖾𝖼) be an FE scheme with message spaces {𝒩~n}n and function space {~n}n that contains the decryption circuits of 𝖨𝗇𝖼𝖲𝖪𝖤 and 𝖲𝖪𝖤.

Let n~=n~(λ,n,S) be the lexicographically smallest functionality index such that ~n~ contains n, the decryption circuit of 𝖲𝖪𝖤 and 𝖨𝗇𝖼𝖲𝖪𝖤. We describe the algorithms for our incompressible FE scheme below.

  • 𝖲𝖾𝗍𝗎𝗉(1λ,1S,1n): The setup algorithm samples a master public key and a master secret key of the FE scheme by computing (𝖿𝖾.𝗆𝗉𝗄,𝖿𝖾.𝗆𝗌𝗄)𝖥𝖤.𝖲𝖾𝗍𝗎𝗉(1λ,1n~). It generates a secret key of the incompressible SKE scheme by computing 𝗂𝗇𝖼.𝗌𝗄𝖨𝗇𝖼𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉(1λ,1S,1λ) and two secret keys of the SKE scheme by computing 𝗌𝗄𝖾.𝗌𝗄𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉(1λ) and 𝗌𝗄𝖾.𝗌𝗄𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉(1λ). It sets 𝗆𝗉𝗄=𝖿𝖾.𝗆𝗉𝗄 and 𝗆𝗌𝗄=(𝖿𝖾.𝗆𝗌𝗄,𝗂𝗇𝖼.𝗌𝗄,𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝗌𝗄).

  • 𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f): Let 𝗆𝗌𝗄=(𝖿𝖾.𝗆𝗌𝗄,𝗂𝗇𝖼.𝗌𝗄,𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝗌𝗄). The key generation algorithm first computes ciphertext 𝗌𝗄𝖾.𝖼𝗍=𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗌𝗄,(0,0α)) and 𝗌𝗄𝖾.𝖼𝗍=𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗌𝗄,0). Then, it generates a key of the FE scheme by computing 𝖿𝖾.𝗌𝗄f𝖥𝖤.𝖪𝖾𝗒𝗀𝖾𝗇(𝖿𝖾.𝗆𝗌𝗄,Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍) where the function Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍 is described in Figure 1.

    Input: Messages m, SKE key 𝗌𝗄𝖾.𝗌𝗄, incompressible ciphertext 𝗂𝗇𝖼.𝖼𝗍 and a flag b
    Hardwired: Function f, two SKE ciphertexts 𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍
    Output: y
    1. Check if b=0:
    If yes, output y=f(m).
    2. Otherwise, compute (flag,𝗂𝗇𝖼.𝗌𝗄)𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖼𝗍).
    3. Check if flag=0:
    If yes, output y=f(m).
    4. Otherwise, compute 𝗌𝗄𝖾.𝗌𝗄𝖨𝗇𝖼𝖲𝖪𝖤.𝖣𝖾𝖼(𝗂𝗇𝖼.𝗌𝗄,𝗂𝗇𝖼.𝖼𝗍).
    5. Output y=𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖼𝗍).
    Figure 1: Description of Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍.
  • 𝖤𝗇𝖼(𝗆𝗉𝗄,m): Let 𝗆𝗉𝗄=𝖿𝖾.𝗆𝗉𝗄. The encryption algorithm randomly samples 𝗂𝗇𝖼.𝖼𝗍{0,1}β and generates 𝖿𝖾.𝖼𝗍𝖥𝖤.𝖤𝗇𝖼(𝖿𝖾.𝗆𝗉𝗄,(m,,𝗂𝗇𝖼.𝖼𝗍,0))101010By , we mean it sets a null secret key.. It returns 𝖿𝖾.𝖼𝗍.

  • 𝖣𝖾𝖼(𝗌𝗄f,𝖼𝗍): Let 𝗌𝗄f=𝖿𝖾.𝗌𝗄f. The decryption algorithm decrypts the ciphertext by computing m=𝖥𝖤.𝖣𝖾𝖼(𝖿𝖾.𝗌𝗄f,𝖼𝗍). It returns m.

Correctness

A ciphertext corresponding to a message m in the above scheme is an encryption of (m,,𝗂𝗇𝖼.𝖼𝗍,0) using the FE scheme, i.e., 𝖼𝗍𝖥𝖤.𝖤𝗇𝖼(𝖿𝖾.𝗆𝗉𝗄,(m,,𝗂𝗇𝖼.𝖼𝗍,0)) where 𝗂𝗇𝖼.𝖼𝗍 is a truly random string.

Consider that a decryptor possesses the secret key 𝗌𝗄f for some function f. The secret key 𝗌𝗄f is a key 𝖿𝖾.𝗌𝗄f of the underlying FE scheme for the circuit Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍 which takes as input in (m,𝗌𝗄𝖾.𝗌𝗄,𝗂𝗇𝖼.𝖼𝗍,b) and outputs f(m) if b=0. The decryption algorithm simply computes the decryption algorithm of the underlying FE scheme on the ciphertext 𝖼𝗍 using 𝖿𝖾.𝗌𝗄f and returns the output. Since, b is set to 0 in the ciphertext 𝖼𝗍, decrypting 𝖼𝗍 using 𝖿𝖾.𝗌𝗄f gives f(m) due to the correctness of the underlying FE scheme.

Size of the master public key

The master public key of our scheme is 𝖿𝖾.𝗆𝗉𝗄. Therefore, the size is |𝖿𝖾.𝗆𝗉𝗄|.

Size of the ciphertext

Recall that the ciphertext is an FE encryption of (m,,𝗂𝗇𝖼.𝖼𝗍,0) where the third component has size β. From the definition of β, it is the length of an incompressible ciphertext which is intended encrypt an SKE secret key, therefore, β=S+𝗉𝗈𝗅𝗒(λ) using Dziembowski’s construction (see Theorem 7). So, the size of (m,,𝗂𝗇𝖼.𝖼𝗍,0) is |m|+S+𝗉𝗈𝗅𝗒(λ). Assuming that 𝖥𝖤 has 𝖼𝗍-rate of r, the size of 𝖿𝖾.𝖼𝗍 is also r1(|m|+S+𝗉𝗈𝗅𝗒(λ)). Therefore, the rate of the proposed scheme is

r|m|(|m|+S+𝗉𝗈𝗅𝗒(λ))=r(1+S|m|+𝗉𝗈𝗅𝗒(λ)|m|)

Size of the secret keys

The size of the secret key associated with a function f is |𝖿𝖾.𝗌𝗄f| where 𝖿𝖾.𝗌𝗄f is an FE secret key for the circuit Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍. To use this secret key, the decryption algorithm would require the entire description of Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍 (see Theorem 9 and Theorem 10).

In addition to the description of f and the decryption circuits of 𝖲𝖪𝖤 and 𝖨𝗇𝖼𝖲𝖪𝖤, the circuit Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍 contains two SKE ciphertexts generated during the key generation process. Therefore, 𝖿𝖾.𝗌𝗄f should contain both an FE secret key for the circuit Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍 and the two ciphertexts 𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍. The first SKE ciphertext is an encryption of an incompressible SKE scheme’s secret key 𝗂𝗇𝖼.𝗌𝗄 along with a bit flag, and the second is just a bit y. Using Dzeimbowski’s construction (see Theorem 7), we have |𝗂𝗇𝖼.𝗌𝗄|=𝗉𝗈𝗅𝗒(λ). Therefore, |𝖿𝖾.𝗌𝗄f| is the size of an FE secret key associated with Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍, with an additional 𝗉𝗈𝗅𝗒(λ).

Theorem 18.

Assuming 𝖥𝖤=(𝖥𝖤.𝖲𝖾𝗍𝗎𝗉,𝖥𝖤.𝖪𝖾𝗒𝗀𝖾𝗇,𝖥𝖤.𝖤𝗇𝖼,𝖥𝖤.𝖣𝖾𝖼) is an 𝖼𝗍-rate-r adaptively (selectively) secure FE scheme, 𝖲𝖪𝖤=(𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉,𝖲𝖪𝖤.𝖤𝗇𝖼,𝖲𝖪𝖤.𝖣𝖾𝖼) is a secure SKE scheme against unbounded number of ciphertexts and 𝖨𝗇𝖼𝖲𝖪𝖤=(𝖨𝗇𝖼𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉,𝖨𝗇𝖼𝖲𝖪𝖤.𝖤𝗇𝖼,𝖨𝗇𝖼𝖲𝖪𝖤.𝖣𝖾𝖼) be a secure incompressible SKE scheme, then the above construction is an adaptively (selectively) secure semi-strongly incompressible FE scheme. Also,

|𝗆𝗉𝗄|=|𝖿𝖾.𝗆𝗉𝗄|,|𝗌𝗄|=|𝖿𝖾.𝗌𝗄|,|𝖼𝗍|=(|m|+S+𝗉𝗈𝗅𝗒(λ))/r
Proof-Sketch.

The proof proceeds via a sequence of hybrid experiments.

  • H0: This corresponds to the adaptive semi-strong incompressibility security game. The adversary first receives the master public key 𝗆𝗉𝗄. It queries for polynomially many non-distinguishing keys, and receives the corresponding secret keys. Then, it sends its challenge messages m0,m1 and receives the challenge ciphertext which is encryption of mb. Again, the adversary queries for polynomially many non-distinguishing keys, and receives the corresponding secret keys. It then compresses its state, and queries for both distinguishing and non-distinguishing functions. Upon receiving the secret keys, it must guess which message was encrypted.

  • H1: In this hybrid, the challenger keeps the challenge ciphertext same as before, but modifies the distinguishing secret keys. For every distinguishing key query for some function f, it encrypts f(mb) instead of 0 to generate 𝗌𝗄𝖾.𝖼𝗍.

    Note that H0 and H1 are indistinguishable due to SKE security. This is because the attacker does not get access to the SKE secret key, except in the form of ciphertexts as part of functional secret keys. We highlight we know the value f(mb) because the adversary is allowed to make distinguishing key queries in the second phase only.

  • H2: In this hybrid, the challenger generates 𝗂𝗇𝖼.𝖼𝗍 by encrypting 𝗌𝗄𝖾.𝗌𝗄 instead of sampling a truly random string. The rest of the game proceeds as before.

    Indistinguishability of hybrids H1 and H2 follows from standard indistinguishability-based security of the incompressible SKE scheme. This is because the secret key 𝗂𝗇𝖼.𝗌𝗄 is used only during the generation of 𝗂𝗇𝖼.𝖼𝗍.

  • H3: In this hybrid experiment, the challenger keeps the challenge ciphertext same as before, but modifies the distinguishing secret keys. For every distinguishing key query for some function f, it encrypts (1,𝗂𝗇𝖼.𝗌𝗄) instead of (0,0α) to generate 𝗌𝗄𝖾.𝖼𝗍.

    Note that H2 and H3 are indistinguishable due to SKE security. This is because the attacker does not get access to the SKE secret key, except in the form of ciphertexts as part of functional secret keys.

  • H4: In this hybrid, the challenger modifies the challenge ciphertext 𝖼𝗍 by encrypting (m0,𝗌𝗄𝖾.𝗌𝗄,𝗂𝗇𝖼.𝖼𝗍,1) instead of (mb,,𝗂𝗇𝖼.𝖼𝗍,0). The rest of the game proceeds as before.

    Indistinguishability of hybrids H3 and H4 follows from adaptive indistinguishability-based security of FE, as the output of the function stays the same for all key queries. This is because in H4, the non-distinguishing keys would decrypt the challenge ciphertext to f(m0) (since b is set to 1 and flag=0), which is equal to f(mb). Whereas, the distinguishing keys would decrypt to f(mb) (since b is set to 1 and flag=1, see Figure 1).

  • H5: In this hybrid, the challenger reverts to generating 𝗂𝗇𝖼.𝖼𝗍 by sampling a truly random string. The rest of the game proceeds as before.

    Indistinguishability of hybrids H4 and H5 follows from the incompressible indistinguishability-based security of the incompressible SKE scheme. This is because the information 𝗂𝗇𝖼.𝗌𝗄 is needed to generate distinguishing keys in the second phase.

    Finally, note that in H5, the bit b is used only in the second phase while generating distinguishing keys. That is, 𝗌𝗄𝖾.𝖼𝗍 is generated by encrypting f(mb). Therefore, the winning probability for any adversary in G5 depends on the standard indistinguishability-based security of the regular SKE scheme.

The proof for the above theorem is provided in the full version [18]. Using Theorem 9, we have the following corollary.

Corollary 19.

Assuming the existence of selectively secure FE for circuits, there exists a 𝖼𝗍-rate-14 adaptively secure semi-strongly incompressible FE scheme for circuits. Also,

|𝗆𝗉𝗄|=𝗉𝗈𝗅𝗒(λ),|𝗌𝗄f|=𝗉𝗈𝗅𝗒(λ),|𝖼𝗍|=2(|m|+S)+𝗉𝗈𝗅𝗒(λ)

Using Theorem 10, we have the following corollary.

Corollary 20.

Assuming the existence of selectively secure FE for circuits, there exists a 𝖼𝗍-rate-12 selectively secure semi-strongly incompressible FE scheme for circuits. Also,

|𝗆𝗉𝗄|=𝗉𝗈𝗅𝗒(λ),|𝗌𝗄f|=𝗉𝗈𝗅𝗒(λ),|𝖼𝗍|=|m|+S+𝗉𝗈𝗅𝗒(λ)

5 Rate-𝟏 Incompressible FE with Large Keys and Semi-Strong Security

In this section, we present a selective semi-strong incompressible FE scheme, using a (regular) public key FE, together with other standard cryptographic primitives. If the underlying FE scheme has 𝖼𝗍-rate-1, then our incompressible FE scheme also has 𝖼𝗍-rate-1. Although the functional key sizes are larger.

Our construction

For simplicity, we consider boolean-valued functions. To design an incompressible FE supporting function class {n:{0,1}n{0,1}}n, we use the following primitives. Throughout S denotes the (in)compressibility parameter.

  • 𝖤𝗑𝗍:{0,1}d×{0,1}{0,1}λ be a strong average-min entropy randomness extractor, where d=d(λ) and =(λ,S).

  • 𝖲𝖪𝖤=(𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉,𝖲𝖪𝖤.𝖤𝗇𝖼,𝖲𝖪𝖤.𝖣𝖾𝖼) be an SKE scheme that can encrypt messages of length n+d+1. (Here n is the FE message length and d is the seed length. W.l.o.g., we assume the secret key length to be λ.)

  • 𝖥𝖤=(𝖥𝖤.𝖲𝖾𝗍𝗎𝗉,𝖥𝖤.𝖪𝖾𝗒𝗀𝖾𝗇,𝖥𝖤.𝖤𝗇𝖼,𝖥𝖤.𝖣𝖾𝖼) be an FE scheme with message spaces {{0,1}n}n and function space {~n}n.

    Let n~=max(n,S)+λ+1. We require the function class ~n~ to be such that it contains n, and the decryption circuit of 𝖲𝖪𝖤 and extractor 𝖤𝗑𝗍.

We describe the algorithms for our incompressible FE scheme below.

  • 𝖲𝖾𝗍𝗎𝗉(1λ,1S,1n): Let n~=max(n,S)+λ+1. The setup algorithm samples a master public and secret key of the FE scheme by sampling (𝖿𝖾.𝗆𝗌𝗄,𝖿𝖾.𝗆𝗉𝗄)𝖥𝖤.𝖲𝖾𝗍𝗎𝗉(1λ,1n~). It also samples an SKE secret key 𝗌𝗄𝖾.𝗌𝗄𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉(1λ). It sets 𝗆𝗌𝗄=(𝗌𝗄𝖾.𝗌𝗄,𝖿𝖾.𝗆𝗌𝗄) and 𝗆𝗉𝗄=𝖿𝖾.𝗆𝗉𝗄.

  • 𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f): Parse master key as 𝗆𝗌𝗄=(𝗌𝗄𝖾.𝗌𝗄,𝖿𝖾.𝗆𝗌𝗄). The key generation algorithm first computes ciphertext 𝗌𝗄𝖾.𝖼𝗍=𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗌𝗄,𝟎). That is, it encrypts n+d+1 zeros. Then, it generates an FE secret key by computing 𝖿𝖾.𝗌𝗄f𝖥𝖤.𝖪𝖾𝗒𝗀𝖾𝗇(𝖿𝖾.𝗆𝗌𝗄,Cf,𝗌𝗄𝖾.𝖼𝗍), where C is described in Figure 2.

    Input: x{0,1}max(n,S), an SKE secret key 𝗌𝗄𝖾.𝗌𝗄{0,1}λ, bit 𝖿𝗅𝖺𝗀{0,1}.
    Hardwired: Function f, an SKE ciphertext 𝗌𝗄𝖾.𝖼𝗍.
    Output: y{0,1}.
    1. Check if 𝖿𝗅𝖺𝗀=0:
    If yes, parse x as an n-bit message m, and output f(m).
        That is, if S>n, then m=x[1:n], else m=x.
    2. Otherwise, compute (b,s,v)=𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖼𝗍).
     Here b{0,1},s{0,1}d,v{0,1}n.
    3. Check if b=0:
    If yes, then output first bit of s, i.e. s[1].
    4. Otherwise, parse x as an S-bit source R, and output f(v𝖤𝗑𝗍s(R)).
     That is, if S<n, then set R=x[1:S], else set R=x.
     Then compute message m=v𝖤𝗑𝗍s(R) and output f(m).
    Figure 2: Description of Cf,𝗌𝗄𝖾.𝖼𝗍.
  • 𝖤𝗇𝖼(𝗆𝗌𝗄,m): The encryption algorithm generates the ciphertext by computing 𝖿𝖾.𝖼𝗍𝖥𝖤.𝖤𝗇𝖼(𝗆𝗌𝗄,(m,,0)). It outputs 𝖿𝖾.𝖼𝗍. (We point out that the message m is padded to be of length S in case S>n. Also, by , we mean it sets a null secret key.)

  • 𝖣𝖾𝖼(𝗌𝗄f,𝖼𝗍): The decryption algorithm decrypts the ciphertext by computing m=𝖥𝖤.𝖣𝖾𝖼(𝗌𝗄f,𝖼𝗍). It returns m.

Correctness

Follows immediately from the construction.

Size of the master public key

The master public key of our scheme is 𝖿𝖾.𝗆𝗉𝗄. Therefore, the size is |𝖿𝖾.𝗆𝗉𝗄|.

Size of the ciphertext

The size of the message encrypted by 𝖥𝖤.𝖤𝗇𝖼 is n~=max(n,S)+λ+1. Now if the base FE scheme has 𝖼𝗍-rate-1, then ciphertext size in our scheme is also max(S,n)+𝗉𝗈𝗅𝗒(λ).

Size of the secret key

The size of the secret key associated with a function f is |𝖿𝖾.𝗌𝗄f| where 𝖿𝖾.𝗌𝗄f is an FE secret key for the circuit Cf,𝗌𝗄𝖾.𝖼𝗍. To use this secret key, the decryption algorithm would require the entire description of Cf,𝗌𝗄𝖾.𝖼𝗍 (see Theorem 10).

In addition to the description of f and the decryption circuit of 𝖲𝖪𝖤, the circuit Cf,𝗌𝗄𝖾.𝖼𝗍 contains an SKE ciphertext generated during the key generation process. So, 𝖿𝖾.𝗌𝗄f should contain both an FE secret key for the circuit Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍 and the ciphertext 𝗌𝗄𝖾.𝖼𝗍. The SKE ciphertext is an encryption of a message of length n+d+1 where d is the seed length of the extractor111111d is equal to 𝗉𝗈𝗅𝗒(λ), see Theorem 2 and n is the length of the message. Therefore, |𝖿𝖾.𝗌𝗄f| is equal to n+d+1 plus the size of an FE secret key associated with Cf,𝗌𝗄𝖾.𝖼𝗍.

Theorem 21.

Assuming 𝖲𝖪𝖤=(𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉,𝖲𝖪𝖤.𝖤𝗇𝖼,𝖲𝖪𝖤.𝖣𝖾𝖼) is IND-CPA secure, 𝖥𝖤=(𝖥𝖤.𝖲𝖾𝗍𝗎𝗉, 𝖥𝖤.𝖪𝖾𝗒𝗀𝖾𝗇,𝖥𝖤.𝖤𝗇𝖼,𝖥𝖤.𝖣𝖾𝖼) is a selectively secure FE with 𝖼𝗍-rate-r, then the above FE construction is a selective semi-strong incompressible FE scheme. Also,

|𝗆𝗉𝗄|=|𝖿𝖾.𝗆𝗉𝗄|,|𝗌𝗄|=|𝖿𝖾.𝗌𝗄|+|𝗌𝗄𝖾.𝖼𝗍|,|𝖼𝗍|=(max(n,S)+𝗉𝗈𝗅𝗒(λ))/r
Proof-Sketch.

The proof proceeds via a sequence of hybrid experiments.

  • H0: This corresponds to the selective semi-strong incompressibility security game. The adversary first sends its challenge messages m0,m1 and receives the challenge ciphertext which is encryption of mb. Next, the adversary queries for polynomially many non-distinguishing keys, and receives the corresponding secret keys. It then compresses its state, and queries for both distinguishing and non-distinguishing functions. Upon receiving the secret keys, it must guess which message was encrypted.

  • H1: In this hybrid, the challenger keeps the challenge ciphertext same as before, but modifies the secret keys. During setup, the challenger samples a single random string R{0,1}S as the extractor source, and a single random string s{0,1}d as the extractor seed. Now, instead of using an SKE encryption of 𝟎 within each secret key, the challenger does the following:

    • For every non-distinguishing key query for some function f, it encrypts (0,f(m0),𝟎). That is, the second message bit is f(m0) and rest are still all zeros.

    • For every distinguishing key query for some function f, it sets v=mb𝖤𝗑𝗍s(R), and computes the SKE ciphertext as to be an encryption of (1,s,v).

    Note that H0 and H1 are indistinguishable due to SKE security. This is because the attacker does not get access to the SKE secret key, except in the form of ciphertexts as part of functional secret keys. We highlight that since we need to know f(m0) to answer even a non-distinguishing key query, thus we can only prove selective security of our incompressible FE scheme.

  • H2: In this hybrid, the challenger encrypts (R,𝗌𝗄𝖾.𝗌𝗄,1) instead of (mb,,0). (Note that here we are overloading notation and consider that there is a fixed deterministic way, e.g. by padding, to write R and m as max(n,S)-bit strings.) The rest of the game proceeds as before.

    Indistinguishability of hybrids H1 and H2 follows standard selective indistinguishability-based security of FE, as the output of the function stays the same for all key queries. This is because for non-distinguishing keys we know that f(m0)=f(mb), while for non-distinguishing keys, the function output is still f(mb).

  • H3: In this hybrid experiment, v is chosen uniformly at random (instead of setting it as mb𝖤𝗑𝗍s(R). Using the strong extractability guarantee of the extractor, we can argue that H2 and H3 are negligibly close.

    Finally, note that the bit b is not used in H3, and therefore the adversary has no advantage in this experiment.

The detailed proof for the above theorem is provided in the full version [18]. Using Theorem 10, we have the following corollary.

Corollary 22.

Assuming the existence of 𝖼𝗍-rate-12 selectively secure FE for circuits, there exists a 𝖼𝗍-rate-12 selectively secure semi-strongly incompressible FE scheme for circuits. Also,

|𝗆𝗉𝗄|=𝗉𝗈𝗅𝗒(λ),|𝗌𝗄f|=|m|+𝗉𝗈𝗅𝗒(λ),|𝖼𝗍|=|m|+S+𝗉𝗈𝗅𝗒(λ)

6 Rate-𝟏 Incompressible FE with Short Keys and Standard Security

In this section, we present a selective (standard) incompressible FE scheme, using a (regular) public key FE, together with other standard cryptographic primitives. If the underlying FE scheme has 𝖼𝗍-rate-1, then our incompressible FE scheme also has 𝖼𝗍-rate-1. Interestingly, we show that if the underlying FE scheme has short keys, then our resulting incompressible FE scheme has short keys as well. While it might seem to contradict the lower bound [3], we observe that since we only prove standard incompressibility security (where only one non-distinguishing key gets corrupted) and the functions supported by our FE scheme has single-bit output, thus this does not contradict the result. This is because the lower bound actually states that if an incompressible FE scheme has 𝖼𝗍-rate-1, then the size of the functional secret key must grow with the output length of the function, and not necessarily the input/message length.

Our construction

As discussed in the overview, this construction relies on the same ingredients as our FE construction from Section 5. The core difference is that now the functions that we create secret keys for change slightly. Below we describe the algorithms where we make modifications, and underline all the changes.

  • 𝖲𝖾𝗍𝗎𝗉(1λ,1S,1n): This is the same as in Section 5.

  • 𝖪𝖾𝗒𝖦𝖾𝗇(𝗆𝗌𝗄,f): Parse master key as 𝗆𝗌𝗄=(𝗌𝗄𝖾.𝗌𝗄,𝖿𝖾.𝗆𝗌𝗄). The key generation algorithm first computes ciphertext 𝗌𝗄𝖾.𝖼𝗍=𝖲𝖪𝖤.𝖤𝗇𝖼(𝗌𝗄𝖾.𝗌𝗄,𝟎¯). That is, it encrypts d+2 zeros. Then, it generates an FE secret key by computing 𝖿𝖾.𝗌𝗄f𝖥𝖤.𝖪𝖾𝗒𝗀𝖾𝗇(𝖿𝖾.𝗆𝗌𝗄,Cf,𝗌𝗄𝖾.𝖼𝗍), where C is described in Figure 3.

    Input: x{0,1}max(n,S), an SKE secret key 𝗌𝗄𝖾.𝗌𝗄{0,1}λ, bit 𝖿𝗅𝖺𝗀{0,1}.
    Hardwired: Function f, an SKE ciphertext 𝗌𝗄𝖾.𝖼𝗍.
    Output: y{0,1}.
    1. Check if 𝖿𝗅𝖺𝗀=0:
    If yes, parse x as an n-bit message m, and output f(m).
    2. Otherwise, compute (b,s,v)=𝖲𝖪𝖤.𝖣𝖾𝖼(𝗌𝗄𝖾.𝗌𝗄,𝗌𝗄𝖾.𝖼𝗍).
     Here b{0,1},s{0,1}d,v{0,1}¯.
    3. Check if b=0:
    If yes, then output first bit of s, i.e. s[1].
    4. Otherwise, parse x as an S-bit source R, and output v𝖤𝗑𝗍s(R).
    That is, it no longer computes f in this case.
    Figure 3: Description of Cf,𝗌𝗄𝖾.𝖼𝗍.
  • 𝖤𝗇𝖼(𝗆𝗌𝗄,m),𝖣𝖾𝖼(𝗌𝗄f,𝖼𝗍): The encryption and decryption algorithms are the same as in Section 5.

Correctness

Follows immediately from the construction.

Size of the master public key and ciphertext

This is the same as in Section 5.

Size of the secret key

The size of the secret key associated with a function f is |𝖿𝖾.𝗌𝗄f| where 𝖿𝖾.𝗌𝗄f is an FE secret key for the circuit Cf,𝗌𝗄𝖾.𝖼𝗍. To use this secret key, the decryption algorithm would require the entire description of Cf,𝗌𝗄𝖾.𝖼𝗍 (see Theorem 10).

In addition to the description of f and the decryption circuit of 𝖲𝖪𝖤, the circuit Cf,𝗌𝗄𝖾.𝖼𝗍 contains an SKE ciphertext generated during the key generation process. So, 𝖿𝖾.𝗌𝗄f should contain both an FE secret key for the circuit Cf,𝗌𝗄𝖾.𝖼𝗍,𝗌𝗄𝖾.𝖼𝗍 and the ciphertext 𝗌𝗄𝖾.𝖼𝗍. The SKE ciphertext is an encryption of a message of length d+2 where d is the seed length of the extractor121212d is equal to 𝗉𝗈𝗅𝗒(λ), see Theorem 2. Therefore, |𝖿𝖾.𝗌𝗄f| is the size of an FE secret key associated with Cf,𝗌𝗄𝖾.𝖼𝗍, with an addition d+1.

Theorem 23.

Assuming 𝖲𝖪𝖤=(𝖲𝖪𝖤.𝖲𝖾𝗍𝗎𝗉,𝖲𝖪𝖤.𝖤𝗇𝖼,𝖲𝖪𝖤.𝖣𝖾𝖼) is IND-CPA secure, 𝖥𝖤=(𝖥𝖤.𝖲𝖾𝗍𝗎𝗉, 𝖥𝖤.𝖪𝖾𝗒𝗀𝖾𝗇,𝖥𝖤.𝖤𝗇𝖼,𝖥𝖤.𝖣𝖾𝖼) is a selectively secure FE with 𝖼𝗍-rate-r, then the above FE construction is a selective (standard) incompressible FE scheme. Also,

|𝗆𝗉𝗄|=|𝖿𝖾.𝗆𝗉𝗄|,|𝗌𝗄|=|𝖿𝖾.𝗌𝗄|,|𝖼𝗍|=(max(n,S)+𝗉𝗈𝗅𝗒(λ))/r
Proof-Sketch.

The proof is very similar to the security proof of Theorem 21, except with one change. Since we only prove standard incompressibility of our FE scheme, then we only need to answer a single distinguishing key query. Therefore, rather than programming v as mb𝖤𝗑𝗍s(R) as in the previous proof, we simply program v=f(mb)𝖤𝗑𝗍s(R). That is, we only hardwire one function value inside v rather than the full message mb. Because of this change, we can only prove standard incompressibility security (because we cannot answer more than one non-distinguishing key), but the circuit Cf,𝗌𝗄𝖾.𝖼𝗍 (that we have to create a functional key for) now has a succinct description as it only needs f and 𝗌𝗄𝖾.𝖼𝗍 (which is short anyways). For completeness, we sketch the hybrids below.

  • H0: This corresponds to the selective standard incompressibility security game. The adversary first sends its challenge messages m0,m1 and receives the challenge ciphertext which is encryption of mb. Next, the adversary queries for polynomially many non-distinguishing keys, and receives the corresponding secret keys. It then compresses its state, and queries for one distinguishing function f𝗌𝗍 and many non-distinguishing functions. Upon receiving the secret keys, it must guess which message was encrypted.

  • H1: In this hybrid, the challenger keeps the challenge ciphertext same as before, but modifies the secret keys. During setup, the challenger samples a single random string R{0,1}S as the extractor source, and a random string s{0,1}d as the extractor seed. Now, instead of using an SKE encryption of 𝟎 within each secret key, the challenger does the following:

    • For every non-distinguishing key query for some function f, it encrypts (0,f(m0),𝟎). That is, the second message bit is f(m0) and rest are still all zeros.

    • For distinguishing key query f, it sets v=f(mb)𝖤𝗑𝗍s(R), and computes the SKE ciphertext as to be an encryption of (1,s,v).

  • H2: In this hybrid, the challenger encrypts (R,𝗌𝗄𝖾.𝗌𝗄,1) instead of (mb,,0). The rest of the game proceeds as before.

  • H3: In this hybrid experiment, v is chosen uniformly at random (instead of setting it as f(mb)𝖤𝗑𝗍s(R).

    Finally, note that the bit b is not used in H3, and therefore the adversary has no advantage in this experiment.

The detailed proof for the above theorem is provided in the full version [18]. Using Theorem 10, we have the following corollary.

Corollary 24.

Assuming the existence of 𝖼𝗍-rate-1 selectively secure FE for circuits, there exists a 𝖼𝗍-rate-1 selectively secure regular incompressible FE scheme for circuits. Also,

|𝗆𝗉𝗄|=𝗉𝗈𝗅𝗒(λ),|𝗌𝗄f|=𝗉𝗈𝗅𝗒(λ),|𝖼𝗍|=max(S,n)+𝗉𝗈𝗅𝗒(λ)
 Remark 25 (Handling functions with longer outputs, or a fixed number of distinguishing keys).

The above FE construction can be naturally extended to support functions with longer outputs, or a fixed number of distinguishing keys. The idea is quite simply to hardwire either the multi-bit function output (in the first case) or the function output for every distinguishing function (in the second case). Note that if the secret keys for the underlying FE scheme are short (independent of the function description), then the above scheme achieves incompressible FE with optimal ciphertexts as well as secret keys.

References

  • [1] Mihir Bellare, Viet Tung Hoang, and Phillip Rogaway. Foundations of garbled circuits. In CCS ’12, 2012. doi:10.1145/2382196.2382279.
  • [2] John Bethencourt, Amit Sahai, and Brent Waters. Ciphertext-policy attribute-based encryption. In IEEE Symposium on Security and Privacy, pages 321–334, 2007. doi:10.1109/SP.2007.11.
  • [3] Kaartik Bhushan, Rishab Goyal, Venkata Koppula, Varun Narayanan, Manoj Prabhakaran, and Mahesh Sreekumar Rajasree. Leakage-resilient incompressible cryptography: Constructions and barriers. In Advances in Cryptology–ASIACRYPT, 2024.
  • [4] Nir Bitansky and Tomer Solomon. Bootstrapping homomorphic encryption via functional encryption. In Yael Tauman Kalai, editor, 14th Innovations in Theoretical Computer Science Conference, ITCS 2023, January 10-13, 2023, MIT, Cambridge, Massachusetts, USA, volume 251 of LIPIcs, pages 17:1–17:23. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2023. doi:10.4230/LIPIcs.ITCS.2023.17.
  • [5] Dan Boneh and Matthew K. Franklin. Identity-based encryption from the weil pairing. In CRYPTO, 2001.
  • [6] Dan Boneh, Craig Gentry, Sergey Gorbunov, Shai Halevi, Valeria Nikolaenko, Gil Segev, Vinod Vaikuntanathan, and Dhinakaran Vinayagamurthy. Fully key-homomorphic encryption, arithmetic circuit abe and compact garbled circuits. In Advances in Cryptology–EUROCRYPT 2014: 33rd Annual International Conference on the Theory and Applications of Cryptographic Techniques, Copenhagen, Denmark, May 11-15, 2014. Proceedings 33, pages 533–556. Springer, 2014. doi:10.1007/978-3-642-55220-5_30.
  • [7] Dan Boneh, Amit Sahai, and Brent Waters. Functional encryption: definitions and challenges. In TCC, 2011.
  • [8] Dan Boneh and Brent Waters. Conjunctive, subset, and range queries on encrypted data. In TCC, 2007.
  • [9] Pedro Branco, Nico Döttling, and Jesko Dujmović. Rate-1 Incompressible Encryption from Standard Assumptions. In Eike Kiltz and Vinod Vaikuntanathan, editors, Theory of Cryptography, Lecture Notes in Computer Science, pages 33–69, Cham, 2022. Springer Nature Switzerland. doi:10.1007/978-3-031-22365-5_2.
  • [10] Chongwon Cho, Nico Döttling, Sanjam Garg, Divya Gupta, Peihan Miao, and Antigoni Polychroniadou. Laconic oblivious transfer and its applications. In Jonathan Katz and Hovav Shacham, editors, Advances in Cryptology – CRYPTO 2017 – 37th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 20-24, 2017, Proceedings, Part II, volume 10402 of Lecture Notes in Computer Science, pages 33–65. Springer, 2017. doi:10.1007/978-3-319-63715-0_2.
  • [11] Clifford Cocks. An identity based encryption scheme based on Quadratic Residues. In Cryptography and Coding, IMA International Conference, volume 2260 of LNCS, pages 360–363, 2001. doi:10.1007/3-540-45325-3_32.
  • [12] Whitfield Diffie and Martin E. Hellman. New directions in cryptography, 1976.
  • [13] Nico Döttling, Phillip Gajland, and Giulio Malavolta. Laconic function evaluation for turing machines. In Alexandra Boldyreva and Vladimir Kolesnikov, editors, Public-Key Cryptography – PKC 2023 – 26th IACR International Conference on Practice and Theory of Public-Key Cryptography, Atlanta, GA, USA, May 7-10, 2023, Proceedings, Part II, volume 13941 of Lecture Notes in Computer Science, pages 606–634. Springer, 2023. doi:10.1007/978-3-031-31371-4_21.
  • [14] Stefan Dziembowski. On Forward-Secure Storage. In Cynthia Dwork, editor, Advances in Cryptology – CRYPTO 2006, Lecture Notes in Computer Science, pages 251–270, Berlin, Heidelberg, 2006. Springer. doi:10.1007/11818175_15.
  • [15] Sanjam Garg, Omkant Pandey, and Akshayaram Srinivasan. Revisiting the cryptographic hardness of finding a nash equilibrium. In Matthew Robshaw and Jonathan Katz, editors, Advances in Cryptology – CRYPTO 2016 – 36th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 14-18, 2016, Proceedings, Part II, volume 9815 of Lecture Notes in Computer Science, pages 579–604. Springer, 2016. doi:10.1007/978-3-662-53008-5_20.
  • [16] Shafi Goldwasser, Yael Kalai, Raluca Ada Popa, Vinod Vaikuntanathan, and Nickolai Zeldovich. Reusable garbled circuits and succinct functional encryption. In Proceedings of the forty-fifth annual ACM symposium on Theory of computing, pages 555–564, 2013.
  • [17] Sergey Gorbunov, Vinod Vaikuntanathan, and Hoeteck Wee. Predicate encryption for circuits from LWE. In Rosario Gennaro and Matthew Robshaw, editors, Advances in Cryptology – CRYPTO 2015 – 35th Annual Cryptology Conference, Santa Barbara, CA, USA, August 16-20, 2015, Proceedings, Part II, volume 9216 of Lecture Notes in Computer Science, pages 503–523. Springer, 2015. doi:10.1007/978-3-662-48000-7_25.
  • [18] Rishab Goyal, Venkata Koppula, Mahesh Sreekumar Rajasree, and Aman Verma. Incompressible functional encryption. Cryptology ePrint Archive, Paper 2024/798, 2024. URL: https://eprint.iacr.org/2024/798.
  • [19] Rishab Goyal, Venkata Koppula, Andrew Russell, and Brent Waters. Risky traitor tracing and new differential privacy negative results. In Hovav Shacham and Alexandra Boldyreva, editors, Advances in Cryptology – CRYPTO 2018 – 38th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 19-23, 2018, Proceedings, Part I, volume 10991 of Lecture Notes in Computer Science, pages 467–497. Springer, 2018. doi:10.1007/978-3-319-96884-1_16.
  • [20] Rishab Goyal, Venkata Koppula, and Brent Waters. Lockable obfuscation. In 58th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2017, pages 612–621, 2017. doi:10.1109/FOCS.2017.62.
  • [21] Rishab Goyal, Venkata Koppula, and Brent Waters. Collusion resistant traitor tracing from learning with errors. In Ilias Diakonikolas, David Kempe, and Monika Henzinger, editors, Proceedings of the 50th Annual ACM SIGACT Symposium on Theory of Computing, STOC 2018, Los Angeles, CA, USA, June 25-29, 2018, pages 660–670. ACM, 2018. doi:10.1145/3188745.3188844.
  • [22] Vipul Goyal, Omkant Pandey, Amit Sahai, and Brent Waters. Attribute-based encryption for fine-grained access control of encrypted data. In Ari Juels, Rebecca N. Wright, and Sabrina De Capitani di Vimercati, editors, Proceedings of the 13th ACM Conference on Computer and Communications Security, CCS 2006, Alexandria, VA, USA, Ioctober 30 – November 3, 2006, pages 89–98. ACM, 2006. doi:10.1145/1180405.1180418.
  • [23] Jiaxin Guan, Daniel Wichs, and Mark Zhandry. Incompressible Cryptography. In Orr Dunkelman and Stefan Dziembowski, editors, Advances in Cryptology – EUROCRYPT 2022, Lecture Notes in Computer Science, pages 700–730, Cham, 2022. Springer International Publishing. doi:10.1007/978-3-031-06944-4_24.
  • [24] Jiaxin Guan, Daniel Wichs, and Mark Zhandry. Multi-instance randomness extraction and security against bounded-storage mass surveillance. In Theory of Cryptography Conference, pages 93–122. Springer, 2023. doi:10.1007/978-3-031-48621-0_4.
  • [25] Aayush Jain, Huijia Lin, and Ji Luo. On the optimal succinctness and efficiency of functional encryption and attribute-based encryption. In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 479–510. Springer, 2023. doi:10.1007/978-3-031-30620-4_16.
  • [26] Aayush Jain, Huijia Lin, and Amit Sahai. Indistinguishability obfuscation from well-founded assumptions. In STOC, 2021.
  • [27] Aayush Jain, Huijia Lin, and Amit Sahai. Indistinguishability obfuscation from lpn over f p, dlin, and prgs in nc 0. In Advances in Cryptology–EUROCRYPT 2022: 41st Annual International Conference on the Theory and Applications of Cryptographic Techniques, Trondheim, Norway, May 30–June 3, 2022, Proceedings, Part I, pages 670–699. Springer, 2022.
  • [28] Jonathan Katz, Amit Sahai, and Brent Waters. Predicate encryption supporting disjunctions, polynomial equations, and inner products. In EUROCRYPT, 2008.
  • [29] Lucas Kowalczyk, Tal Malkin, Jonathan Ullman, and Daniel Wichs. Hardness of non-interactive differential privacy from one-way functions, 2018.
  • [30] Adam O’Neill. Definitional issues in functional encryption. Cryptology ePrint Archive, Report 2010/556, 2010.
  • [31] Willy Quach, Hoeteck Wee, and Daniel Wichs. Laconic function evaluation and applications. In Mikkel Thorup, editor, 59th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2018, Paris, France, October 7-9, 2018, pages 859–870. IEEE Computer Society, 2018. doi:10.1109/FOCS.2018.00086.
  • [32] Amit Sahai and Brent Waters. Fuzzy identity-based encryption. In EUROCRYPT, pages 457–473, 2005. doi:10.1007/11426639_27.
  • [33] Adi Shamir. Identity-based cryptosystems and signature schemes. In CRYPTO, 1984.
  • [34] Daniel Wichs and Giorgos Zirdelis. Obfuscating compute-and-compare programs under LWE. In 58th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2017, pages 600–611, 2017. doi:10.1109/FOCS.2017.61.
  • [35] Andrew Yao. How to generate and exchange secrets. In FOCS, 1986.