1

t-Private Information Retrieval Schemes Using
Transitive Codes
Ragnar Freij-Hollanti, Oliver W. Gnilke, Camilla Hollanti, Member, IEEE,

arXiv:1712.02850v1 [cs.IT] 7 Dec 2017

Anna-Lena Horlemann-Trautmann, David Karpuk, Ivo Kubjas

Abstract
This paper presents private information retrieval (PIR) schemes for coded storage with colluding
servers, which are not restricted to maximum distance separable (MDS) codes. PIR schemes for general
linear codes are constructed and the resulting PIR rate is calculated explicitly. It is shown that codes with
transitive automorphism groups yield the highest possible rates obtainable with the proposed scheme.
This rate coincides with the known asymptotic PIR capacity for MDS-coded storage systems without
collusion. While many PIR schemes in the literature require field sizes that grow with the number of
servers and files in the system, we focus especially on the case of a binary base field, for which ReedMuller codes serve as an important and explicit class of examples.

I. I NTRODUCTION
Private information retrieval (PIR) seeks to retrieve data from a database without disclosing information
about the identity of the data items retrieved, and was introduced by Chor et al. in [1], [2]. The classic
PIR model of [2] views the database as an m-bit binary string x = (x1 , . . . , xm ) ∈ {0, 1}m , and assumes
that the user wants to retrieve a single bit xi without revealing any information about the index i. The
Ragnar Freij-Hollanti is at the Technical University of Munich, Munich, Germany. Email: ragnar.freij@tum.de
Oliver Gnilke and Camilla Hollanti are at Aalto University, Helsinki, Finland. Hollanti is also affiliated with the Technical
University of Munich via a Hans Fischer Fellowship. Emails: {oliver.gnilke, camilla.hollanti}@aalto.fi
Anna-Lena Horlemann-Trautmann is at the University of St. Gallen, St. Gallen, Switzerland. Email: annalena.horlemann@unisg.ch
David Karpuk is at Universidad de los Andes, Bogotá, Colombia. Email: da.karpuk@uniandes.edu.co
Ivo Kubjas is at the University of Tartu, Tartu, Estonia. Email: ivokub@ut.ee
This work is supported in part by the Academy of Finland, under grants #276031, #282938, and #303819, and by the
Technical University of Munich – Institute for Advanced Study, funded by the German Excellence Initiative and the European
Union Seventh Framework Programme under grant agreement #291763.

December 11, 2017

DRAFT

2

PIR rate, or simply rate, of a PIR scheme is measured as the ratio of the gained information over the
downloaded information, while upload costs of the requests are usually ignored. The trivial solution of
downloading the entire database is the only way to guarantee information-theoretic privacy in the case of
a single server [2], but replicating the database onto k servers that do not communicate can significantly
increase the rate, as in [2], [3], [4] and the references therein.
Shah et al. recently introduced a model of PIR for coded data [5], [6]. Here, all files are distributed
over the servers according to a storage code. It is shown in [6] that for a suitably constructed storage code,
privacy can be guaranteed by downloading a single bit more than the size of the desired file. However,
this requires exponentially many servers in terms of the number of files. Blackburn et al. achieved the
same low download complexity with a linear number of servers [7], but this is still far from applicable
storage systems where the number of files tends to dwarf the number of servers.
Modern distributed storage systems require communication between servers to recover data in the case
of node failure. As such, it is natural in a PIR scheme to allow the servers to collude, that is, to assume
the servers inform each other of their interaction with the user. Explicit PIR schemes for coded storage
and colluding servers were previously considered in [8], [9], and [10].
The maximum possible rate, or capacity of a PIR scheme for a replicated storage system was derived
in [11] without collusion and in [12] with collusion. The corresponding PIR capacity of an MDS-coded
storage system was given in [13], in the case of no colluding servers. The PIR capacity of MDS-coded
storage systems with colluding servers is only known for some particular sets of parameters [14]. In [15]
PIR from non-MDS coded non-colluding storage systems is considered and in some examples a PIR rate
equal to that of MDS coded systems of the same code rate is achieved. To the best of our knowledge,
PIR capacity expressions for non-MDS coded storage have not been discussed in the literature.
A. Contributions and Related Work
While explicit PIR schemes which achieve capacity are constructed in [11], [12], and [13], they require
the base field to be large. If n is the number of servers and M is the number of files, the capacity-achieving
schemes of [12] require a field size of q = O(nM ), since they rely on the existence of MDS codes of high
lengths. Realistic storage systems, however, may operate over fields of small size to keep the complexity
of the involved operations manageable. One would naturally then like to construct explicit PIR schemes
over small base fields.
In this work we construct PIR schemes based on general linear codes, and concentrate in particular
on binary Reed–Muller (RM) codes. The schemes described in [9] employed Generalized Reed-Solomon
(GRS) codes, and the resulting analysis of the achievable rate relied on the star product C ⋆ D of two

December 11, 2017

DRAFT

3

GRS codes C and D again being a GRS code. The class of RM codes is closed under the star product
operation as well, and thus naturally lends itself to be employed using the PIR scheme of [9]. However,
RM codes have the advantage of being defined over the binary field F2 . When comparing GRS and RM
codes of equal length and dimension, it is shown here that the same PIR rates as with GRS codes can
be achieved in the non-colluding case. For a fixed PIR rate, however, RM codes provide less protection
against collusion due to their lower minimum distance. Nevertheless, it is shown that the t-PIR RM
schemes presented here still provide protection against a substantial fraction of colluding sets of sizes
slightly bigger than t.
In more detail, the main contributions of this paper are:
•

Given an arbitrary storage code C and retrieval code D , we construct a PIR scheme with rate
(dC⋆D − 1)/n which protects against (dD⊥ − 1)-collusion, where n is the length of C and D (and

equal to the number of servers in the system).
•

For some classes of C and D , and in particular when C and C ⋆ D have transitive automorphism
groups, we improve the above construction to one which achieves a PIR rate of dim(C ⋆ D)⊥ /n, the
maximum possible for the presented scheme. This also coincides with the asymptotic PIR capacity
in the MDS-coded non-colluding case (in which D is the repetition code).

•

We apply our construction to the case when C and D are binary Reed–Muller codes, resulting in a
large class of PIR schemes defined over F2 for coded storage systems with colluding servers.

•

As a corollary of these results, we also improve on the PIR rates of some of the distributed storage
systems studied in [15].

RM codes have previously been considered for PIR in other settings [16]. There, the system model is
different from the present paper, in that the coding is between different files and the primary goal is to
minimize storage overhead for a given PIR scheme, along the same lines as in [17]. In our work, coding
is between different blocks of the same file, and the goal is to minimize the download overhead for fixed
storage codes.
B. Paper Organization
The rest of this paper is organized as follows. In Section I-C, we introduce the standard system model
of PIR for coded storage, including the notion of server collusion. Sections II-A and II-B recall the
star product scheme from [9], and it is shown that we can always achieve a PIR rate of (dC⋆D − 1)/n
while protecting against (dD⊥ − 1)-collusion, for any linear codes C and D . In Section II-C, we increase
the rate of our star product schemes via a careful study of the combinatorics of information sets of the
storage and retrieval codes. As a corollary of this, we reproduce and improve upon results of [15] for

