# Demand-Private Coded Caching and the Exact Trade-off for N=K=2

The distributed coded caching problem has been studied extensively in the recent past. While the known coded caching schemes achieve an improved transmission rate, they violate the privacy of the users since in these schemes the demand of one user is revealed to others in the delivery phase. In this paper, we consider the coded caching problem under the constraint that the demands of the other users remain information theoretically secret from each user. We first show that the memory-rate pair (M,min{N,K}(1-M/N)) is achievable under information theoretic demand privacy, while using broadcast transmissions. We then show that a demand-private scheme for N files and K users can be obtained from a non-private scheme that satisfies only a restricted subset of demands of NK users for N files. We then focus on the demand-private coded caching problem for K=2 users, N=2 files. We characterize the exact memory-rate trade-off for this case. To show the achievability, we use our first result to construct a demand-private scheme from a non-private scheme satisfying a restricted demand subset that is known from an earlier work by Tian. Further, by giving a converse based on the extra requirement of privacy, we show that the obtained achievable region is the exact memory-rate trade-off.

## Authors

• 3 publications
• 7 publications
• 8 publications
• ### Fundamental Limits of Demand-Private Coded Caching

We consider the coded caching problem with an additional privacy constra...
01/18/2021 ∙ by Chinmay Gurjarpadhye, et al. ∙ 0

• ### Optimal Demand Private Coded Caching for Users with Small Buffers

Coded Caching is an efficient technique to reduce peak hour network traf...
01/21/2021 ∙ by K. K. Krishnan Namboodiri, et al. ∙ 0

• ### Demand Private Coded Caching

The work by Maddah-Ali and Niesen demonstrated the benefits in reducing ...
09/07/2019 ∙ by Sneha Kamath, et al. ∙ 0

• ### Fundamental Limits of Device-to-Device Private Caching with Trusted Server

In the coded caching problem as originally formulated by Maddah-Ali and ...
12/19/2019 ∙ by Kai Wan, et al. ∙ 0

• ### Coded Caching with Demand Privacy: Constructions for Lower Subpacketization and Generalizations

Coded caching is a technique where we utilize multi-casting opportunitie...
07/15/2020 ∙ by V R Aravind, et al. ∙ 0

• ### Fundamental Limits of Caching for Demand Privacy against Colluding Users

This work investigates the problem of demand privacy against colluding u...
08/09/2020 ∙ by Qifa Yan, et al. ∙ 0

• ### On the Fundamental Limits of Coded Caching Systems with Restricted Demand Types

Caching is a technique to reduce the communication load in peak hours by...
06/30/2020 ∙ by Shuo Shao, et al. ∙ 0

##### This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

## I Introduction

In the seminal work [1], Maddah-Ali and Niesen demonstrated that significant gain in the transmission rate can be achieved in a noiseless broadcast network by clever design of caching and delivery schemes. The network studied in [1] consists of one server and users, each user is equipped with a cache of uniform size. The server has files and each user requests one of the files in the delivery phase. By utilizing the broadcasting opportunity of this network, Maddah-Ali and Niesen provided a caching and delivery scheme which is shown to be order optimal within a factor of 12.

In this paper, we consider the coded caching problem under privacy requirement on the demands of the users, i.e., no user should learn anything about the demands of the other users. Recently, demand privacy for the coded caching setup has been studied from an information theoretic perspective [2, 3, 4]. In [2], it was studied under a setup where the delivery phase uses private multicasts to subsets of users. This was adapted to the broadcast delivery model under computational privacy guarantee. The study in [3] uses information theoretic privacy under broadcast delivery. In both [2, 3], construction techniques were proposed for deriving a demand-private scheme for files and users from a non-private coded caching scheme for files and users. The achievable memory-rate pairs of the derived schemes are the same as that of the original non-private schemes. In [4], authors study the subpacketization requirement under information theoretic demand privacy constraint for . They have shown some lower bounds on the transmission rate for a given subpacketization when the caching scheme is constrained to be linear.

The non-private coded caching problem has been studied by many authors. The works [5, 6, 7, 8] focused on improving the achievable rates of Maddah-Ali and Niesen [1] by designing new schemes. Yu et al. [8] proposed a new caching scheme which was shown to be order optimal within a factor of 2. When the cache content is not allowed to be coded, the optimal rates were characterized in [8, 9]. Several works have obtained improved lower bounds on the rates, see for example [10, 11].

