Secretive Coded Caching with Shared Caches
Abstract
We consider the problem of secretive coded caching in a shared cache setup where the number of users accessing a particular helper cache is more than one, and every user can access exactly one helper cache. In secretive coded caching, the constraint of perfect secrecy must be satisfied. It requires that the users should not gain, either from their caches or from the transmissions, any information about the content of the files that they did not request from the server. In order to accommodate the secrecy constraint, our problem setup requires, in addition to a helper cache, a dedicated user cache of minimum capacity of 1 unit to every user. This is where our formulation differs from the original work on shared caches (“Fundamental Limits of Coded Caching With Multiple Antennas, Shared Caches and Uncoded Prefetching” by E. Parrinello, A. Ünsal and P. Elia in Trans. Inf. Theory, 2020). In this work, we propose a secretively achievable coded caching scheme with shared caches under centralized placement. When our scheme is applied to the dedicated cache setting, it matches the scheme by Ravindrakumar et al. (“Private Coded Caching”, in Trans. Inf. Forensics and Security, 2018).
Index Terms:
Coded caching, secretive coded caching, shared caches.I Introduction
In wireless content delivery networks, caching helps in reducing the disparity in traffic load between peak and off-peak hours, by allowing end users to store parts of the library in their local caches. The seminal work by Maddah-Ali and Niesen in [1] established that congestion of the shared broadcast link can be reduced further by making coded transmissions that are useful to more than one user simultaneously. This system operates in two phases-placement phase and delivery phase. In the placement phase, the server fills the users’ caches with some fraction of all the files, without knowing their future demands. In the delivery phase, users reveal their file requests, and the server responds by sending coded multicast transmissions over the broadcast link such that, the users, from the transmissions and cache contents, can recover their requested files. The number of bits transmitted over the shared link, normalized by the file size, is known as the rate of the coded caching scheme. To reduce the load on the link, rate needs to be minimised. However, the placement and delivery as in [1] violates the secrecy constraint, as users get some information about all the files from their caches, even before they reveal their demands. In secretive coded caching, the two phases must be designed such that, users obtain no information about the files that they do not request.
Secretive coded caching problem was first studied in [2, 3] where the authors proposed an achievable coded caching scheme imposing the constraint of perfect secrecy, under both centralized and decentralized settings. Their general scheme was also secure against eavesdroppers, as in [4]. This problem was extended to the setup of Device-to-Device caching networks in [5] and to Combination networks in [6]. The authors in [7] considered secretive coded caching in a setting where at most out of the users are untrustworthy, and might collude among themselves. On setting the value of to unity, this scheme reduces to the original scheme in [3].
All the works cited above [2, 3, 5, 6, 7], consider a dedicated caching network, i.e., each user is privileged to access a cache, distinct from the remaining users in the network. However, to the best of our knowledge, in a shared cache setup, where multiple users are assisted by a single helper cache, secretive coded caching has not been studied so far. References [8] and [9] studied coded caching in this setting, without imposing the secrecy constraint, with uncoded and coded placement respectively. In [8], the authors formulate the worst case achievable rate (which they refer to as ‘delay’) and prove its optimality under uncoded placement through an index-coding-aided converse. They create multicasting opportunities in their delivery algorithm, by leveraging the content overlap between distinct caches, similar to that in [1]. In [9], the authors provide a scheme achieving lower worst-case delay than [8] by placing uncoded and coded sub-files in the helper caches, utilizing the knowledge of the user to cache association profile and optimising over the size of these sub-files to minimise rate.
Like any secretive coded caching problem, in our shared cache setup too, secrecy of content of files has to be preserved in two aspects: (i) caching, and (ii) transmission. To ensure no leakage of information via (i), we employ an appropriate secret-sharing scheme to encode the files before they are placed at the helper caches. By encoding the files this way, the cached contents alone reveal no information about the files to the users. For no information leakage via (ii), we securely deliver each multicast message so that, only the users who benefit from the transmission can decode it. This is done by XOR’ing each message with a unique key. This necessitates that the key used for encoding each multicast message serving a group of users is made privately available to the user caches of this group. Otherwise, any user associated to a given cache, can recover the files requested by the other users connected to the same cache, resulting in a breach of the secrecy constraint. We outline the contributions of this letter below:
-
•
We provide a secretively achievable coded caching scheme for a caching system with shared caches.
-
•
When our scheme is applied to the dedicated caches setup, we show that the secretively achievable rate-memory pair as obtained in [3] is recovered.
II Problem Setup
The system model is illustrated in Fig. 1. The server has a library of files, denoted by }, of size bits each. There are users in the system, and the number of files in the library exceeds the number of users, i.e., . The users are assisted by helper caches, each with storage capacity of files. Further, user has a cache of normalized size .
Like the system model introduced in [8], the users are partitioned into groups, based on the cache they have access to. This is reflected by the user-to-cache association , where , is the ordered set of users accessing cache . The user in is denoted by . The user-association profile is given by the vector , with , where represents the number of users associated to the most populated helper cache. The most populated cache has the maximum number of users assigned to it. . Without loss of generality, we assume that caches are labelled in a non-increasing order of the number of users that access them, i.e., . Therefore, cache is accessed by number of users, cache is accessed by number of users, and so on. If not, we can simply relabel the caches to obtain this ordering. The system in our formulation operates in four phases:
-
a)
Helper Cache Placement Phase: The server, after encoding each file into shares populates the helper caches with these shares without knowing the user-to-cache association.
-
b)
User-to-Cache Assignment Phase: This occurs after the shares have been placed. Each user is assigned to a single helper cache and is communicated to the server.
-
c)
User Cache Placement Phase: Once the user-to-cache association is conveyed, the server privately places unique keys in the user caches.
-
d)
Delivery Phase: Each user requests for a single file from the library. In response, the server broadcasts coded multicast messages over the shared link so as to satisfy the users’ demands, and ensuring that the users gain no information about the content of the files they did not request.
To summarize, the system model considered in this paper differs from the one in [8] in the following aspects:
-
•
User has a dedicated cache of size to store keys.
-
•
There is an additional phase for placing these keys in the user caches.