December 11, 2017

DRAFT

4

some specific storage codes. In Section II-D, we show that when the codes C and C ⋆ D have transitive
automorphism groups, then the PIR rate can be further increased from (dC⋆D − 1)/n to dim(C ⋆ D)⊥ /n.
Section III instantiates our results in the case when the storage and retrieval codes are both binary Reed
Muller codes. For such codes, explicit trade-offs between storage rate and PIR rate are derived. Section
IV concludes the paper.
C. Introduction to Private Information Retrieval from Coded Storage
Let us describe the distributed storage systems we consider; this setup follows that of [8], [9], [13].
To provide clear and concise notation, we have consistently used superscripts to refer to files or parts of
files, superscripts in parenthesis to refer to iterations of an algorithm, subscripts to refer to servers, and
[w](γ)

parenthetical indices for entries of a vector. Hence, for example, the query qj

is sent to the j th server

in the γ th iteration when downloading file w. In general, we distinguish the file we wish to download
from an arbitrary file in the system by using x[w] for the former, and xi for the latter. We denote by F
an arbitrary finite field, of unspecified size except when explicitly stated.
Suppose we have files x1 , . . . , xM ∈ Fb×k . The considered data storage scheme proceeds by arranging
the files into a bM × k matrix


x1
 
 . 
X =  ..  .
 
xM


(1)

Each file xi is encoded using a linear [n, k, dC ]q -code C having generator matrix GC , into an encoded
file y i = xi GC ∈ Fb×n . In matrix form, we encode the matrix X into a matrix Y by right-multiplying
by GC :


y1
  h
 . 
Y = XGC =  ..  = y1 · · ·
 
yM


i
yn .

(2)

The j th column yj ∈ FbM ×1 of the matrix Y is stored by the j th server. Such a storage system can
tolerate up to any dC − 1 servers failing. If C is an MDS code, the resulting distributed storage system
is maximally robust against server failure.
The following defines precisely what we mean by a PIR scheme; for simplicity we have limited
ourselves to simple linear schemes, which suffices to describe all the schemes constructed in this paper.
For convenience, we use the notation [n] = {1, . . . , n} for any positive integer n throughout the paper.
Definition 1. [9, Definition 4] Suppose we have a distributed storage system Y = XGC as above, where
M files are stored across n servers. A PIR scheme for such a storage system consists of:

December 11, 2017

DRAFT

5

1. For each file index w, a probability space (Q[w] , µ[w] ) of queries. When the user wishes to download
x[w] ∈ Fb×k , a query q [w] ∈ Q[w] is selected randomly according to the probability measure µ[w].


[w]
[w]
[w]
Each q [w] is itself a tuple q [w] = q1 , . . . , qn , where qj ∈ F1×bM is sent to the j th server.
[w]

[w]

2. Responses rj = qj · yj ∈ F which the servers compute and transmit to the user. We set r [w] =


[w]
[w]
to be the total response vector.
r1 , . . . , rn

3. An iteration process, which repeats Steps 1 and 2 a total of s times until the desired file x[w] can
be reconstructed from the s responses r [w].

4. A reconstruction function which takes as input all of the total response vectors r [w] ∈ Fn over all
s iterations of the scheme, and outputs the desired file x[w] .

Definition 2. [9, Definition 5] The PIR rate of a PIR scheme is defined to be

bk
ns .

In the above, we view b and s as parameters that we are free to vary to enable the user to download
exactly one file; see Theorem 1 below and the following discussion.
Definition 3. We call a set T ⊆ [n] a colluding set if it is possible for the servers indexed by T to share
their quaries in an attempt to deduce the index of the requested file. A PIR scheme protects against the
colluding set T = {j1 , . . . , jt } ⊆ [n] if we have
[w]

I(QT ; w) = 0
[w]

[w]

(3)
[w]

where QT denotes the joint distribution of all tuples {qj1 , . . . , qjt } of queries sent to the servers in
T over all s iterations of the PIR scheme, and I(· ; ·) denotes the mutual information of two random

variables. In other words, there exists a probability distribution (QT , µT ) such that, for all w ∈ [M ], the
projection of (Q[w] , µ[w] ) to the coordinates in T is (QT , µT ).
If a PIR scheme protects against all colluding sets T of size ≤ t, we say it protects against t-collusion.
Stated somewhat less formally, if a PIR scheme protects against the colluding set T , the servers in
T will not learn anything about the index w of the file that is being requested, even after sharing their

quaries with each other.
For the rest of this paper we exclusively consider linear schemes that use uniform distributions on the
query spaces, as in the following fundamental example.
Example 1. Let n = 2 servers each store a copy of a database x consisting of M files xi ∈ F. To retrieve
the wth file the user chooses uniformly at random an element u ∈ FM and constructs the queries as
[w]

[w]

q [w] = (q1 , q2 ) = (u, u + ew ), where ew is the wth standard basis vector of length M . The space

of all queries therefore is given by Q[w] = {(u, v) : v − u = ew } and µ[w] is the uniform probability

December 11, 2017

DRAFT

6

[w]

measure on Q[w] . The responses rj

[w]

:= qj · x are calculated as the inner product of the database with
[w]

[w]

the quaries and reconstruction is achieved by subtraction of the responses, x[w] = r2 − r1 .
This scheme is secure against either server individually, as both projections of any query space Q[i]
onto a coordinate are identical to the complete ambient space Fn with uniform measure. It does not,
however, protect against 2-collusion, as the two servers can jointly observe the index i by computing the
difference of their query vectors.
II. A G ENERAL PIR S CHEME

FOR

C ODED DATA S TORED OVER C OLLUDING S ERVERS

In this section, we recall the star product scheme from [9], and prove that we can always achieve a
PIR rate of (dC⋆D − 1)/n while protecting against (dD⊥ − 1)-collusion, for arbitrary linear codes C and
D . We then proceed to show how the rate of our star product schemes can be increased by carefully

studying the combinatorics of information sets of the storage and retrieval codes. We also show that when
the codes C and C ⋆ D both have transitive automorphism groups, the PIR rate can be further increased
from (dC⋆D − 1)/n to dim(C ⋆ D)⊥ /n.
A. Background on Star Product PIR Schemes
In this section we briefly summarize the methods of [9], which construct explicit PIR schemes for
coded data which protect against t-collusion. The crucial ingredients are the storage code C ⊆ Fn ,
another linear code D ⊆ Fn used to construct the queries, and the star product C ⋆ D , the dual of which
is used for decoding. We denote by C ⊥ the dual code of C . Let us first recall the definition of the star
product (also called Schur or Hadamard product) of two codes.
Definition 4. Let C and D be linear codes of length n over F. We define their star product C ⋆ D to be
C ⋆ D = span{c ⋆ d | c ∈ C, d ∈ D} ⊆ Fn ,