The coded caching schemes in the noiseless broadcast network is inherently prone to security and privacy issues since the broadcasted message is revealed to everyone. Information theoretic secrecy from an external adversary who can observe the broadcasted message was first studied by Sengupta et al. [12]. They proposed a scheme which prevents the adversary from getting any information about any file from the broadcasted message. Another privacy aspect was considered by Ravindrakumar et al. in [13] where each user should not get any information about any file other than the one requested by her. They proposed a scheme which achieves this constraint by distributing keys in the placement phase.

The contributions of this paper are as listed below.

1. We first show in Theorem 2 that the memory-rate pair is achievable for coded caching under information theoretic demand privacy. Our achievable scheme uses broadcast transmissions in the delivery phase, and this complements a similar result in  [2] for their model using private unicast transmissions in the delivery stage.

2. We show in Theorem 3 that a demand-private scheme for files and users with the same memory-rate pair can be obtained from a non-private scheme that serves only a subset of demands for files and users. This is a refinement of results of  [2, 3], and the scheme uses the idea in [3]. However, the observation that the particular non-private scheme is required to serve only a subset of demands is new, and this is used later for the case of , discussed in the next item.

3. In Theorem 4, we characterize the exact memory-rate trade-off with demand privacy for . We note that the region given in Theorem 4 is strictly larger than achievable regions known from existing literature (See Fig. 2). To obtain this achievable region, we use two non-private caching schemes from [14] which are required to serve a restricted subset of demands. Proving converse for this problem is difficult in general, and the converse proof of Theorem 4 is a key contribution of this paper.

4. The achievability of the exact memory-rate trade-off in Theorem 4 is proved by showing that memory-rate pairs and are achievable. The caching and transmission schemes to achieve these points are linear with coded prefetching. Incidentally, these schemes also use a subpacketization of 3, which is the same as that of the schemes in [4] for the rate points and . The question of whether the minimum required subpacketization is indeed 3 to achieve any memory-rate pair with demand privacy for remains open.

We present the problem formulation and definitions in Sec. II. The results with proofs are presented in Sec. III.

## Ii Problem formulation and definitions

Consider a server with files which are assumed to be independent and each of length bits. File takes values in the set uniformly at random. The server is connected to users via a noiseless broadcast link. Each user is equipped with a cache of size bits, where . There are two phases in a coded caching scheme. In the first phase, called the placement phase, the server fills the cache of each user. In the delivery phase, each user requests one file from the server. The index of the file requested by user is denoted by . We assume that all

are independent of each other, and each of them is uniformly distributed in the set

. Let the vector

denote the demands of all users, and also let denote all demands but , i.e., . All users convey their demands secretly to the server. Then, the server broadcasts a message of size bits to serve the request of the users. The broadcasted message, denoted by , consists of bits, where is defined as the rate of transmission. User decodes the requested file using the received message, cache content, and .

In a demand-private coded caching setup (see Fig. 1), we also have a privacy requirement on the demand in addition to the recovery requirement. The privacy constraint is such that user should not gain any information about . To achieve this, we consider some shared randomness which is shared between user

and the server, and it is not known to the other users. The shared randomness can be achieved during the placement phase since the placement is done secretly for each user. Random variables

take values in some finite alphabets , respectively. The set of random variables is denoted by . Let denote the set of values of a private randomness available at the server. The random variables are independent of each other.

Non-private coded caching scheme: A non-private coded caching scheme consists of the following.

Cache encoding functions: For , the cache encoding function for the -th user is a map

 Ck:[2F]N→[2MF], (1)

and the cache content is given by .

Broadcast transmission encoding function: The transmission encoding is a map

 E:[2F]N×D0×⋯×%$D$K−1→[2RF], (2)

and the transmitted message is given by .

Decoding functions: User uses a decoding function

 Gk:D0×⋯×DK−1×[2RF]×[2MF]→[2F]. (3)

Let and . Then the triple is called an -non-private scheme if it satisfies

 WDk=Gk(¯D,E(¯W,¯D),Ck(¯W)) (4)

for all values of . A memory-rate pair is said to be achievable for the coded caching problem if there exists an -non-private scheme for some .

Private coded caching scheme: A private coded caching scheme consists of the following.

Cache encoding functions: For , the cache encoding function for the -th user is given by

 Ck:Sk×P×[2F]N→[2MF], (5)

and the cache content is given by .

Broadcast transmission encoding function: The transmission encoding functions are

 E:[2F]N×D0×⋯×%$D$K−1×P ×S0×⋯×SK−1→[2RF], J:D0×⋯×DK−1×P×S0×⋯×SK−1→J.

The transmitted message is given by

 X=(E(¯W,¯D,P,¯S),J(¯D,P,¯S)).