The content in the helper and user cache, comprising the shares and keys, that user has access to is denoted by , . In the delivery phase, each user requests for a unique file. Users convey their requests to the server in the form of a demand vector , which represents that user has requested . We assume and the worst case demand vector, i.e., . Let, for a profile , denote the transmitted message vector corresponding to the demand . Given this setting, the perfect secrecy constraint has to be met by all the users. By the definition in [3], for perfect secrecy, information leakage must be , i.e.,
(1) |
where is the mutual information, and is the set of all files except the one requested by user . The maximum load on the shared link of a shared cache system with profile , under the constraint of is given by the effective number of files that the server broadcasts in the delivery phase to meet the users’ demands when they are all distinct. This is quantified by the number of bits transmitted by the server, normalised by file size, for worst case demand vector and is known as the secretively achievable rate , expressed in units of files.
III Proposed Scheme
Before describing the general scheme, we see an example.
Example 1: Consider a network with , and file size of bits. , ; hence . The server selects randomly and uniformly from the Galois field . In the helper-cache placement phase, the server places, , in cache 1 and in cache 2. The server also selects two random keys and uniformly from . In the user cache placement phase, the server privately places in user caches 1 and 3, in user cache 2. In the delivery phase, let . The server transmits and . User 1 can decode but obtains no information about and . This holds for users 2 and 3 as well. The rate is thus units.
We now describe the general coded caching scheme and derive the secretively achievable rate for memory points where is the caching parameter. The rate corresponding to non-integer values of are achievable through memory sharing. The steps involved are as follows:
III-A When
III-A1 File encoding
The first step is to encode each file in the library using a non- perfect secret sharing scheme [11]. To do this, the file is split into equal-sized sub-files. The size of each sub-file is , and the sub-files of is denoted by the column vector . Further, encryption keys each of length are generated uniformly and independent of the files from . They are denoted by the column vector . The idea is to concatenate , below and multiply the resulting -length vector, with a Cauchy matrix, as presented in [7]. The share vector is given by:
(2) |
where is a -Cauchy matrix over with as described in [7]. A Cauchy matrix has the property that all its sub-matrices have full rank. This ensures that no information about gets revealed by any subset of or less elements of . Now, consider the collection of sets , where represents the indices of helper caches in which is placed. These subsets are arranged in lexicographic order, thus establishing a one-to-one mapping, . Assign where . Then, the following equations are satisfied:
-
(i)
-
(ii)
(i) implies that, given all the shares, a file can be completely recovered. (ii) implies that any collection of shares of a given file reveal no information about that file.
III-A2 Placement of shares
The helper caches are filled with these shares over a private link between the caches and the server. Similar to the idea of placing a sub-file in a cache, as in [1], [8], a share is placed in a cache, if the cache index . Precisely, the following content is cached in cache :
The memory occupied at each helper cache is therefore, bits. Thus, .
III-A3 User to cache assignment
After the caches are filled, the user to cache association is revealed to the server in the user to cache assignment phase. This knowledge is used by the server to design the subsequent steps 4)-5).
III-A4 Placement of keys
At this stage, the server knows , and hence derives the profile . It generates unique keys, uniformly from and independent of the files and shares. As indicated earlier, each multicast message is XOR’ed with a key. Hence, the group of users getting served by this multicast transmission needs to store this key privately. Note that, to take advantage of the overlap in shares placed at the helper caches, all users connected to different helper caches should be served in a given round of transmission [8]. To achieve this, are served in the first round; are served in the second round, where and so on. This way, there are rounds, and the set of users getting served in round is . Consider the set . For each and , determine:
(3) |
Due to the non-uniformity in , more than one may yield the same (see Example 2) in a given round. Let denote the number of times that appears. The server delivers a unique multicast message for every occurrence of , each XOR’ed with a unique key. This key is denoted by , where . For simplicity of notation, we omit the superscript from if . This gives:
To ensure decodability, the memory occupied by the keys in a user cache should be equal to the number of missing shares that the user needs to reconstruct the requested file. This is equal to messages, each message being of bits. Hence, the memory of atleast bits or 1 file is needed at every user cache to guarantee secrecy requirement.
III-A5 Transmission of messages
Having received the demand vector , the server transmits in rounds. Each round can be viewed as a dedicated caching network [1] with users and caching parameter . Hence the transmission scheme involves creating subsets of caches, each corresponding to a multicast message. For each , we create the set of users as defined in (3). However, in round , only users in are involved, hence some of the are empty. No transmission occurs if . If is non-empty, then it corresponds to a transmission formed by XOR’ing the shares and the unique key, shared by the users in which is:
(4) |
Therefore, combining all rounds, the overall transmitted message vector for profile is
(5) |
III-B When
In this case, the helper caches do not prefetch any content, and the user to cache assignment phase is not required. The server randomly generates unique keys, each having the size of a file. We denote the keys as and store at user cache . Once the demands are revealed, the requested files are simply transmitted by XOR’ing each file with the key corresponding to the user who demanded it. Thus, . The worst case secretively achievable rate for , is given by , for all .
III-C Calculation of Rate
From Section III-A5, note that the server omits the transmissions corresponding to empty , which for round are . Thus, the effective number of transmissions is:
(6) |
each of which is the size of a share bits. On summing over all the rounds, and normalizing by the file size bits, the secretively achievable rate is:
(7) |
where is obtained on performing the steps in (91), Appendix-G of [8].
Example 2:
Consider a network with , and ; ; , , , . Hence, .
Placement: The files are each encoded using a non-perfect secret sharing scheme to generate shares , with size of file size. The shares and keys accessible to the users are:
Delivery: Let the demand vector . Since, , there are three rounds of transmission. The multicast messages are listed in Table I wherein refers to the round of transmission.
![[Uncaptioned image]](https://cdn.awesomepapers.org/papers/49859863-41e3-4867-bfc8-ae429e4d4fec/x2.png)
Using these transmissions, the demands of all the users are satisfied. Since each transmission comprises bits, the secretively achievable rate is units.
III-D Proof of Correctness
Each transmitted message serves the users in the corresponding set who have the key . As a result, they can recover a linear combination of shares after XOR’ing the received message with the key. In this linear combination, except the missing share of the requested file, all other shares are available to the user via the helper cache. On receiving such distinct transmissions, the user can obtain the missing shares. The reconstruction of the requested file (secret) is possible because all the shares are now available to the user and the Cauchy matrix is invertible.
III-E Proof of Secrecy
By the structure of the secret-sharing encoding, the users obtain no information about the files from the helper caches. Furthermore, the unique keys stored are also independent of the files. Thus, there is no information leakage from the caches. For each transmission, the users who do not have the key, cannot decipher the message. Therefore, users connected to a given helper cache, cannot eavesdrop on the messages meant for their neighbour connected to the same helper cache. Thus, (1) is satisfied.
IV Main Results
Theorem 1
In the - user shared link broadcast channel with helper caches and user caches, of normalized size and respectively, with the following rate is secretively achievable within a profile :
(8) |
For general , the lower convex envelope of these points is secretively achievable, through memory sharing.
Proof:
Remark 1
User cache size of unit is sufficient for the feasibility of our scheme. If , the remaining memory stays unoccupied, and the scheme continues to work. If , the keys required by user cannot be stored and the multicast messages useful to the user cannot be decoded. To ensure decodability without storing the keys, the messages need to be transmitted without XOR’ing them with keys, which violates (1). As long as all user caches have , our scheme continues to work.
In the context of secretive (non-secretive) coded caching, the caching parameter, indicates the number of helper caches in which a given share (sub-file) is placed. Fig. 2 depicts the rate vs plots for shared cache setting with and without secrecy imposed. The secretively achievable rate is higher than the non-secretively achievable rate except when . This is because, the former involves shares, instead of sub-files in the placement and delivery phases. The shares consume larger number of bits compared to sub-files due to the randomness introduced in the form of encryption keys.

Remark 2
Proof:
The proof of the second part of the remark is as follows. In the general achievable scheme presented in [3], the secretively achievable rate is given by:
(10) |
In a shared cache system, when the profile is , each user has a distinct helper cache of size units and the size of the user cache occupied by keys as unit. This is equivalent to a dedicated cache network where each user has access to a local cache of units. Hence, obtained by substituting in (9) matches the secretively achievable rate obtained by setting in (10). ∎
Remark 3
When all the users are connected to the same cache, meaning , then the secretively achievable rate is always , irrespective of the helper cache size. Hence, the purpose of caching is defeated.
Remark 4
The secretively achievable scheme exhibits minimum transmission rate for uniform profile, i.e., when . As illustrated in Fig. 3, the rate with is lower than any non-uniform profile.
Proof:
The proof follows directly from Corollary 1 of [8].

∎
Intuitively, the total number of missing shares is the same irrespective of . But, the number of users served in a single transmission with is always , where is the number of helper caches in which a given share is placed. This way, the uniform profile exploits full multicasting gain, thus requiring minimum number of transmissions.
V Conclusion
In this letter, we proposed a secretively achievable coded caching scheme with shared caches, and showed that when our scheme is applied to the dedicated cache network, the general achievable scheme presented in [3] is recovered. In our solution, we indicated that the users associated to the same cache act as potential eavesdroppers, thus violating the secrecy. Therefore, we secure each message in the delivery phase with a unique key. The secretively achievable rate varies with the user association profile , and is minimum in the case of uniform profile . However, testing the optimality of our scheme remains open. Finding an information theoretic lower bound on the optimal rate is an interesting direction to pursue.
References
- [1] M. A. Maddah-Ali and U. Niesen, “Fundamental limits of caching,” IEEE Trans. Inf. Theory, vol. 60, no. 5, pp. 2856–2867, May 2014.
- [2] V. Ravindrakumar, P. Panda, N. Karamchandani, and V. Prabhakaran, “Fundamental limits of secretive coded caching,” in Proc. IEEE Int. Symp. Inf. Theory, Barcelona, Spain, July 2016, pp. 425–429.
- [3] V. Ravindrakumar, P. Panda, N. Karamchandani, and V. M Prabhakaran, “Private coded caching,” IEEE Trans. Inf. Forensics Security, vol. 13, no. 3, pp. 685–694, Mar. 2018.
- [4] A. Sengupta, R. Tandon, T. C. Clancy, “Fundamental limits of caching with secure delivery,” IEEE Trans. Inf. Forensics Security, vol. 10, no. 2, pp. 355–370, Feb. 2015.
- [5] A. A. Zewail and A. Yener, “Device-to-device secure coded caching,” IEEE Trans. Inf. Forensics Security, vol. 15, pp. 1513–1524, 2020.
- [6] ——, “Combination networks with or without secrecy constraints: the impact of caching relays,” IEEE J. Sel. Areas Commun., vol. 36, no. 6, pp. 1140–1152, June 2018.
- [7] K. Ma and S. Shao, “Secure coded caching with colluding users,” Oct. 2019, arXiv:1910.08268[cs.IT]. [Online]. Available: https://arxiv.org/abs/1910.08268
- [8] E. Parrinello, A. Ünsal and P. Elia, “Fundamental limits of coded caching with multiple antennas, shared caches and uncoded prefetching,” IEEE Trans. Inf. Theory, vol. 66, no. 4, pp. 2252–2268, April 2020.
- [9] A. M. Ibrahim, A. A. Zewail and A. Yener, “Coded placement for systems with shared caches,” in Proc. IEEE Int. Conf. Commun., Shanghai, China, May 2019, pp. 1–6.
- [10] R. Cramer, I. Damgård, and J. Nielsen, Secure multiparty computation and secret sharing, Cambridge University Press, 2015.
- [11] O. Farràs, T. B. Hansen, T. Kaced and C. Padró, “On the information ratio of non-perfect secret sharing Schemes,”, Algorithmica, vol. 79, pp. 987–1013, 2016.