where c ⋆ d is the star product of vectors, i.e., component-wise product of the vectors c and d. The star
product C ⋆ D is again a linear code of length n by definition.
Recall that an information set of an [n, k]-code is a subset of [n] of size k, corresponding to an
invertible submatrix of the generator matrix of the code. The main theorem of [9] is the following:
Theorem 1. [9] Let C ⊆ Fn be an [n, k, dC ] linear storage code and let D ⊆ Fn be a linear code such
that either (i) dC⋆D − 1 ≤ k, or (ii) there exists J ⊆ [n] of size dC⋆D − 1 such that every subset of J
of size k is an information set of C . Then there exists a linear PIR scheme for the distributed storage
system Y = XGC with rate (dC⋆D − 1)/n which protects against (dD⊥ − 1)-collusion.

December 11, 2017

DRAFT

7

Let us recall how one iteration of the scheme works in the simple case where each file consists of
b = 1 row, that is, xi ∈ F1×k . To privately retrieve a wanted file x[w] , for every file xi in the database a

codeword di is chosen uniformly at random from the code D ⊆ Fn . A vector e ∈ Fn \ D is then added
[w]

to dw . The query qj

∈ F1×M sent to the j th server is then
[w]

qj

= (d1 (j), . . . , dw (j) + e(j), . . . , dM (j))

and the servers respond with

 

[w]
[w]
r1 , . . . , rn[w] = q1 · y1 , . . . , qn[w] · yn ∈ C ⋆ D + C ⋆ e.


[w]
[w]
with the parity check
The support of e is chosen so that right-multiplying the vector r1 , . . . , rn

matrix of C ⋆ D reveals dC⋆D − 1 coordinates of y [w], coming from the C ⋆ e summand in the above

expression.
The scheme protects against (dD⊥ − 1)-collusion because every t = dD⊥ − 1 columns of the generator
matrix of D (which is a parity check matrix of D ⊥ ) are linearly independent, hence the joint distribution
of the queries at any t servers is the uniform distribution on (FM )t .
More generally, suppose we want to download a file x[w] ∈ Fb×k . We denote the encoded version by


[w]
[w]
[w]
with yj ∈ Fb×1 . Let D ⊆ Fn be a linear
x[w] GC = y [w] ∈ Fb×n , and we write y [w] = y1 , . . . , yn
code, and let

E = (e(1) , . . . , e(s) ) ∈ (Fb×n )s

be selected such that the composed map
φE

·G

·H

C
Fb×k −→
Fb×n −→ (Fn )s −→ (Fn−dim(C⋆D) )s

(4)

is injective, where H is a parity check matrix of C ⋆ D and φE is

(γ)

where ej

φE : Fb×n → (Fn )s



(γ)
[w]
[w]
:
1
≤
γ
≤
s
y [w] 7→ e1 · y1 , . . . , e(γ)
·
y
n
n

∈ F1×b denotes the j th row of e(γ) . The three maps in (4) should be interpreted as encoding,

receiving responses, and decoding, respectively.
The PIR scheme proceeds as follows:
1) Select M sb codewords independently and uniformly at random from D :
di(γ)β ∈ D, for 1 ≤ i ≤ M, 1 ≤ γ ≤ s, 1 ≤ β ≤ b.

2) For γ = 1, . . . , s, send the query
[w](γ)

qj

December 11, 2017

1(γ)

= (dj

w(γ)

, . . . , dj

(γ)

M (γ)

+ ej , . . . , dj

) ∈ F1×M b

DRAFT

8

i(γ)

to the j th server, where dj

is the row vector (di(γ)1 (j), . . . , di(γ)b (j)) ∈ F1×b consisting of all

of the j th entries of all of the vectors di(γ)β .
3) Project the responses

 

[w](γ)
[w](γ)
[w](γ)
· y1 , . . . , q1
· y1
r1
, . . . , rn[w](γ) = q1


(γ)
[w]
[w]
.
∈ C ⋆ D + e1 · y1 , . . . , e(γ)
n · yn
to (C ⋆ D)⊥ , via right-multiplying with the matrix H .

We refer to this as a (D, E)-retrieval scheme. By injectivity of (4), this scheme retrieves the file x[w]
(γ)

from ns queries. It protects against the colluding set T if eT ∈ DT for γ = 1, . . . s.
Example 2. Suppose that 1 ≤ t ≤ n − k. By choosing C and D to both be generalized Reed-Solomon
(GRS) codes with the same evaluation vector, the (D, E)-retrieval scheme of [9] can achieve a PIR rate
of

n−(k+t−1)
n

while protecting against t-collusion. See [9] for more details.

B. Star Product Schemes for Non-MDS Coded Data
To apply the above PIR scheme in our current setting, we need to generalize Theorem 1 by removing
the assumption on the set J , since such a set does not in general exist when C and D are not MDS
codes. To prove the general theorem, we will need the following lemma:
Lemma 1. An [n, k, dC ]-code C has at least ⌈dC /k⌉ disjoint information sets.
Proof. Start with an arbitrary information set S1 . We will construct disjoint information sets S1 , . . . , S⌈dC /k⌉ ,
each of size k, as follows. Inductively, for 1 ≤ i < dC /k, consider the code C projected to the complement
of S1 ∪ · · · ∪ Si . This projection has dimension k, since C can correct ik ≤ dC − 1 erasures. Thus, there
will be an information set in the remaining coordinates, which we choose as Si+1 .
We can now prove the following generalization of Theorem 1.
Theorem 2. Let C ⊆ Fn be an [n, k, dC ] linear storage code and let D ⊆ Fn be any linear code.
Then there exists a (D, E)-retrieval scheme for the distributed storage system Y = XGC with PIR rate
(dC⋆D − 1)/n which protects against (dD⊥ − 1)-collusion.

Proof. Let x[w] denote the file we wish to download. Set c := dC⋆D − 1 ≤ dC − 1. Let us first suppose
that c ≤ k. Choose an information set S ⊆ [n] of C ; after relabeling the storage nodes we may assume
S = {1, . . . , k}. Let the files be spread over b rows, i.e. xi ∈ Fb×k for all i, where b = lcm(c, k)/k. We

use s = lcm(c, k)/c iterations of the scheme on the information set S as follows. Let a = c/b. During

December 11, 2017

DRAFT

9

the γ th iteration of the PIR scheme, for each β ∈ [b] we download (by putting a 1 in the corresponding
[w]

[w]

(γ)

[w]

coordinate of ej ) the β th entry from each of the vectors ya(γ+β−2)+1 , ya(γ+β−2)+2 , . . . , ya(γ+β−1) , where
all indices are computed modulo k. One can check easily that after s iterations, we have downloaded k
unique symbols from each row of the encoded file, which suffices to reconstruct the desired file since S
is an information set. The resulting PIR rate is easily seen to be

bk
ns

= c/n, as desired. See Fig. 1 for an

illustration of which symbols are downloaded from y [w] during which iteration when c = 4 and k = 6.
[w] [w] [w] [w] [w] [w]