Here is negligible compared to file size .

Decoding functions: User has a decoding function

 Gk:Dk×Sk×% J×[2RF]×[2MF]→[2F]. (6)

Let and . The tuple is called as an -private scheme if it satisfies the following decoding and privacy conditions:

 WDk=Gk(Dk,Sk,J(¯D,P,¯S,), E(¯W,¯D,P,¯S),Ck(Sk,P,¯W)), (7) I(¯D~k;Zk,X,Dk)=0% for k=0,…,K−1. (8)

A memory-rate pair is said to be achievable with demand privacy for the coded caching problem if there exists an -private scheme for some .

The memory-rate trade-off with demand privacy is defined as

 R∗pN,K(M) =inf{R:(M,R) is achievable with demand privacy for (N,K) coded caching problem.} (9)

The memory-rate trade-off for the non-private coded caching problem is defined similarly.

The following result is known from [3, 2].

###### Theorem 1

[3, Theorem 1] If there exists an non-private scheme, then there exists an -private scheme.

###### Remark 1

The model studied in [2] assumed that the server can privately transmit to any subset of users by encryption using shared keys. The key rate required for achieving this using actual broadcast transmissions is negligible only under computational privacy, as was noted in [2]. Consequently, the overall model in [2] does not seem to ensure information theoretic privacy under broadcast transmission. In contrast, we assume broadcast transmission in the delivery phase and we study perfect privacy in information theoretic sense.

## Iii Results

In [1, Example 1], it was shown that we can achieve rate for non-private scheme without any coding in cache placement or in broadcast transmission. Next we show that the same rate is achievable under perfect privacy of the demands. We note that the same result also appeared as [2, Theorem 1] under their model, and the scheme proposed in [2] for achieving this rate uses private unicast transmissions in the delivery phase unlike broadcast in our scheme below.

###### Theorem 2

For any , the memory-rate pair is achievable in coded caching under information theoretic demand-privacy.

###### Proof.

In the placement phase, the caches of all users are populated with the same fraction of each file. For each file , let it be split in two parts: cached part of length , and uncached part of length . The cache content of all the users are the same, and is given by , where

 Z(i)=W(c)i for i=0,1,⋯,N−1.

To describe the delivery phase, we consider two cases:

Case 1:

For , the server broadcasts the remaining fraction of each file. This scheme achieves privacy because the transmission does not depend on the demands of the users.

Case 2:

Let be the demands of the users. The transmission has two parts , where is the main payload, and is the auxiliary transmission of negligible rate. For each , is either for some or random bits of the same length. In particular, the position of in is denoted by a random variable . The random variables are defined inductively as

 Pi= ⎧⎪ ⎪ ⎪⎨⎪ ⎪ ⎪⎩Pjif Di=Djfor some j

Note that each demanded (uncached) file is transmitted only in one component of the transmission so that one user can not possibly detect the same file (as its own demand) being transmitted in another component and thus infer that another user also has the same demand.

The keys are chosen i.i.d. and uniformly distributed. The transmission is then given by

 X′j=⎧⎪ ⎪⎨⎪ ⎪⎩W(u)Diif j=Pifor some i∈[K]∼unif({0,1}F(1−M/N))otherwise.

and

 J=(P0⊕KS0,P1⊕KS1,⋯,PK−1⊕KSK−1),

where denotes the addition modulo operation.

Since user knows , it can find from . It then can find , and thus .

Next we show that this scheme also satisfies the privacy condition. Let us denote for the ease of writing.

 I(¯D~k;X,Dk,Zk) =I(¯D~k;X′0,⋯,X′K−1,Q0,Q1,⋯,QK−1, Dk,Sk,W(c)0,…,W(c)N−1) =I(¯D~k;Q0,⋯,QK−1,Dk,Sk) (10) =I(¯D~k;Q0,⋯,Qk−1,Qk+1,⋯,QK−1,Dk,Sk,Pk) =0 (11)

where (10) follows because is uniformly distributed in , and is independent of , and (11) follows because all the random variables in the mutual information are independent. In this scheme, the number of bits broadcasted is as the bits transmitted for communicating is negligible for large . Thus, the scheme achieves rate . ∎

A demand-private scheme for files and users can be obtained using an existing non-private achievable scheme for files and users as blackbox. Here every user is associated with a stack of users in the non-private caching problem. For example, demand-private schemes for are obtained from the non-private schemes for and . We use the ideas from the scheme presented in [3], where only certain types of demand vectors for the non-private scheme are used in the private scheme. Next we define this particular subset of demand vectors.

