Answering n^{2+o(1)} Counting Queries with Differential Privacy is Hard
Jonathan Ullman
Introduction
Consider a database , in which each of the rows corresponds to an individual’s record, and each record consists of binary attributes. The goal of privacy-preserving data analysis is to enable rich statistical analyses on the database while protecting the privacy of the individuals. It is especially desirable to achieve differential privacy [DMNS06], which guarantees that no individual’s data has a significant influence on the information released about the database.
Some of the most basic statistics on a database are counting queries, which are queries of the form, “What fraction of individual records in satisfy some property ?” In particular we would like to construct differentially private sanitizers that, given a database and counting queries from a family , outputs an approximate answer to each of the queries. We would like the number of queries, , to be as large as possible, and the set of feasible queries, , to be as general as possible. Ideally, , would contain all counting queries.It may require super-polynomial time just to evaluate an arbitrary counting query, which would rule out efficiency for reasons that have nothing to do with privacy. For this discussion, we restrict attention to queries that are efficiently computable, so are not the bottleneck in the computation. Moreover, we would like the algorithm to run as efficiently as possible.
Some of the earliest work in differential privacy [DMNS06] gave an efficient sanitizer—the so-called Laplace Mechanism. The Laplace Mechanism answers any set of arbitrary efficiently computable counting queries by perturbing the answers with appropriately calibrated random noise, providing good accuracy (say, within of the true answer) as long as .
Unfortunately, we show that this is not the case—there is no efficient, differentially private algorithm that takes a database , and arbitrary, efficiently computable counting queries as input and outputs an approximate answer to each of the queries. One way to summarize our results is that, unless we restrict the set of allowable queries, or allow exponential running time, then the Laplace Mechanism is essentially the best possible algorithm for answering counting queries with differential privacy.
We also show that, the same theorem holds even for queries that are computable by unbounded-fan-in circuits of depth over the basis (a subset of the well-studied class ), albeit under a stronger (but still plausible) cryptographic assumption.
Theorem 1.2 should be contrasted with the results of Hardt, Rothblum, and Servedio [HRS12] as well as Thaler, Ullman, and Vadhan [TUV12], which give efficient sanitizers for answering monotone -way conjunction queries, a much simpler class than polynomial-size depth-6 circuits.A monotone -way conjunction query on a database is specified by a set of positions , , and asks “What fraction of records in have a in every position in ?”.
We prove our results by building on the connection between differentially private sanitizers for counting queries and traitor-tracing schemes discovered by Dwork et al. [DNR+09]. Traitor-tracing schemes were introduced by Chor, Fiat, and Naor [CFN94] for the purpose of identifying pirates who violate copyright restrictions. Roughly speaking, a (fully collusion-resilient) traitor-tracing scheme allows a sender to generate keys for users so that 1) the sender can broadcast encrypted messages that can be decrypted by any user, and 2) any efficient pirate decoder capable of decrypting messages can be traced to at least one of the users who contributed a key to it, even if an arbitrary coalition of the users combined their keys in an arbitrary efficient manner to construct the decoder.
Dwork et al. show that the existence of traitor-tracing schemes implies hardness results for one-shot sanitizers. Very informally, they argue as follows: Suppose a coalition of users takes their keys and builds a database where each record contains one of their user keys. The family will contain a query for each possible ciphertext . The query asks “What fraction of the records (user keys) in would decrypt the ciphertext to the message ?” Every user can decrypt, so if the sender encrypts a message as a ciphertext , then every user will decrypt to . Thus the answer to the counting query, , will be .
Suppose there were an efficient one-shot sanitizer for . Then the coalition could use it to efficiently produce a summary of the database that enables one to efficiently compute an approximate answer to every query , which would also allow one to efficiently decrypt the ciphertext. Such a summary can be viewed as an efficient pirate decoder, and thus the tracing algorithm can use the summary to trace one of the users in the coalition. However, if there is a way to identify one of the users in the database from the summary, then the summary is not differentially private.
In order to instantiate their result, they need a traitor-tracing scheme. Since contains a query for every ciphertext, the parameter to optimize is the length of the ciphertexts. Using the fully collusion-resilient traitor-tracing scheme of Boneh, Sahai, and Waters [BSW06], which has ciphertexts of length , they obtain a family of queries of size for which there is no efficient one-shot sanitizer. Dwork et al. also discovered a partial converse—proving hardness of one-shot sanitization for a smaller family of queries requires constructing traitor-tracing schemes with shorter ciphertexts, which is a seemingly difficult open problem.
Our Approach
In our setting of sanitization (rather than one-shot sanitization, as studied by Dwork et al. [DNR+09]), we don’t expect to answer every query in , only a much smaller set of queries requested by the analyst. At first glance, this should make answering the queries much easier, and thus make it more difficult to demonstrate hardness. However, the attacker does have the power to choose the queries which he wants answered, and can choose queries that are most difficult to sanitize. Our first observation is that in the traitor-tracing scenario, the tracing algorithms only query the pirate decoder on a polynomial number of ciphertexts, which are randomly chosen and depend on the particular keys that were instantiated for the scheme. For many schemes, even queries is sufficient. Thus it would seem that the tracing algorithm could simply decide which queries it will make, give those queries as input to the sanitizer, and then use the answers to those queries to identify a user and violate differential privacy.
However, this intuition ignores an important issue. Many traitor-tracing schemes (including [BSW06]) can only trace stateless pirate decoders, which essentially commit to a response to each possible query (or a distribution over responses) once and for all. For one-shot sanitizers, the private summary is necessarily stateless, and thus the result of Dwork et al. can be instantiated with any scheme that allows tracing of stateless pirate decoders. However, an arbitrary sanitizer might give answers that depend on the sequence of queries. Thus, in order to prove our results, we will need a traitor-tracing scheme that can trace stateful pirate decoders.
The problem of tracing stateful pirates is quite natural even without the implications for private data analysis. Indeed, this problem has been studied in the literature, originally by Kiayias and Yung [KY01]. They considered pirates that can abort and record history. However, their solution, and all others known, does not apply to our specific setting due to a certain “watermarking assumption” that doesn’t apply when proving hardness-of-sanitization (see discussion below). To address this problem, we also refine the basic connection between traitor-tracing schemes and differential privacy by showing that, in many respects, fairly weak traitor-tracing schemes suffice to establish the hardness of preserving privacy. In particular, although the pirate decoder obtained from a sanitizer may be stateful and record history, the accuracy requirement of the sanitizer means that the corresponding pirate decoder cannot abort, which will make it easier to construct a traitor-tracing scheme for these kinds of pirates. Indeed, we construct such a scheme to establish Theorem 1.1.
The scheme also has weakened requirements in other respects, having nothing to do with the statefulness of the pirate or the tracing algorithm. These weakened requirements allow us to reduce the complexity of the decryption, which means that the queries used by the attacker do not need to be arbitrary polynomial-size circuits, but instead can be circuits of constant depth, which allows us to establish Theorem 1.2. Another technical issue arises in that all queries must be given to the sanitizer at once, whereas tracing algorithms typically are allowed to query the pirate interactively. However, we are able to show that the scheme we construct can be traced using one round of queries. See Sections 3.1 and 4 for a precise statement of the kind of traitor-tracing scheme that suffices and Section 5 for our construction.
Our construction is based on a well-known fully collusion resilient traitor-tracing scheme [CFN94], but with a modified tracing algorithm. The tracing algorithm uses fingerprinting codes [BS98, Tar08], which have been employed before in the context of traitor-tracing and content distribution, but our tracing algorithm is different from all those we are aware of. The resulting scheme allows for tracing with a minimal number of non-adaptively chosen queries, achieves tracing without context-specific watermarking assumptions, simplifies the decryption circuit (at the expense of weakening the security parameters and functionality). The restriction to non-aborting pirates may not be so natural in the setting of content distribution, which may explain why the scheme was not previously known.
2 Related Work
In addition to the hardness results for one-shot sanitizations [DNR+09], which apply to arbitrary one-shot sanitizers, there are several hardness-of-sanitization results for restricted classes of sanitizers. Dwork et al. proved stronger hardness results for sanitizers whose output is a “synthetic database”—roughly, a new database (of the same dimensions) that approximately preserves the answer to some set of queries. Their results were extended by Ullman and Vadhan [UV11], who showed that it is hard to generate a private synthetic database that is accurate for essentially any non-trivial family of queries, even -literal conjunctions.
Gupta et al. [GHRU11] considered algorithms that can only access the database by making a polynomial number of “statistical queries” (essentially counting queries). They showed that such algorithms cannot be a one-shot sanitizer (even ignoring privacy constraints) that approximately answers certain simple families of counting queries with high accuracy.
Finally, Dwork, Naor, and Vadhan [DNV12] gave information-theoretic lower bounds for stateless sanitizers, which take queries as input, but whose answers to each query do not depend on the other input queries. They showed that (even computationally unbounded) stateless sanitizers can answer at most queries with non-trivial accuracy, while satisfying differential privacy. The Laplace Mechanism is a stateless sanitizer that answers queries, and thus their result is tight in this respect. Although their result is information theoretic, and considers a highly restricted type of sanitizer, their techniques are related to ours. We elaborate on this connection in the appendix.
Preliminaries
Let a database be a collection of rows . We say that two databases are adjacent if they differ only on a single row, and we denote this by .
Let be a randomized algorithm that takes a database as input (where and are varying parameters). is -differentially private if for every two adjacent databases and every subset ,
If is -differentially private for some functions , , we will drop the parameters and and say that is differentially private.
The choice of is a fairly weak setting of the privacy parameters, and most known constructions of differentially private mechanisms for various tasks give quantitatively stronger privacy guarantees. These parameters are essentially the weakest possible, as -differentially privacy is not a satisfactory privacy guarantee for or . That our lower bounds apply to the parameters specified in Definition 2.1 makes our results stronger.
Sanitizers for Counting Queries
Since an algorithm that always outputs satisfies Definition 2.1, we also need to specify what it means for the sanitizer to be useful. In this paper we study sanitizers that give accurate answers to counting queries. A counting query on is defined by a predicate . Abusing notation, we define the evaluation of the query on a database to be
Now we formally define what it means for a sanitizer to give accurate answers.
Let be a database and be a set of counting queries. A sequence of answers is -accurate for on if
If is -accurate for any (constant) and , we will drop and and say that is -accurate.
The choice of is also significantly weaker than what can be achieved by known constructions of sanitizers. These parameters are also essentially the weakest parameters possible, as a mechanism that answers to every query achieves , for any number of arbitrary queries. Also, if there is a mechanism that achieves -accuracy for , then there is another mechanism that achieves -accuracy with only an loss in the privacy parameters and the efficiency of the mechanism.Given a sanitizer that answers every query accurately with probability , one can obtain a mechanism that answers every query accurately with probability . will run independently times and answers each query with the median of the answers for that query. That our lower bound applies to the parameters specified in Definition 2.2 makes our results stronger.
Efficiency of Sanitizers
Simply, a sanitizer is efficient if it runs in time polynomial in the length of its input. To make the statement more precise, we need to specify how the queries are given to the sanitizer as input.
For comparison with our results, we will recall the properties of some known mechanisms, stated in our terminology and for our choice of parameters:
There exists a sanitizer that is 1) differentially private, 2) efficient, and 3) -accurate.
Traitor-Tracing Schemes
In this section we give define a traitor-tracing scheme. Throughout, we will use to denote algorithms associated with traitor-tracing schemes.
We now give a definition of a traitor-tracing scheme, heavily tailored to the task of proving hardness results for generic sanitizers. We will sacrifice some consistency with the standard definitions. See below for further discussion of the ways in which our definition departs from the standard definition of traitor-tracing. In some cases, the non-standard aspects of the definition will be necessary to establish our results, and in others it will be for convenience. Despite these differences, we will henceforth refer to schemes satisfying our definition simply as traitor-tracing schemes.
Intuitively, a traitor-tracing scheme is a form of broadcast encryption, in which a sender can broadcast an encrypted message that can be decrypted by each of a large set of users. The standard notion of security for such a scheme would require that an adversary that doesn’t have any of the keys cannot decrypt the message. A traitor-tracing scheme has the additional property that given any decoder capable of decrypting the message (which must in a very loose sense “know” at least one of the keys), there is a procedure for determining which user’s key is being used. Moreover, we want the scheme to be “collusion resilient,” in that even if a coalition of users gets together and combines their keys in some way to produce a decoder, there is still a procedure that identifies at least one member of the coalition.
The algorithm takes a security parameter, , and returns a sequence of user keys . Formally, .
The algorithm takes a sequence of user keys and a message bit , and generates a ciphertext . Formally, .
The algorithm takes as input a set of user keys and an oracle , makes one -tuple of queries, to its oracle (), and returns the name of a user . Formally, .
Intuitively, think of the oracle as being given some subset of keys for a non-empty set , and is attempting to identify a user . Clearly, if ignores its input and always returns , cannot have any hope of success, so we must assume that is capable of decrypting ciphertexts.
In other words, if every user key (for ) decrypts to (resp. ), then decrypts to (resp. ), with high probability.
We can now define a secure, -traitor-tracing scheme:
The traitor-tracing schemes we consider are somewhat different than those previously studied in the literature.
We do not require the encryption or tracing algorithms to use public keys. In the typical application of traitor-tracing schemes to content distribution, these would be desirable features, however they are not necessary for proving hardness of sanitization.
We only require that the tracing algorithm succeeds with probability . Typically one would require that the tracing algorithm succeeds with probability .
We do not give the pirate decoder access to an encryption oracle. In other words, we do not require CPA security. Most traitor-tracing schemes in the literature are public-key, making this distinction irrelevant. Here, we only need an encryption scheme that is secure for an a priori bounded number of messages.
We allow the pirate decoder to be stateful, but in an unusual way. We require (roughly) that if any of the queries are ciphertexts generated by , then the pirate decoder answers to those queries, regardless of the other queries issued. In many models, the pirate is allowed to abort, and answer if it detects that it is being traced. However, we do allow our pirate to correlate its answers to different queries, subject to this accuracy constraint. We also allow the pirate to see all the queries made by the tracer at once, which is more power than is typically given to the pirate.
Roughly, the first three modifications will allow us to find a candidate scheme with very simple decryption and the fourth modification will allow us to trace stateful pirates even in the setting of bit-encryption.
2 Decryption Function Families
For Theorem 1.2, we are interested in traitor-tracing schemes where is a “simple” function of the user key (for every ciphertext ).
Let be a traitor-tracing scheme where produces keys in and produce ciphertexts in . For every , we define the -decryption function to be . We define the decryption function family .
In what follows, we will say that is an traitor-tracing scheme with decryption function family .
Attacking Efficient Sanitizers
In this section we will prove our main result, showing that the existence of traitor-tracing schemes (as in Definition 3.2) implies that efficient sanitizers cannot answer too many counting queries while satisfying differential privacy.
The main difference between Theorem 4.1 and the result of Dwork et al. [DNR+09] is that we only assume the existence of a sanitizer for queries from , whereas Dwork et al. assume the existence of a one-shot sanitizer that answers every query in . To offset the weaker assumption on the sanitizer, we assume that the traitor-tracing scheme is secure against certain stateful pirate decoders (as in Definition 3.1) whereas Dwork et al. only need to trace stateless pirates. Theorem 4.1 also explicitly allows the traitor-tracing scheme to have the relaxed functionality and security properties discussed at the end of Section 3, although it is implicit in Dwork et al. that the relaxed properties are sufficient to prove hardness results.
We now sketch the proof: Every function is viewed as a query on a database row . Assume there is an efficient sanitizer is that is -accurate for these queries. The fact that is accurate for these queries will imply that (after small modifications) is a -available pirate decoder (Definition 3.1). Here is where we differ from Dwork et al., who assume that accurately answers all queries in , in which case can be viewed as a stateless pirate decoder (but must solve a harder sanitization problem).
We complete the proof as in Dwork et al. Consider two experiments: In the first, we construct an -row database by running to obtain user keys, and putting one in each row of . Then we run on and obtain a user . Since is useful, and is secure, we will have that with probability close to , and thus there is an such that with probability .
In the second experiment, we construct a database exactly as in the first, however we exclude the key . Since and differ in only one row, differential privacy requires that , run with oracle , still outputs with probability . However, in this experiment, , is no longer given to the pirate decoder, and thus security of says that , run with this oracle, must output with probability . Thus, we will obtain a contradiction.
Let be the assumed traitor-tracing scheme, and assume there exists an efficient, differentially private, -accurate sanitizer . We define the pirate decoder as follows:
Next, we claim that if is accurate for , then is a useful pirate decoder.
If is -accurate, then is a -useful pirate decoder.
Let be a set of user keys for and let be a subset of the users such that . Suppose and are such that for every , . Then we have that, for as in ,
Let be a set of ciphertexts, and be as in . The accuracy of (with constant error ) guarantees that
Since , . Assuming is accurate up to error for , will be rounded to exactly whenever . That is,
Thus, is -useful. This completes the proof of the claim. ∎
Let Now we claim that if is differentially private, then will output with significant probability, even is not given the key of user .
If is differentially private (for , ), then
Fix any and let and , as above. Let and . Take to be the set of responses such that , after querying its oracle on ciphertexts and receiving responses , outputs ( depends on the coins of and ). By differential privacy, we have that
Note that the queries constructed by depends only on , not on . Also note that the final rounding step does not depend on the input at all. Thus, for every
The claim follows by combining with (1). ∎
To complete the proof, notice that the probability in Claim 4.3 is exactly the probability that outputs the user , when given the oracle , for . However, the fact that is efficient, and is a secure traitor-tracing scheme implies that this probability is . Thus we have obtained a contradiction. This completes the proof of the Theorem. ∎
Constructions of Traitor-Tracing Schemes
In this section we show how to construct traitor-tracing schemes that satisfy Definition 3.2, and thus can be used to instantiate Theorem 4.1. First we will informally describe a simple construction that requires the tracing algorithm to make a sub-optimal number of queries, but will hopefully give the reader more intuition about the construction and how it differs from previous constructions of traitor-tracing schemes. Then we will give precise definitions of the encryption schemes (Section 5.2) and fingerprinting codes (Section 5.3) required for our construction. Then we will present the final construction more formally (Section 5.4) and prove its security. Finally, we will use the weakened security requirements of the encryption scheme to show that our traitor-tracing scheme can be instantiated so that decryption is computable by constant-depth circuits (Section 5.6).
Our construction is a variant of the most basic tracing traitor-tracing scheme [CFN94]. Start with any encryption scheme . Generate an independent key for each user (we will ignore the security parameter in the informal description). To encrypt a bit , we encrypt it under each user’s key independently and concatenate the ciphertexts. That is
Clearly each user can decrypt the ciphertext by applying , as long as she knows which part of the ciphertext to decrypt.
Now we describe how an available pirate decoder for this scheme can be traced. As with all traitor-tracing schemes, we will form ciphertexts that different users would decrypt differently, assuming they decrypt as intended using the algorithm . We can do so with the following algorithm:
for . The algorithm forms a ciphertext that users will decrypt to and users will decrypt to .
The tracing algorithm generates a random sequence , for , such that each element of appears exactly times, where is a parameter to be chosen later. Then, for every it generates a ciphertext . Next, it queries . Given the output of the pirate, the tracing algorithm computes
for . Finally, the tracing algorithm outputs any such that .
The tracing algorithm generates a random sequence of indices , for , such that each element of appears exactly times, where is a parameter to be chosen later. Then, for every it generates a ciphertext . Next, it queries . Given the output of the pirate, the tracing algorithm computes for . Finally, the tracing algorithm outputs any such that .
Now we explain why this algorithm successfully traces efficient available pirate decoders. Notice that if we choose according to , then every user decrypts to , so . Similarly, . Thus, there exists such that . Next, we argue that is in except with small probability. Notice that and differ only in the message encrypted under key , so if , this key is unknown to the pirate decoder. The security of the encryption scheme (made precise in Definition 5.2) guarantees that if is unknown to an efficient pirate, then we can replace uses of with , and this change will only affect the success probability of the pirate by . But after we make this replacement, and are (perfectly, information-theoretically) indistinguishable to the pirate. Since the sequence of indices is random, the pirate has no information about which elements are and which are . Thus, if the pirate wants to make larger than , for some , she can do no better than to “guess”. If we take , and apply a Chernoff bound, it turns out that for every , . This conclusion also holds after we take into account the security loss of the encryption scheme, which is . Thus, the scheme we described is a secure traitor-tracing scheme in the sense of Definition 3.2.
In arguing that the scheme is secure, we used the fact that and no matter what other queries are made to the pirate. In many applications, this assumption would not be reasonable. However, when the pirate is derived from an accurate sanitizer, this condition will be satisfied.
For this scheme, the tracer makes queries. Before proceeding, we will explain how to reduce the number of queries from to . The high-level argument that the scheme is secure used two facts:
By the availability of the pirate decoder, if every user in would decrypt a ciphertext to , then the pirate decrypts to (in the above, ).
Because of the encryption, a pirate decoder without user ’s key “doesn’t know” how user would decrypt each ciphertext.
Systems leveraging these two properties to identify a colluding user are called fingerprinting codes [BS98], and have been studied extensively. In fact, the tracing algorithm we described is identical to the tracing algorithm we define in Section 5.4, but instantiated with the fingerprinting code of Boneh and Shaw [BS98], which has length . Tardos [Tar08] constructed shorter fingerprinting codes, with length , which we use to reduce the number of queries to trace.
Next we define the precise security requirement we need out of the underlying encryption scheme, and then we will give a formal definition of fingerprinting codes.
2 Encryption Schemes
We will build our traitor-tracing scheme from a suitable encryption scheme. An encryption scheme is tuple of efficient algorithms . All the algorithms may be randomized except for . The scheme has the following syntactic properties:
First we define (perfectly) correct decryptionIt would not substantially affect our results if were allowed to fail with negligible probability, however we will assume perfect correctness for ease of presentation.
We require that our schemes have the following -message security property.
Notice that we do not require to be secure against adversaries that are given as an oracle. That is, we do not require CPA security.
3 Fingerprinting Codes
As we alluded to above, our tracing algorithm will use a fingerprinting code, introduced by Boneh and Shaw [BS98]. A fingerprinting code is a pair of efficient (possibly randomized) algorithms with the following syntax.
Informally, if all users in have a (resp. ) in the -th symbol of their codeword, then they must produce a word with (resp. ) as the -th symbol. We also define the critical positions to be the set of indices for which this constraint is binding. That is,
The security of a fingerprinting code asserts that an adversary who is given a subset of the codewords should not be able to produce an element of that does not trace to a user . More formally,
where the two executions of are understood to be the same.
Tardos [Tar08] gave a construction of fingerprinting codes of essentially optimal length, improving on the original construction of Boneh and Shaw [BS98].
4 The Traitor-Tracing Scheme
We are now ready to state the construction more formally. The key generation, encryption, and decryption algorithms are as we described in the sketch (Section 5.1), and stated below.
If is available, its output will be a feasible codeword for . To see this, recall that if every user decrypts to the same bit, then an available pirate decoder , decrypts to that bit. However, the critical positions of are exactly those for which every user has the same symbol in position . Thus, the codeword returned by the pirate is feasible, and the fingerprinting code’s tracing algorithm can identify a user in .
The catch in this argument is that takes all of as input, however an attacker for the fingerprinting code is only allowed to see , and thus cannot simulate in a security reduction. However, if only has keys , and , then an efficient cannot decrypt the -th component of a ciphertext . But these are the only components that depend on . So is computationally hidden from anyway, and we could replace that codeword with a string of zeros without significantly affecting the success probability of . Formalizing this intuition will yield a valid attacker for the fingerprinting code, and obtain a contradiction.
the encryption scheme and fingerprinting code have sufficiently strong security,
the encryption scheme is secure for sufficiently many queries,
the encryption scheme is secure against adversaries whose running time is as long as the pirate decoder’s, for every ,
Then instantiated with and is an -traitor-tracing scheme.
where the probability is also taken over the coins of and . Since there are only such sets, for a randomly chosen , we have
Both of these probabilities are also taken over the coins of and . We will show that such a pirate decoder must either violate the security of the encryption scheme or violate the security of the fingerprinting code.
Consider the following algorithm
Since the fingerprinting code is secure, for a randomly chosen (in fact, for every ),
This condition could hold simply because outputs an infeasible codeword with high probability, not because we are successfully tracing a user in . The next claim states that if is an available pirate decoder, then this is not the case.
If is -useful, then, by definition, for every , every , and every , if every user decrypts some to the same bit , then so does (with high probability). That is, for ,
Since outputs feasible codewords with high probability, we obtain
by combining the previous claim with (3).
There are only two differences between the success of the pirate decoder in fooling and the success of the fingerprinting adversary in fooling (in the experiment described in (5)): The first is that in the traitor-tracing security condition, is given for a fixed , whereas the fingerprinting adversary is given for a random . This difference only affects the error by a factor of . That is, for every
The second difference is that in , the ciphertexts given to the pirate are generated by whereas in the ciphertexts are generated by . But these ciphertexts only differ in the -th component, and is unknown to , so this does not affect the behavior of the pirate decoder significantly. This fact is established in the following claim.
Let be the encryption scheme. The main observation required to prove the claim is that the two experiments we want to relate can both be simulated without , given challenges for the encryption scheme (Definition 5.2). Fix a codebook . Now consider two distributions on ciphertexts (of ): In either case, generate a random key
We now complete the proof of the theorem by combining Equation (5) and Claim 5.8.
Recall that the two goals of constructing a new traitor-tracing scheme were to trace stateful pirates and to reduce the complexity of decryption. We addressed tracing of stateful pirates in the previous section, and now we turn to the complexity of decryption. We do so by instantiating the traitor-tracing scheme with various encryption schemes and making two observations: 1) The type of encryption schemes we require are sufficiently weak that there already exist plausible candidates with a very simple decryption operation, and 2) Decryption for the traitor-tracing scheme is not much more complex than decryption for the underlying encryption scheme. We summarize the second point with the following simple lemma.
Let be as defined, with as its underlying encryption scheme. Let and be any user key and ciphertext for . Then
Here, the function takes the value if and otherwise. The lemma follows directly from the construction of . Also note that the function is just a conjunction of bits (a single gate of fan-in ), and we need to compute of these functions. In addition to computing and , there are conjunctions and a single outer disjunction. Thus we add an additional gates, compute decryption times, and increase the depth by . Hence, an intuitive summary of the lemma is that if can be implemented by circuits of size and depth , can be implemented by circuits of size and depth . This summary will be precise enough to state our main results.
By combining Lemma 5.9 with Theorem 5.6, we easily obtain the following corollary.
Theorem 1.1 in the introduction follows by combining Theorem 4.1 with Corollary 5.10.
We will now consider the possibility of constructing a traitor-tracing scheme where the decryption functionality can be implemented by circuits of constant depth, and thus obtaining hardness results for generic sanitizers that are efficient for constant-depth queries (Theorem 1.2). First, we summarize our observation that the traitor-tracing scheme almost preserves the depth of the decryption function.
The corollary is clear from Lemma 5.9 and Theorem 5.6.
The corollary is not interesting without an encryption scheme that can be decrypted by constant-depth circuits. However, we observe that such a scheme (meeting our relaxed security criteria) can be constructed from a sufficiently good local pseudorandom generator (PRG). A recent result of Applebaum [App12] gave the first plausible candidate construction of a local PRG for the range of parameters we need, giving plausibility to the assumption that such PRGs (and, as we show, traitor-tracing schemes with constant-depth decryption) exist. We note that local PRGs actually imply encryption schemes with local decryption, which is stronger than just constant-depth decryption. Although it may be significantly easier to construct encryption schemes that only have constant-depth decryption, we are not aware of any other ways of constructing such a scheme.
If, in addition, if each bit of the output depends only on some set of bits of the input, then is a -local pseudorandom generator.
It is a well known result in Cryptography that pseudorandom generators imply encryption schemes satisfying Definition 5.2 (for certain ranges of parameters). We will use a particular construction whose decryption can be computed in constant-depth whenever the underlying PRG is locally-computable (or, more generally, computable by constant-depth circuits). The construction is the standard “computational one-time pad”, however we give a construction to verify that the decryption can be computed by constant-depth circuits.
The security follows from standard arguments: If we choose a random , then is indistinguishable from uniform up to error . If we generate encryptions with key , and no two encryptions use the same choice of , then the output is indistinguishable from encryptions using uniform random bits in place of . If we use uniform random bits in place of , then the message is information-theoretically hidden. The probability that no two encryptions out of use the same choice of is at most , so we lose this term in the security of the encryption scheme.
Let be the indicator variable for the condition . For every , we can write
Combining Corollary 5.11 with Lemma 5.13 easily yields the following corollary.
Theorem 1.2 in the introduction follows by combining Theorem 4.1 with Corollary 5.14.
Acknowledgements
We thank Cynthia Dwork for suggesting that we look further at the connection between traitor-tracing and differential privacy. We thank Salil Vadhan for helpful discussions about the connection between traitor-tracing and differential privacy, and about the presentation of this work. We also thank Dan Boneh, Moritz Hardt, Hart Montgomery, Ananth Raghunathan, Aaron Roth, Guy Rothblum, and Thomas Steinke for helpful discussions.
References
Appendix A Additional Related Work
In this appendix, we elaborate on the relationship between sanitizers, interactive sanitizers, and one-shot sanitizers, and on the relationship between our results and prior work on the complexity of differentially private sanitization.
Dwork, Naor, and Vadhan [DNV12] gave information theoretic lower bounds for stateless sanitizers. These are sanitizers that take queries as input, but whose answers to each query do not depend on the other input queries.
Another interpretation of our results, which can be used to give an alternative proof of our results, is that we construct a family of queries for which “keeping state doesn’t help”.
They consider a game where an -row database is chosen at random, and a random subset of of those rows is given to the attacker. The attacker wants to violate privacy by recovering the -th row. To do so, the attacker chooses queries (randomly, from a distribution that depends on the known rows) and requests answers to these queries. Using these answers, they show that there is a particular way for the attacker to (randomly) guess the missing row, that will succeed with sufficient probability to constitute a privacy violation. Their argument is in two steps: 1) The expected correlation between the answers given by a stateless sanitizer and the value of the queries on the missing row is significant. 2) A stateless sanitizer cannot give answers that are correlated with too many rows that are not in the database. Combining these two steps shows that the attacker has a significant chance of identifying the -th row from its correlation with the answers.
Typically, the intuition behind the analysis of traitor-tracing schemes follows roughly the same two steps: 1) There will be some correlation between the decryptions returned by the efficient pirate and the decryptions that would be returned by some member of the coalition (using only his own key). 2) There will not be significant correlation between the decryptions returned by the efficient pirate and the decryptions that would be returned by any user not a member of the coalition. This is exactly the intuition we sketched in the simpler (sub-optimal) construction. In the final construction, much of this argument is made “inside” the construction of the fingerprinting code. If we “unrolled” the analysis of the fingerprinting code directly into our construction, we would make exactly the same arguments.
Other Types of Sanitizers
The three variants we’ve described satisfy some interesting relationships. First, if we have an algorithm that runs in time and releases a summary that enables an analyst to answer any query in in time , then we also have an interactive sanitizer that runs in time per query that answers any sequence of queries from . Secondly, if we have an interactive sanitizer that answers up to queries from in time per query, then we also have a non-interactive sanitizer that answers any queries from in time . Thus, holding fixed and assuming , the problem we consider is the easiest form of private counting query release, and the lower bounds we prove imply lower bounds for the other variants.
Indeed, in the data release problem one cannot take to include all efficiently computable counting queries. Sanitizers (both interactive and non-interactive) are supposed to circumvent this problem by allowing the queries to be arbitrary, but only answering the queries that are needed. However our results show that they can only circumvent the problem if we allow superpolynomial computation or we take .