y1 y2 y3 y4 y5 y6



 1
3

1

2

2

3

3

3

1

1

2

2

···



··· 
···

Fig. 1. An illustration of the scheme in the case c = 4, k = 6. Each file consists of b = 2 rows and the scheme requires s = 3
iterations. During a single iteration, a = 2 symbols are downloaded from each row. An entry γ in position (β, j) in this matrix
means that in repetition γ of the PIR protocol the symbol in column/server j from the β th row is retrieved.

Now suppose that c ≥ k and write c = g · k + c̄ with 0 ≤ c̄ < k. If c̄ = 0, then since c = dC⋆D − 1 ≤
dC − 1, Lemma 1 guarantees that we can find g = c/k disjoint information sets S1 , . . . , Sg of C . In this

case we can download the full k information symbols from each of the c/k information sets, using a
different row of the file for each information set. Thus when c̄ = 0 the scheme is essentially complete;
each file xi ∈ Fb×k requires b = g rows and the scheme requires s = 1 iteration.
Lastly, suppose that 0 < c̄ < k. Again by Lemma 1 there exist g + 1 = ⌈c/k⌉ disjoint information sets
S1 , . . . , Sg+1 of C . Every iteration of the PIR scheme, we download k symbols from each of S1 , . . . , Sg

as in the previous paragraph, and an additional c̄ < k symbols from the last information set Sg+1 . Letting
b̄ = lcm(c̄, k)/k and s = lcm(c̄, k)/c̄ we download from Sg+1 as in the case c < k , using b̄ rows of the

desired file and s repetitions of the scheme. A file xi ∈ Fb×k now consists of b = g · s + b̄ rows, divided
into s rows for each information set S1 , . . . , Sg and b̄ for the last information set Sg+1 . This completes
the scheme construction. The PIR rate is clearly c/n.
Now consider a set T of size t = dD⊥ − 1. In each iteration, the query restricted to T is a uniformly
random element in Ft×bM , as the code D has full rank on T . Moreover, the sources of randomness
in different iterations of the scheme are independent. Thus, the queries that T observes throughout the
s
course of the PIR scheme are uniformly random on Ft×bM , and hence do not depend on the desired

file. This proves that the scheme protects against t-collusion.

Remark 1. The construction contained in the above proof essentially gives a method for extending an

December 11, 2017

DRAFT

10

incomplete PIR scheme which downloads dC⋆D − 1 ≤ dC − 1 encoded symbols, one from each of a set of
dC⋆D −1 servers, into a proper PIR scheme which can download a whole file with PIR rate (dC⋆D −1)/n.

C. Improving the PIR Rate of Star Product Schemes

The (D, E)-retrieval scheme of Theorem 2 essentially projects a vector fof weight ≤ dC⋆D − 1 onto
the space (C ⋆ D)⊥ , and takes advantage of the fact that any such vector can be recovered from this
(γ)

projection. However, if we choose the vectors ej

more carefully, we can in principle recover some

dim(C ⋆ D)⊥ ≥ dC⋆D − 1 coordinates of y [w] . Reed–Muller codes are in general not MDS, and hence

this inequality will usually be strict, allowing us to increase the PIR rate of our retrieval scheme.
The following generalization of our Theorem 2 allows us to increase the PIR rate of (D, E)-retrieval
schemes as described above, for certain choices of C and D . While the technical conditions to be checked
to invoke the theorem are somewhat cumbersome, they are stated this way to somewhat axiomatize an
approach to constructing many (D, E)-retrieval schemes with high rate.
Theorem 3. Consider an [n, k, dC ] linear storage code C and any length n linear code D . Assume that
there exist (not necessarily distinct) subsets S1 , . . . , Sb and J1 , . . . , Js of [n] such that:
(i) Sβ is an information set of C for β = 1, . . . , b.
(ii) Jγ is contained in an information set of (C ⋆ D)⊥ for γ = 1, . . . , s.
(iii) For each j ∈ [n] we have
#{β : j ∈ Sβ } = #{γ : j ∈ Jγ }.

(5)

Then there exists a (D, E)-retrieval scheme for the distributed storage system Y = XGC with PIR rate
bk
ns

which protects against (dD⊥ − 1)-collusion. In particular, if all the sets Jγ have the same cardinality

c, then the PIR rate is c/n.

Proof. Recall that a file x[w] we wish to download has dimension b × k. We will download the β th row
of x[w] via the information set Sβ for 1 ≤ β ≤ b, and in the γ th iteration, we will download one symbol
from each column in Jγ for 1 ≤ γ ≤ s.
′

Fix an iteration γ , and inductively, assume we have defined the matrices e(γ ) for all γ ′ < γ . For
(γ ′ )βj

j ∈ Jγ , let βj ∈ [b] be the smallest index such that j ∈ Sβj and ej

= 0 for all γ ′ < γ (note that βj

depends on γ ). Now define the n × b matrix
e(γ)



(γ)β
= ej
1≤j≤n
1≤β≤b

December 11, 2017

(γ)β

by ej


 1
=
 0

if j ∈ Jγ , β = βj
otherwise

DRAFT

11

(γ)β

By (5), for j ∈ [n] and β ∈ [b], there is some γ with ej
(γ)

ej

= 1 if and only if j ∈ Sβ . For j ∈ [n], let

∈ F1×b denote the j th row of e(γ) . If j ∈ Jγ , this is a standard basis vector with a 1 in the βjth

position, and if j 6∈ Jγ , this is the zero vector.


Recall that the encoded version of x[w] is denoted by x[w]GC = y [w] ∈ Fb×n , and we write y [w] =

[w]
[w]
[w]
with yj ∈ Fb . During the γ th iteration, the relevant part of the total response as in (3)
y1 , . . . , yn

is of the form



By construction, we have
(γ)

ej
[w]

(γ)

[w]

· yj

[w]

[w]

[w]
e1 · y1 , . . . , e(γ)
n · yn



(6)


 y [w](β ) j ∈ J
j
γ
j
=

0
j∈
6 Jγ

(7)

where yj (βj ) is the βjth entry of yj . The assumption that Jγ is contained in an information set of
[w]

(C ⋆ D)⊥ implies that we can recover all of the |Jγ | non-zero entries {yj (βj ) : j ∈ Jγ } of the vector

in (6) after right-multiplication by the parity-check matrix of C ⋆ D .
[w]

So in the γ th iteration, we download yj (βj ) for each j ∈ Jγ , and after all iterations we have
[w]

downloaded yj (β) for all j ∈ Sβ and all β ∈ [b]. Since Sβ is an information set of C , this allows us


[w]
[w]
to recover the preimage x1 (β), . . . , xk (β) ∈ F1×k , the β th row of x[w] , for all β . Thus, the chain
in (4) is injective, so E = (e(1) , . . . e(s) ) satisfies the criteria for the (D, E)-scheme to download the file
xw . The scheme is again easily seen to have rate

bk
ns

and protect against (dD⊥ − 1)-collusion.