Consider a non-private coded caching problem with files and users. A demand vector in this problem is an -length vector, where the component denotes the demand of user . Then can also be represented as subvectors of length , i.e.,

 ¯d=[¯d(0),¯d(1),…,¯d(K−1)],

where is an -length vector for all . We now define a “restricted demand subset” .

###### Definition 1 (Restricted Demand Subset DRS)

The restricted demand subset for an coded caching problem is the set of all such that is a cyclic shift of the vector for all .

Since cyclic shifts are possible for each , there are a total of such demand vectors in .

For a given and , let denote the number of right cyclic shifts of needed to get . Then, is uniquely identified by the vector . For and , the demands in and their corresponding are given in Table I.

A related concept is the “demand type” used in [14].

###### Definition 2 (Demand Types)

In -non-private coded caching problem, for a given demand vector , let denote the number of users requesting file , where . Demand type of , denoted by , is defined as the -length vector . The type class of is defined as .

Clearly, the restricted demand subset is a subset of the type class , i.e.,

 DRS⊆D(K,K,…,K). (12)

A non-private scheme for an coded caching problem that satisfies all demand vectors in a particular demand subset , is called a -non-private scheme. Clearly, for , a -non-private scheme is also a -non-private scheme. In particular, achievable rates for satisfying various demand type-classes were studied in [14], and their results are useful in our schemes for the type due to the relation (12).

We now present a refinement of Theorem 1.

###### Theorem 3

If there exists an -non-private scheme, then there exists an -private scheme.

The proof will construct an -private scheme using an -non-private scheme as a blackbox using ideas from [3]. We first give an example to illustrate this construction for using only the restricted demand subset for a -non-private scheme from  [14]. We will see that this allows a better achievable rate for the demand-private coded caching problem than what can be achieved for the non-private caching problem.

###### Example 1

We consider the demand-private coded caching problem for . Using results from [3] and [2], we know that a demand-private scheme of the same rate-pair can be obtained from any non-private scheme for . However, it was shown in [14] that for the memory , the optimum transmission rate . It can be shown that other demand-private schemes in [2] also do not achieve for . See Fig. 2 for reference.

Let and denote the two files. We will now give a scheme which achieves a rate for with . We denote the 3 segments of and by and respectively, of bits each. First let us consider a -non-private scheme for and from [14]. Let , as shown in Table II, correspond to the cache content of user in the -non-private scheme. The transmission , as given in Table III, is chosen for the demand such that . Using Tables II and III, it is easy to verify that the non-private scheme satisfies the decodability condition for demands in . From this scheme, we obtain a demand-private scheme for as follows.

Let the shared key of user be a uniform binary random variable. The cache encoding functions and the transmission encoding function are denoted as

 Ck(Sk,A,B) =Ck,Sk(A,B) for k=0,1, E(A,B,D0,D1,S0,S1) =T(D0⊕S0,D1⊕S1)(A,B).

User chooses given in Table II as the cache encoding function. In the delivery phase, for given and , the server broadcasts both and . This choice of transmission satisfies the decodability condition due to the way we have chosen the cache content and also since the chosen non-private scheme satisfies the decodability condition for demands in . Further, the broadcast transmission will not reveal any information about the demand of one user to the other user since one particular transmission happens for all demand vectors , and also that

acts as one time pad for

for each . Here, all the transmissions consist of bits (neglecting the 2 bits for ). Since , this scheme achieves a rate .

###### Remark 2

It was shown in [4] using a dual construction that if a memory-rate pair is achievable for , then the pair is also achievable if the cache contents are selected from one out of two possible choices uniformly at random in the scheme for achieving . Furthermore, for , the pair is achievable using the MDS scheme given in [2]. It can also be observed that the pair is achievable by broadcasting one bit which implies that it preserves the information theoretic privacy. However, it is not clear whether we can achieve the pair directly using this MDS scheme and the dual construction in [4] since in the MDS scheme the cache contents are not selected from one out of two possible choices, as the dual construction requires.

Proof of Theorem 3: Let us consider any -non-private scheme. Let be the cache encoding functions, be the broadcast encoding function, and be the decoding functions for the given -non-private scheme. We will now present a construction of an -private scheme from the given -non-private scheme.

Cache encoding: For and , the -th user’s cache encoding function is given by

 Ck(Sk,¯W):=C(np)kN+Sk(¯W), (13)

The -user’s cache encoding function is taken to be the same as that of the -th user in the -th stack in the corresponding caching problem. The cache content is given by .