One can easily deduce Theorem 2 as a corollary of Theorem 3 by setting c = dC⋆D −1 ≤ dC −1. Indeed,
by Lemma 1, the code C has at least b′ = ⌈c/k⌉ disjoint information sets S0 , . . . , Sb′ −1 . Let b = cb′ , and
let Sβ = Sβ (mod b′ ) for 0 ≤ β ≤ b − 1 (for notational convenience, in this argument we index rows and
iterations starting at 0). After relabeling the servers, we can assume that S0 ∪ · · · ∪ Sb′ −1 = {1, . . . , kb′ }.
Let s = kb′ , and for γ = 0, . . . , s − 1, let Jγ = {γ + 1, . . . , γ + c}, where in Jγ a server index j is to be
understood as j (mod s) + 1. Clearly, every element j ∈ [s] is in precisely c sets Sβ , and in precisely c
sets Jγ . As every set of size c < dC⋆D is contained in an information set of (C ⋆D)⊥ , Theorem 2 follows
immediately.
On the other hand, a fundamental upper bound on the download rate of a (D, E) PIR scheme is
dim(C ⋆ D)⊥ /n, as in each iteration we are downloading a projection to the space (C ⋆ D)⊥ . So for

every possible choice of C and D , the maximal possible download rate of a (D, E)-PIR scheme lies
between (dC⋆D −1)/n and dim(C ⋆D)⊥ /n. We will show in the coming sections that for a very significant
class of codes, including Reed–Muller codes, we can always download at rate dim(C ⋆ D)⊥ /n.

December 11, 2017

DRAFT

12

Corollary 1. With C and D as in Theorem 3, suppose there exists an information set S of C such that
every subset of S of size dim(C ⋆ D)⊥ is an information set of (C ⋆ D)⊥ . Then we can achieve a PIR
rate of dim(C ⋆ D)⊥ /n while protecting against (dD⊥ − 1)-collusion.
Proof. We take the collection J1 , . . . , Js to be all of the subsets of S of size c = dim(C ⋆ D)⊥ , so that


s = kc . It follows immediately that every j ∈ S is contained in exactly b = c kc /k of the subsets Jγ .

Now define the sets S1 , . . . , Sb by simply setting Sβ = S for all β , with 1 ≤ β ≤ b. The conditions of
Theorem 3 are clearly satisfied, hence the result.
In [15], the authors study PIR for storage codes C with code rate greater than 1/2, with no server

collusion. We can apply Corollary 1 to some of the example codes they study, to obtain PIR rates which
match or improve on the rates in [15].
Example 3. Let C be the [5, 3, 2]2 code C1 from [15], defined by the parity-check matrix


1 1 0 1 0

GC ⊥ = 
0 1 1 0 1

(8)

and let S = {1, 2, 3} be the systematic information set of C . Every 2-subset of S is clearly an information
set of C ⊥ , so Corollary 1 gives a PIR rate of 2/5, the same as obtained in [15]. Note that using Theorem
2, we would have only achieved a PIR rate of 1/5.
Similarly, let C be the [11, 6, 4]2 code C2 from [15], defined by the parity-check matrix
!
10000111100
GC ⊥ =

0
0
0
0

1
0
0
0

0
1
0
0

0
0
1
0

0
0
0
1

1
0
0
1

0
1
1
0

0
1
0
1

0
0
1
1

0
1
1
1

1
1
0
1

(9)

Using GC ⊥ , one checks that every 5-subset of the information set S = {1, 2, 3, 4, 6, 10} of C is an
information set of C ⊥ , yielding a PIR rate of 5/11. This improves on the PIR rate of 4/11 achieved in
[15] (itself an improvement over the PIR rate of (dC − 1)/n = 3/11 achieved by Theorem 2).
As the next example shows, the requirement that every subset of S is an information set of (C ⋆ D)⊥
is too strict, and sometimes we can achieve the same optimal rates by imposing less symmetry. The
following example illustrates this principle when D = Rep(n).
Example 4. Consider the code C3 of [15], the [12, 8, 4]11 Pyramid code from [18]. With a generator
matrix as in [18, Section 2.2], let S be the information set S = {1, . . . , 8} of C , and let J be the
information set J = {1, 2, 3, 5} of C ⊥ . Define the collection
J = {{1, 2, 3, 5}, {2, 3, 4, 6}, . . . , {8, 1, 2, 4}}

December 11, 2017

(10)

DRAFT

13

of all “cyclic shifts” of J within S . One can check that every element of J is an information set of C ⊥ .
An argument similar to the proof of Corollary 1 (we omit the details) shows that we can achieve a PIR
rate of 4/12 = dim(C ⊥ )/n, the same as obtained in [15].
Similarly, consider the code C = C4 of [15], a [16, 10, 5]16 locally repairable code from [19]. Defining
C via the generator matrix from [19, Equation (7)], one can compute that the information set S =
{1, . . . , 10} of C and the subset J = {1, . . . , 6} have the property that every cyclic shift of J within S

is an information set of C ⊥ . Again we achieve a PIR rate of 6/16 = dim(C ⊥ )/n, an improvement of
the rate of 5/16 obtained in [15] (itself an improvement over 4/16, the rate obtained using Theorem 2).
Note that in each of the four above example codes, we obtain a PIR rate of dim(C ⊥ )/n, the maximum
possible for a (Rep(n), E) retrieval scheme for the distributed storage system Y = XGC . In the next
section, we show that if C and C ⋆ D are transitive codes, we can always find a (D, E) retrieval scheme
which achieves the upper bound of dim(C ⋆ D)⊥ /n.
D. PIR Schemes from Transitive Codes
We denote the symmetric group of n elements by Sn . For c = (c1 , . . . cn ) ∈ Fn and σ ∈ Sn , define
σ(c) = (cσ(1) , . . . , cσ(n) ) ∈ Fn . This clearly defines a group action of Sn on Fn . If C is a linear code

and σ ∈ Sn is such that σ(c) ∈ C for every c ∈ C , then σ is said to be a permutation automorphism,
or simply automorphism, of C . The automorphisms of C form a subgroup Γ(C) ⊆ Sn . We note that
every σ ∈ Γ(C) maps information sets of C into information sets. Moreover, note that for any code C
we have Γ(C) = Γ(C ⊥ ). Recall that a subgroup G ⊆ Sn is transitive on [n] if, for every u, v ∈ [n],
there exists σ ∈ G with σ(u) = v .
Lemma 2. Let G and H be any two transitive subgroups of Sn , and let S and J be any two non-empty
subsets of [n]. Then there exist collections S = {Sβ } and J = {Jγ } of (not necessarily distinct) subsets
of [n], such that
(i) Sβ ∈ G · S (the orbit of G on S ) for all β ,
(ii) Jγ ∈ H · J for all γ , and
(iii) for all j ∈ [n] we have #{β : j ∈ Sβ } = #{γ : j ∈ Jγ }.
Proof. Since G is transitive the number of sets in the orbit G · S that contain a given element in [n] is
x=

|G||S|
n ,

and hence independent of the chosen element. Analogously each element appears in y =

|H||J|
n