Broadcast encoding: To define the broadcast encoding, we need some new notations and definitions. Let denote the cyclic shift operator, such that . Let us denote a vector . Let us also define

 ¯S⊖¯D:=(S0⊖D0,S1⊖D1,⋯,SK−1⊖DK−1),

where denotes the difference of and modulo . For a given , we define an expanded demand vector for the non-private problem as:

 ¯D(np)(¯D,¯S)=(ΨS0⊖D0(I),⋯,ΨSK−1⊖DK−1(I)),

where denotes the -times cyclic shift operator.

The broadcast encoding function for the -private scheme is defined by

 E(¯W,¯D,¯S):=E(np)(¯W,¯D(np)(¯D,¯S)). (14)

Let us denote . The private scheme transmits the pair .

Decoding: User uses the decoding function of the -th user in the non-private scheme:

 Gk(Dk,Sk,¯S⊖¯D,X1,Zk) =G(np)kN+Sk(¯D(np)(¯D,¯S),X1,Zk) (15)

Here the decoder computes from .

Proof of decodability: From (15),(13), and (14), it is clear that the decoder of the -th user outputs the same file requested by the -th virtual user of the -th stack in the non-private scheme. The index of the output file is the -th component in , i.e., . Thus the -th user recovers its desired file.

Proof of privacy:

We now show that the derived -private scheme satisfies the privacy condition (8). First we show that .

 I(¯D~k;Zk,Dk,X|¯W) =H(Zk,Dk,X|¯W)−H(Zk,Dk,X|¯W,¯D~k) =H(Sk,Dk,¯S⊖¯D,¯D(np)(¯D,¯S)|¯W) −H(Sk,Dk,¯S⊖¯D,¯D(np)(¯D,¯S)|¯W,¯D~k) (16) =H(Sk,Dk,¯S⊖¯D|¯W) −H(Sk,Dk,¯S⊖¯D|¯W,¯D~k) (17) =H(Sk,Dk,¯S⊖¯D)−H(Sk,Dk,¯S⊖¯D|¯D~k) (18) =H(Sk,Dk,¯S⊖¯D)−H(Sk,Dk,¯S⊖¯D) (19) =0. (20)

Here (16) follows since , and also due to (14). In (17), we used that , and (18) follows since is independent of . We get (19) since is independent of for all . Using the fact that demands and files are independent, we get the following from (20)

 I(¯D~k;Zk,Dk,X,¯W) =I(¯D~k;¯W)+I(¯D~k;Zk,Dk,X|¯W) =0.

This shows the derived scheme satisfies the privacy condition .

The size of the cache in the -private scheme differs only by the size of the shared key from the -non-private scheme. For large enough file size , this difference is negligible. We can also observe that the rate of transmission in -private scheme is the same as that of the -non-private scheme. This proves Theorem 3.

We have the following corollary.

###### Corollary 1

If there exists an -non-private scheme, then there exists an -private scheme.

###### Proof.

As mentioned before, we have . So an -non-private scheme is also an -non-private scheme. Then, the corollary follows from Theorem 3. ∎

The converse proof of Theorem 4 uses the following lemma on some conditional distributions.

###### Lemma 1

Let for . Then any demand private scheme for satisfies the following for :

 (X,Z1,Wj|D1=j) ∼(X,Z1,Wj|D0=i,D1=j) ∼(X,Z1,Wj|D0=~i,D1=j) (21)

and

 (X,Z0,Wj|D0=j) ∼(X,Z0,Wj|D0=j,D1=i) ∼(X,Z0,Wj|D0=j,D1=~i). (22)
###### Proof.

We prove (21) for . Other cases follow similarly. Any -private scheme satisfies that . Since , we have that . Then it follows that

 Pr(D0=0|X=x,Z1=z′,W0=w0,D1=0) =Pr(D0=1|X=x,Z1=z′,W0=w0,D1=0).

Multiplying both sides by
gives

 Pr(D0=0,X=x,Z1=z′,W0=w0|D1=0) =Pr(D0=1,X=x,Z1=z′,W0=w0|D1=0).

Then it follows that

 Pr(D0=0|D1=0)× Pr(X=x,Z1=z′,W0=w0|D0=0,D1=0) =Pr(D0=1|D1=0)× Pr(X=x,Z1=z′,W0=w0,|D0=1,D1=0).

Since the demands are equally likely and they are independent of each other, we get

 Pr(X=x,Z1=z′,W0=w0|D0=0,D1=0) =Pr(X=x,Z1=z′,W0=w0,|D0=1,D1=0). (23)

Further, we also have

 Pr(X=x,Z