sets of the orbit H · J . Let α, β be chosen such that lcm(x, y) = αx = βy , then we see that the collection
S containing α copies of the orbit G · S and the collection J containing β copies of the orbit H · J both

contain each element of [n] in exactly lcm(x, y) of their sets.

December 11, 2017

DRAFT

14

Theorem 4. Let C and D be codes of length n such that Γ(C) and Γ(C ⋆ D) are transitive on [n].
Then there is a (D, E)-retrieval scheme for the distributed storage system Y = XGC with PIR rate
dim(C ⋆ D)⊥ /n which protects against (dD⊥ − 1)-collusion.

Proof. We apply Lemma 2 with G = Γ(C), H = Γ((C ⋆ D)⊥ ), S an information set of C , and J
an information set of (C ⋆ D)⊥ . Let S and J be as in the lemma, and note that every Sβ ∈ S is an
information set of C , and every Jγ ∈ J is an information set of (C ⋆ D)⊥ . Thus, the collections of
information sets S and J satisfy the assumptions of Theorem 3. As each of the sets Jγ has cardinallity
dim(C ⋆ D)⊥ , it follows that the PIR rate of the scheme in Theorem 3 is dim(C ⋆ D)⊥ /n.

Note that when using Theorem 4 to construct a PIR scheme, the resulting number of rows per file and
iterations can be calculated with the notation of Lemma 2 as b = α|G| and s = β|H|, respectively.
III. R EED –M ULLER C ODES

FOR

PIR

A. Basic Definitions
In this subsection we define and give some well-known results on Reed–Muller codes. We note that
there are various ways to define Reed–Muller codes; for our purposes it is most convenient to view them
as evaluation codes from multivariate polynomials.
Definition 5. Let 0 ≤ r ≤ m be integers and let P1 , . . . , P2m be all the points of Fm
2 . Then the r -th
order Reed–Muller code of length n = 2m , denoted by RM (r, m), is defined as
n
o
RM (r, m) := (f (P1 ), . . . , f (Pn )) | f ∈ F2 [x1 , . . . , xm ], deg f ≤ r .
We need the following properties of Reed–Muller codes:
Lemma 3. [20, Ch. 13] Reed–Muller codes satisfy the following properties:

P
(i) RM (r, m) is a linear code of dimension k = ri=0 mi .
(ii) RM (r, m) has minimum distance 2m−r .

(iii) If 0 ≤ r < m, then the dual code of RM (r, m) is RM (m − r − 1, m).
To analyze the performance of a PIR scheme which uses Reed–Muller codes, we need to understand
the star product of two such codes. The following result is well-known, but for the sake of completeness
we provide a short proof.
Lemma 4. If r + r ′ ≤ m, then RM (r, m) ⋆ RM (r ′ , m) = RM (r + r ′ , m).

December 11, 2017

DRAFT

15

Proof. It is easy to see that RM (r, m) ⋆ RM (r ′ , m) consists of the evaluation vectors of all f ∈
F2 [x1 , . . . , xm ] having degree less than or equal to r + r ′ .
′

It follows from Lemma 3 that RM (r, m) ⋆ RM (r ′ , m) has minimum distance 2m−r−r and dimension
Pr+r′ m
i=0
i .
The number of minimal weight codewords of Reed–Muller codes is also known explicitly, and their

structural description will be useful when proving quantitative bounds on the amount of collusion that
our PIR schemes tolerate.
Lemma 5. [20, Ch. 13, Thm. 8] Let c ∈ RM (r, m) be a codeword of minimal weight. Then supp(c) ⊆ Fm
2
is an affine subspace of Fm
2 of dimension m − r .
The next corollary follows by a simple counting argument.
Corollary 2. [20, Ch. 13, Thm. 9] The number of minimum weight codewords in RM (r, m) is
Qm−r−1 m−i
(2
− 1)
r
i=0
2 Qm−r−1
.
m−r−i
(2
− 1)
i=0

B. Achievable PIR Rate with Reed–Muller Codes

We now choose C = RM (r, m) as storage code, so that n = 2m and k =

Pr

i=0

m
i



. The code D is

chosen to be RM (r ′ , m) with r + r ′ ≤ m, a code of the same length, but possibly different dimension.
Applying Lemma 4 and Theorem 2, we immediately obtain a (D, E) retrieval scheme for Y = XGC with
′

′

PIR rate (dC⋆D − 1)/n = (2m−(r+r ) − 1)/2m and which protects against dD⊥ − 1 = 2m−r − 1 collusion.
However, as the following example illustrates, this naı̈ve approach underestimates the achievable PIR
rates when C and D are Reed–Muller codes.
Example 5. We consider C = D = RM (1, 4) with generator matrix
!
1111111111111111
GC,D =

1
1
1
1

1
1
1
0

1
1
0
1

1
1
0
0

1
0
1
1

1
0
1
0

1
0
0
1

1
0
0
0

0
1
1
1

0
1
1
0

0
1
0
1

0
1
0
0

0
0
1
1

0
0
1
0

0
0
0
1

0
0
0
0

,

which is used to encode files xi ∈ F1×5
2 . We have C ⋆ D = RM (2, 4), which has parity-check matrix
HC⋆D = GC,D and minimum distance 24−2 = 4. Hence we can achieve a PIR rate of 3/16 and protect

against 3-collusion.
We can improve to a PIR rate of dim(C ⋆D)⊥ /n = 5/16 as follows. If we choose e to be any vector of
weight 5 whose support corresponds to an invertible submatrix of HC⋆D = GC,D , then we can download
all of x[w] . For example, if we choose e = (1110100010000000), then a simple computation reveals that
!
10000
(e ⋆ y [w] )HC⋆D = x[w]

December 11, 2017

0
0
0
0

0
1
1
1

1
0
1
1

1
1
0
1

1
1
1
0

(11)

DRAFT

16

from which we can recover the whole file x[w] ∈ F21×5 by the invertibility of the above 5 × 5 matrix.
The previous example generalizes to the following result, which illustrates that with Reed–Muller
codes, we can always achieve the upper bound dim(C ⋆ D)⊥ /n for (D, E) retrieval schemes.
Corollary 3. Let C = RM (r, m) and let 0 ≤ r ′ < m − r . Then there exists a (D, E)-retrieval scheme
for the distributed storage system Y = XGC with a PIR rate of
Pm−r−r′ m
i=0
i
,
2m

(12)

′

which protects against (2r +1 − 1)-collusion.
Proof. Let D = RM (r ′ , m), so that C ⋆ D = RM (r + r ′ , m). By Theorem 4, it is enough to show that
Γ(RM (r, m)) and Γ(RM (r + r ′ , m)) are transitive on the ground sets of the codes. Now note that the
m
ground set of RM (r, m) is Fm
2 , and affine transformations of F2 preserve the class of polynomials of
′
degree ≤ r . Thus, the affine transformations of Fm
2 are automorphisms of RM (r, m) and RM (r +r , m).

Since the affine transformations act transitvely on Fm
2 , so do the automorphism groups Γ(RM (r, m))
and Γ(RM (r + r ′ , m)). By Theorem 4, there is a (D, E)-retrieval scheme for the distributed storage
system Y = XGC with PIR rate dim(C ⋆ D)⊥ /n which protects against all colluding sets of size
′

dD⊥ − 1 = 2r +1 − 1. The result follows.

In Figure 2 we use Corollary 3 to plot the resulting PIR rates of systems in which both C and D
are Reed–Muller codes. In the left-hand plot, we see the asymptotic behavior of the PIR rate for storage
codes with code rate 1/2, as the number of servers increases. In the right-hand plot, we fix a system
with n = 64 servers and observe how the tradeoff between the storage code rate and the PIR rate varies
as we increase the amount of server collusion.
Example 6. Suppose that C = RM (0, 4) = Rep(16)2 , so that data is stored via a replication system
over n = 16 servers. Set D = RM (1, 4), which is a [16, 5, 8]2 -code. Then (C ⋆ D)⊥ = D ⊥ = RM (2, 4),
which is a [16, 11, 4]2 -code. The PIR scheme of Theorem 2 achieves a PIR rate of 7/16 and protects
against all colluding sets of size 21+1 −1 = 3. With the scheme of Corollary 3, we have a (D, E)-retrieval
scheme with PIR rate 11/16, which is a substantial improvement.
Remark 2. Using the scheme of [9] with C = Rep(16)q and D a [16, 3, 14]q -GRS code, one can protect
against 3-collusion while achieving a PIR rate of (n − t)/n = 13/16. If we on the other hand fix the
PIR rate to be 11/16 and compare the privacy properties of the schemes in [9] and the above example,
the scheme of [9] achieves this rate by keeping C = Rep(16)q and setting D to be a GRS code with

December 11, 2017

DRAFT

17

no collusion
3-collusion
7-collusion

no collusion
3-collusion
7-collusion
15-collusion
31-collusion

0.8

PIR rate

PIR rate

0.6

1

0.4

0.6
0.4

0.2
0.2
0

101

0

102
Length of code n

0

0.2

0.4
0.6
Code rate

0.8

1

Fig. 2. On the left, PIR rate for binary RM storage codes (solid) and GRS storage codes (dashed with corresponding color) of
fixed code rate 1/2. Note that the PIR rates agree in the case of no collusion. On the right, PIR rate versus storage code rate
for binary RM storage codes (solid) and GRS storage codes (dashed) of fixed length 64.

parameters [16, 5, 12]q . Then D ⊥ is GRS with parameters [16, 11, 6]q , and hence we protect against 5collusion. These improvements in either PIR rate or privacy require a field size of q ≥ 16, while the
Reed–Muller scheme is defined over F2 .
On a more general note, a binary PIR scheme can also be set up with a GRS code over F2h for some
integer h > 1, where every symbol from F2h is represented as an element in Fh2 . However, one can easily
check that the performance of these codes in terms of protection against colluding sets and PIR rate is
poor. For example, consider C = Rep(16)2 as above and D the binary expansion of an [4, 1, 4]-GRS
code over F4 , which is a [16, 4, 4]-code over F2 . This scheme has a PIR rate of 3/16 and only protects
against 1-collusion. The Reed–Muller PIR scheme which sets D = RM (1, 4) is clearly preferable to this
one.
Using Corollary 3 to construct PIR schemes for arbitrary Reed–Muller codes involves computing the
orbits of information sets of C and (C ⋆D)⊥ under the respective automorphism groups, and when applied
directly may result in schemes which demand large numbers of rows per file and iterations. However,
as the following example shows, one can sometimes achieve the same rates with arguments similar to
Corollary 1 and the subsequent examples.
Example 7. Consider a system with no server collusion and let C = RM (2, 4), which is defined by the
parity-check matrix
GC ⊥ =

1
0
0
0
0

0
1
0
0
0

0
0
1
0
0

1
1
1
0
0

0
0
0
1
0

1
1
0
1
0

1
0
1
1
0

0
1
1
1
0

0
0
0
0
1

1
1
0
0
1

1
0
1
0
1

0
1
1
0
1

1
0
0
1
1

0
1
0
1
1

0
0
1
1
1

1
1
1
1
1

!

.

(13)

By Corollary 3, we can achieve a PIR rate of 5/16 = dim(C ⊥ )/n, when setting b = |J||Aff(F42 )J|

December 11, 2017

DRAFT

18

and s = |S||Aff(F42 )S|, where S and J are information sets of C = RM (2, 4) and C ⊥ = RM (1, 4)
respectively, and Aff denotes the affine group. These information sets have size |S| = 11 and |J| = 5, and
straightforward calculations show that they are stabilized by subgroups of order 5! = 120 of Aff(F42 ),
which has order 322560. Thus, a naı̈ve application of Corollary 3 would require b = 5 · 322560/120 =
13440 blocks per file and s = 11 · 322560/120 = 29568 iterations.

Now, let S be the information set S = {1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 16} of C and consider the subset
J = {1, 2, 3, 5, 10}. Let J be the collection of all cyclic shifts of J within S . One checks using GC ⊥ that

every subset of J is an information set of C ⊥ . Hence we can achieve a PIR rate of 5/16 = dim(C ⊥ )/n,
when setting b = 5 and s = 11. This shows that a careful analysis of the information sets of the storage
and retrieval codes can significantly improve the practicality of our schemes.
C. Protection against t-Collusion
When t ≥ dD⊥ , the Reed–Muller PIR scheme does not protect against all t-colluding sets of servers.
However, for t ≈ dD⊥ , it does protect against “most” t-colluding sets in the following sense.
Proposition 1. Let D = RM (r, m), and let
d

D⊥

r+1

=2

≤t≤

r  
X
m
i=0

i

= dim(D).

Let T ⊆ Fm
2 be a set of |T | = t servers, chosen uniformly at random. Then the probability that the PIR
scheme does not protect against collusion in T is bounded from above by

Qr
2m −2r+1
m−i − 1)
t−2r+1
m−r−1 Q i=0 (2

2
.
m
r
2
r+1−i − 1)
i=0 (2
t
If t < 3 · 2r , then this bound is tight.

Proof. We fail to protect against a colluding set T if and only if dim(D|T ) < |T |. This latter condition
is equivalent to the existence of a codeword of D ⊥ whose support is contained in T .
Qr

(2m−i −1)

By Corollary 2, there are 2m−r−1 Qri=0(2r+1−i −1) minimal length codewords in D ⊥ . Each of these
i=0

m
−2r+1
minimal codewords has its support contained in exactly 2t−2
sets of size t, so there exist at most
r+1
Q

 m
r
2 − 2r+1 m−r−1 i=0 (2m−i − 1)
Qr
2
(14)
r+1−i − 1)
t − 2r+1
i=0 (2
t-sets that contain the support of some codeword in D ⊥ .

For the second statement, notice that by Lemma 5, the support of two minimum weight codewords of
r+1 −2r = 3·2r .
D ⊥ intersect in a flat of dimension at most r in Fm
2 . Thus, their union has size at least 2·2

As a consequence, if t < 3 · 2r , then the collections of non-protected sets corresponding to different
minimal codewords in D ⊥ are disjoint. Thus, the number of such sets is exactly given by (14).

December 11, 2017

DRAFT

19

Example 8. Continuing Example 6 wherein D = RM (1, 4), the 4-colluding sets T that we fail to protect
against are in bijection with minimal weight codewords of D ⊥ . By Corollary 2 there are 120 minimal
weight codewords of D ⊥ . Hence the Reed–Muller PIR scheme protects against collusion for
16
4


− 120

16−1
4

≈ 93.4%

(15)

of subsets of servers of size t = 4.

Similarly, there are 16
5 = 4368 subsets T of servers of size 5, of which 2688 satisfy dim(D|T ) = 5,

according to Proposition 1. It follows that the scheme protects against collusion for

2688
4368

≈ 61.5% of all

subsets of servers of size 5.
IV. C ONCLUSION
In this paper we have studied PIR schemes for coded storage systems with colluding servers. Given an
arbitrary storage code C and retrieval code D , we have constructed a PIR scheme with rate (dC⋆D − 1)/n
which protects against (dD⊥ − 1)-collusion, where n is the length of the codes as well as the number
of servers in the system. For some classes of C and D , in particular when C and C ⋆ D have transitive
automorphism groups, we have shown that we can improve our scheme to have rate dim(C ⋆ D)⊥ /n,
the maximum possible for the presented scheme. In particular, this applies when C and D are binary
Reed–Muller codes, resulting in a large class of PIR schemes defined over F2 for coded storage systems
with colluding servers. As a corollary of our results, we have improved on the PIR rates of some of the
distributed storage systems studied in [15]. The rate dim(C ⋆ D)⊥ /n also coincides with the asymptotic
PIR capacity in the non-colluding case (t = 1), the query code D then being a repetition code.
Future work will consist of studying other important classes of transitive codes, as well as quantifying
achievable PIR rates in terms of the automorphism groups of C and C ⋆ D . In this work we have focused
more on concrete constructions, but understanding the PIR capacity for various models when we limit
the field size is a question worth pursuing. Lastly, given a transitive code C , we plan on studying natural
conditions on another code D such that C ⋆ D is also transitive. This may help apply our results to other
meaningful classes of codes, such as general evaluation codes and locally repairable codes. Cyclic codes
provide an especially encouraging avenue of research, as they are transitive and the class of cyclic codes
is closed under the star product.
R EFERENCES
[1] B. Chor, O. Goldreich, E. Kushilevitz, and M. Sudan, “Private information retrieval,” in IEEE Annual Symposium on
Foundations of Computer Science, 1995, pp. 41–50.

December 11, 2017

DRAFT

20

[2] B. Chor, E. Kushilevitz, O. Goldreich, and M. Sudan, “Private information retrieval,” Journal of the ACM (JACM), vol. 45,
no. 6, pp. 965–981, 1998.
[3] K. Efremenko, “3-query locally repairable codes of subexponential length,” in ACM Symposium on the Theory of Computing,
2009, pp. 39–44.
[4] Z. Dvir and S. Gopi, “2-Server PIR with Sub-Polynomial Communication,” in ACM Symposium on Theory of Computing,
2015, pp. 577–584. [Online]. Available: http://doi.acm.org/10.1145/2746539.2746546
[5] N. B. Shah, K. V. Rashmi, K. Ramchandran, and P. V. Kumar, “Privacy-preserving and secure distributed storage codes,”
2012. [Online]. Available: http://people.eecs.berkeley.edu/∼ nihar/publications/privacy security.pdf
[6] N. B. Shah, K. V. Rashmi, and K. Ramchandran, “One extra bit of download ensures perfectly private information retrieval,”
in 2014 IEEE International Symposium on Information Theory, June 2014, pp. 856–890.
[7] S. R. Blackburn, T. Etzion, and M. B. Paterson, “PIR schemes with small download complexity and low storage
requirements,” in 2017 IEEE International Symposium on Information Theory (ISIT), June 2017, pp. 146–150.
[8] R. Tajeddine and S. El Rouayheb, “Private information retrieval from MDS coded data in distributed storage systems,” in
2016 IEEE International Symposium on Information Theory (ISIT), July 2016, pp. 1411–1415, see arXiv:1602.01458 for
an extended version.
[9] R. Freij-Hollanti, O. W. Gnilke, C. Hollanti, and D. A. Karpuk, “Private information retrieval from coded databases with
colluding servers,” SIAM Journal on Applied Algebra and Geometry, pp. 647–664, 2017.
[10] R. Tajeddine, O. W. Gnilke, D. Karpuk, R. Freij-Hollanti, C. Hollanti, and S. E. Rouayheb, “Private information retrieval
schemes for coded data with arbitrary collusion patterns,” in 2017 IEEE International Symposium on Information Theory
(ISIT), June 2017, pp. 1908–1912.
[11] H. Sun and S. A. Jafar, “The capacity of private information retrieval,” IEEE Transactions on Information Theory, vol. 63,
no. 7, pp. 4075–4088, July 2017.
[12] ——, “The capacity of robust private information retrieval with colluding databases,” IEEE Transactions on Information
Theory, 2017.
[13] K. Banawan and S. Ulukus, “The capacity of private information retrieval from coded databases,” 2016, arXiv: 1609.08138.
[14] H. Sun and S. A. Jafar, “Private information retrieval from MDS coded data with colluding servers: Settling a conjecture
by Freij-Hollanti et al,” in 2017 IEEE International Symposium on Information Theory (ISIT), June 2017, pp. 1893–1897.
[15] S. Kumar, E. Rosnes, and A. Graell i Amat, “Private information retrieval in distributed storage systems using an arbitrary
linear codes,” in 2017 IEEE International Symposium on Information Theory (ISIT), June 2017, pp. 1421–1425.
[16] M. Vajha, V. Ramkumar, and P. V. Kumar, “Binary, shortened projective Reed Muller codes for coded private information
retrieval,” in 2017 IEEE International Symposium on Information Theory (ISIT), 2017, pp. 2648–2652.
[17] A. Fazeli, A. Vardy, and E. Yaakobi, “Codes for distributed PIR with low storage overhead,” in 2015 IEEE International
Symposium on Information Theory (ISIT), June 2015, pp. 2852–2856.
[18] C. Huang, M. Chen, and J. Li, “Pyramid codes: Flexible schemes to trade space for access efficiency in reliable data
storage systems,” in IEEE International Symposium on Network Computing and Applications (NCA), 2007, pp. 79–86.
[19] M. Sathiamoorthy, M. Asteris, D. Papailiopoulos, A. G. Dimakis, R. Vadali, S. Chen, and D. Borthakur, “XORing elephants:
Novel erasure codes for big data,” in Proc. 39th Very Large Data Bases Endowment, 2013, pp. 325–336.
[20] F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes.

December 11, 2017

Amsterdam: North Holland, 1977.

DRAFT

