On the construction of PIR schemes
Julien Lavauzelle
IRMAR, Université de Rennes
Séminaire C2 25/01/2019
On the construction of PIR schemes Julien Lavauzelle IRMAR, - - PowerPoint PPT Presentation
On the construction of PIR schemes Julien Lavauzelle IRMAR, Universit de Rennes Sminaire C2 25/01/2019 Outline 1. Private information retrieval 2. PIR schemes for common storage systems Distributed storage systems A PIR scheme on
Séminaire C2 25/01/2019
1/28
Séminaire C2 – On the construction of PIR schemes –
1/28
Séminaire C2 – On the construction of PIR schemes –
2/28
Séminaire C2 – On the construction of PIR schemes –
2/28
Séminaire C2 – On the construction of PIR schemes –
3/28
Séminaire C2 – On the construction of PIR schemes –
3/28
Séminaire C2 – On the construction of PIR schemes –
3/28
Séminaire C2 – On the construction of PIR schemes –
3/28
Séminaire C2 – On the construction of PIR schemes –
4/28
Séminaire C2 – On the construction of PIR schemes –
4/28
Séminaire C2 – On the construction of PIR schemes –
◮ for IT-privacy, no better solution than full download, ◮ computational privacy is possible (but remains expensive as of now). 4/28
Séminaire C2 – On the construction of PIR schemes –
5/28
Séminaire C2 – On the construction of PIR schemes –
5/28
Séminaire C2 – On the construction of PIR schemes –
5/28
Séminaire C2 – On the construction of PIR schemes –
◮ |F| = M bits, with M = L2, and [1, M] ≃ [1, L]2. ◮ n = 4 servers S00, S01, S10, S11, each storing a replica of F. ◮ Goal: retrieve Fi = F(i1,i2), for 1 ≤ i1, i2 ≤ L.
6/28
Séminaire C2 – On the construction of PIR schemes –
◮ |F| = M bits, with M = L2, and [1, M] ≃ [1, L]2. ◮ n = 4 servers S00, S01, S10, S11, each storing a replica of F. ◮ Goal: retrieve Fi = F(i1,i2), for 1 ≤ i1, i2 ≤ L.
6/28
Séminaire C2 – On the construction of PIR schemes –
◮ |F| = M bits, with M = L2, and [1, M] ≃ [1, L]2. ◮ n = 4 servers S00, S01, S10, S11, each storing a replica of F. ◮ Goal: retrieve Fi = F(i1,i2), for 1 ≤ i1, i2 ≤ L.
6/28
Séminaire C2 – On the construction of PIR schemes –
◮ |F| = M bits, with M = L2, and [1, M] ≃ [1, L]2. ◮ n = 4 servers S00, S01, S10, S11, each storing a replica of F. ◮ Goal: retrieve Fi = F(i1,i2), for 1 ≤ i1, i2 ≤ L.
6/28
Séminaire C2 – On the construction of PIR schemes –
◮ |F| = M bits, with M = L2, and [1, M] ≃ [1, L]2. ◮ n = 4 servers S00, S01, S10, S11, each storing a replica of F. ◮ Goal: retrieve Fi = F(i1,i2), for 1 ≤ i1, i2 ≤ L.
6/28
Séminaire C2 – On the construction of PIR schemes –
◮ |F| = M bits, with M = L2, and [1, M] ≃ [1, L]2. ◮ n = 4 servers S00, S01, S10, S11, each storing a replica of F. ◮ Goal: retrieve Fi = F(i1,i2), for 1 ≤ i1, i2 ≤ L.
6/28
Séminaire C2 – On the construction of PIR schemes –
◮ |F| = M bits, with M = L2, and [1, M] ≃ [1, L]2. ◮ n = 4 servers S00, S01, S10, S11, each storing a replica of F. ◮ Goal: retrieve Fi = F(i1,i2), for 1 ≤ i1, i2 ≤ L.
z∈Z1×Z2 Fz and sends a to
6/28
Séminaire C2 – On the construction of PIR schemes –
◮ |F| = M bits, with M = L2, and [1, M] ≃ [1, L]2. ◮ n = 4 servers S00, S01, S10, S11, each storing a replica of F. ◮ Goal: retrieve Fi = F(i1,i2), for 1 ≤ i1, i2 ≤ L.
z∈Z1×Z2 Fz and sends a to
6/28
Séminaire C2 – On the construction of PIR schemes –
7/28
Séminaire C2 – On the construction of PIR schemes –
◮ Communication: 8√n uploaded bits, 4 downloaded bits, ◮ Storage: replication of F over 4 servers, ◮ Complexity:
◮ for each server: in average, XOR of (L/2)2 = M/4 bits ◮ for the user: XOR of n = 4 bits.
7/28
Séminaire C2 – On the construction of PIR schemes –
◮ Communication: 8√n uploaded bits, 4 downloaded bits, ◮ Storage: replication of F over 4 servers, ◮ Complexity:
◮ for each server: in average, XOR of (L/2)2 = M/4 bits ◮ for the user: XOR of n = 4 bits.
◮ Communication: b2bM1/b = n log(n)M1/log(n) uploaded bits, n
◮ Storage: replication of F over n servers, ◮ Complexity:
◮ for each server: in average, XOR of M/n bits ◮ for the user: XOR of n bits.
7/28
Séminaire C2 – On the construction of PIR schemes –
◮ PIR with 3 servers and subpolynomial communication [Yek08, Efr09] ◮ PIR with 2 servers and subpolynomial communication [DG16] ◮ lower storage overhead with PIR codes [FVY15]
◮ capacity of PIR [SJ17, BU18] ◮ (nearly) capacity-achieving schemes [SRR14, CHY15, TR16, ...] 8/28
Séminaire C2 – On the construction of PIR schemes –
8/28
Séminaire C2 – On the construction of PIR schemes –
8/28
Séminaire C2 – On the construction of PIR schemes –
◮ Before 2010: mostly replication or parity-check. ◮ 2010’s: MDS storage (e.g. [14, 10] Reed-Solomon code for Facebook). ◮ Recently: codes with locality (e.g. Hadoop Xorbas). 9/28
Séminaire C2 – On the construction of PIR schemes –
◮ Before 2010: mostly replication or parity-check. ◮ 2010’s: MDS storage (e.g. [14, 10] Reed-Solomon code for Facebook). ◮ Recently: codes with locality (e.g. Hadoop Xorbas).
9/28
Séminaire C2 – On the construction of PIR schemes –
q, pairwise distinct.
10/28
Séminaire C2 – On the construction of PIR schemes –
q, pairwise distinct.
◮ every codeword c ∈ C can be reconstructed from any k-subset of
◮ any subset of d⊥(C) − 1 = k coordinates of c are independent. 10/28
Séminaire C2 – On the construction of PIR schemes –
q, pairwise distinct.
◮ every codeword c ∈ C can be reconstructed from any k-subset of
◮ any subset of d⊥(C) − 1 = k coordinates of c are independent.
qs
10/28
Séminaire C2 – On the construction of PIR schemes –
q, pairwise distinct.
◮ every codeword c ∈ C can be reconstructed from any k-subset of
◮ any subset of d⊥(C) − 1 = k coordinates of c are independent.
qs
10/28
Séminaire C2 – On the construction of PIR schemes –
10/28
Séminaire C2 – On the construction of PIR schemes –
11/28
Séminaire C2 – On the construction of PIR schemes –
◮ Originally [TR16], then extended and reformulated [TGKFH18, TGR18]. ◮ Scalable. ◮ Optimal PIR rate for t = 1 and M → ∞. ◮ PIR rate conjectured optimal for M → ∞.
11/28
Séminaire C2 – On the construction of PIR schemes –
12/28
Séminaire C2 – On the construction of PIR schemes –
q the storage code, C ∈ CM the coded database
q a query code of dual distance d⊥(D) = t + 1
c1 ci “goal” cM J
12/28
Séminaire C2 – On the construction of PIR schemes –
q the storage code, C ∈ CM the coded database
q a query code of dual distance d⊥(D) = t + 1
c1 ci “goal” cM J
d1 di + 1J dM J
12/28
Séminaire C2 – On the construction of PIR schemes –
q the storage code, C ∈ CM the coded database
q a query code of dual distance d⊥(D) = t + 1
c1 ci “goal” cM J
d1 di + 1J dM J
12/28
Séminaire C2 – On the construction of PIR schemes –
q of Q,
c1[j] cM[j] q1[j] qM[j]
13/28
Séminaire C2 – On the construction of PIR schemes –
q of Q, and has to compute
c1[j] cM[j] q1[j] qM[j] c1[j]q1[j] + . . . + cM[j]qM[j]
rj
13/28
Séminaire C2 – On the construction of PIR schemes –
q of Q, and has to compute
c1[j] cM[j] q1[j] qM[j] c1[j]q1[j] + . . . + cM[j]qM[j]
rj
13/28
Séminaire C2 – On the construction of PIR schemes –
q of Q, and has to compute
c1[j] cM[j] q1[j] qM[j] c1[j]q1[j] + . . . + cM[j]qM[j]
rj
M
m=1
13/28
Séminaire C2 – On the construction of PIR schemes –
q of Q, and has to compute
c1[j] cM[j] q1[j] qM[j] c1[j]q1[j] + . . . + cM[j]qM[j]
rj
M
m=1
m=1 dm ⋆ cm,
∑M
m=1 cm ⋆ dm
ci[J]
13/28
Séminaire C2 – On the construction of PIR schemes –
◮ download cost: n symbols over Fqs ◮ upload cost: an (M × n)-matrix over Fq (negligible if s ≫ M) ◮ retrieval of |J| = n − dim(C ⋆ D) symbols of the desired file ◮ the protocol is private against collusions of size ≤ d⊥(D) − 1 14/28
Séminaire C2 – On the construction of PIR schemes –
◮ download cost: n symbols over Fqs ◮ upload cost: an (M × n)-matrix over Fq (negligible if s ≫ M) ◮ retrieval of |J| = n − dim(C ⋆ D) symbols of the desired file ◮ the protocol is private against collusions of size ≤ d⊥(D) − 1
14/28
Séminaire C2 – On the construction of PIR schemes –
◮ download cost: n symbols over Fqs ◮ upload cost: an (M × n)-matrix over Fq (negligible if s ≫ M) ◮ retrieval of |J| = n − dim(C ⋆ D) symbols of the desired file ◮ the protocol is private against collusions of size ≤ d⊥(D) − 1
14/28
Séminaire C2 – On the construction of PIR schemes –
◮ download cost: n symbols over Fqs ◮ upload cost: an (M × n)-matrix over Fq (negligible if s ≫ M) ◮ retrieval of |J| = n − dim(C ⋆ D) symbols of the desired file ◮ the protocol is private against collusions of size ≤ d⊥(D) − 1
14/28
Séminaire C2 – On the construction of PIR schemes –
14/28
Séminaire C2 – On the construction of PIR schemes –
15/28
Séminaire C2 – On the construction of PIR schemes –
◮ C is a linear space of dimension B, consisting in (α × n)-matrices over Fq, ◮ every c ∈ C is fully determined by any k-subset of columns, ◮ every column of c can be “repaired”, by downloading β ≤ α symbols
15/28
Séminaire C2 – On the construction of PIR schemes –
◮ C is a linear space of dimension B, consisting in (α × n)-matrices over Fq, ◮ every c ∈ C is fully determined by any k-subset of columns, ◮ every column of c can be “repaired”, by downloading β ≤ α symbols
k−1
i=0
15/28
Séminaire C2 – On the construction of PIR schemes –
◮ C is a linear space of dimension B, consisting in (α × n)-matrices over Fq, ◮ every c ∈ C is fully determined by any k-subset of columns, ◮ every column of c can be “repaired”, by downloading β ≤ α symbols
k−1
i=0
15/28
Séminaire C2 – On the construction of PIR schemes –
16/28
Séminaire C2 – On the construction of PIR schemes –
d k 16/28
Séminaire C2 – On the construction of PIR schemes –
q
d k ev(1) ev(x) ev(xd−1) C1 C2 Cd n 16/28
Séminaire C2 – On the construction of PIR schemes –
q
d k ev(1) ev(x) ev(xd−1) C1 C2 Cd n 16/28
Séminaire C2 – On the construction of PIR schemes –
ev(xd−1) ev(1) ev(x)
C1 C2 Cd
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xk−1) ev(1) ev(x)
C1 C2 Cd
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xk−1) ev(1) ev(x)
C1 C2 Cd
n
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xk−1) ev(1) ev(x)
C1 C2 Cd
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xk−1) ev(1) ev(x)
C1 C2 Cd
n
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xd−1) ev(1) ev(x)
C1 C2 Cd
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xd−1) ev(1) ev(x)
C1 C2 Cd
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xk−1) ev(1)
C1 C2 Cd
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xd−1) ev(1)
C1 C2 Cd
n
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xd−1) ev(1)
C1 C2 Cd
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(1) ev(xk−2)
C1 C2 Cd
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xd−1) ev(1)
C1 C2 Cd
n
17/28
Séminaire C2 – On the construction of PIR schemes –
ev(xd−1) ev(1)
C1 C2 Cd
n
17/28
Séminaire C2 – On the construction of PIR schemes –
n
nB
18/28
Séminaire C2 – On the construction of PIR schemes –
n
nB
10 15 20 25 30 35 40 0.2 0.4 0.6 0.8 1 d PIR rate Our scheme Scheme in [DN18] 10 15 20 25 30 35 40 0.8 0.85 0.9 d PIR rate Our scheme 1 − k
n
1 − B
dn
1 − B+(d−1)
dn
Comparison of PIR rates for n = 40 and k = 7. 18/28
Séminaire C2 – On the construction of PIR schemes –
18/28
Séminaire C2 – On the construction of PIR schemes –
◮ low communication complexity ◮ computationally inefficient (linear in |F| = ∑M
m=1 |Fm|)
◮ optimal computation (|rj| for each server Sj) ◮ remove the assumption s ≫ M ◮ moderate communication complexity 19/28
Séminaire C2 – On the construction of PIR schemes –
19/28
Séminaire C2 – On the construction of PIR schemes –
◮ X a set of points, |X| = N = ns,
Séminaire C2 – On the construction of PIR schemes –
◮ X a set of points, |X| = N = ns, ◮ groups G = {Gj}1≤j≤n satisfying
n
j=1
20/28
Séminaire C2 – On the construction of PIR schemes –
◮ X a set of points, |X| = N = ns, ◮ groups G = {Gj}1≤j≤n satisfying
n
j=1
◮ blocks B ∈ B satisfying
Séminaire C2 – On the construction of PIR schemes –
21/28
Séminaire C2 – On the construction of PIR schemes –
◮ length(C) = |X|, ◮ dim(C) = dim(ker M), ◮ every B ∈ B gives an h ∈ C⊥ such that wt(h|Gj) = 1, ∀j = 1, . . . , n. 21/28
Séminaire C2 – On the construction of PIR schemes –
22/28
Séminaire C2 – On the construction of PIR schemes –
22/28
Séminaire C2 – On the construction of PIR schemes –
q be a code based on a TD(n, s).
23/28
Séminaire C2 – On the construction of PIR schemes –
q be a code based on a TD(n, s).
23/28
Séminaire C2 – On the construction of PIR schemes –
q be a code based on a TD(n, s).
j: i/ ∈Gj
b∈B\{i}
23/28
Séminaire C2 – On the construction of PIR schemes –
24/28
Séminaire C2 – On the construction of PIR schemes –
◮ communication complexity: n log s uploaded bits, n log q downloaded bits ◮ computational complexity:
◮ only 1 read for each server (somewhat optimal) ◮ ≤ n additions over Fq for the user
◮ storage overhead: (ns − M) log q bits, where M = dim(C) 24/28
Séminaire C2 – On the construction of PIR schemes –
◮ communication complexity: n log s uploaded bits, n log q downloaded bits ◮ computational complexity:
◮ only 1 read for each server (somewhat optimal) ◮ ≤ n additions over Fq for the user
◮ storage overhead: (ns − M) log q bits, where M = dim(C)
24/28
Séminaire C2 – On the construction of PIR schemes –
24/28
Séminaire C2 – On the construction of PIR schemes –
◮ X = Fm
q , m ≥ 2,
◮ G a set of q disjoint hyperplanes partitionning X, ◮ B = {affine lines L secant to each group of G}.
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 210 215 220 225 230 235 240 245 m=2 m=3 m=4 m=5
25/28
Séminaire C2 – On the construction of PIR schemes –
◮ X = Fm
q , m ≥ 2,
◮ G a set of q disjoint hyperplanes partitionning X, ◮ B = {affine lines L secant to each group of G}.
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 210 215 220 225 230 235 240 245 m=2 m=3 m=4 m=5
25/28
Séminaire C2 – On the construction of PIR schemes –
◮ X = Fm
q , m ≥ 2,
◮ G a set of q disjoint hyperplanes partitionning X, ◮ B = {affine lines L secant to each group of G}.
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 210 215 220 225 230 235 240 245 m=2 m=3 m=4 m=5
25/28
Séminaire C2 – On the construction of PIR schemes –
26/28
Séminaire C2 – On the construction of PIR schemes –
◮ X = S × [1, n] ◮ G = {S × {i}, 1 ≤ i ≤ n}
26/28
Séminaire C2 – On the construction of PIR schemes –
◮ X = S × [1, n] ◮ G = {S × {i}, 1 ≤ i ≤ n} ◮ B = {{(ci, i), 1 ≤ i ≤ n}, c ∈ OA}
26/28
Séminaire C2 – On the construction of PIR schemes –
◮ X = S × [1, n] ◮ G = {S × {i}, 1 ≤ i ≤ n} ◮ B = {{(ci, i), 1 ≤ i ≤ n}, c ∈ OA}
26/28
Séminaire C2 – On the construction of PIR schemes –
◮ X = S × [1, n] ◮ G = {S × {i}, 1 ≤ i ≤ n} ◮ B = {{(ci, i), 1 ≤ i ≤ n}, c ∈ OA}
26/28
Séminaire C2 – On the construction of PIR schemes –
27/28
Séminaire C2 – On the construction of PIR schemes –
27/28
Séminaire C2 – On the construction of PIR schemes –
27/28
Séminaire C2 – On the construction of PIR schemes –
◮ OAs with t > 2 exist (e.g. from Reed-Solomon codes) ◮ But associated TDs lead to codes with poor rates (except for t ≪ n)
27/28
Séminaire C2 – On the construction of PIR schemes –
27/28
Séminaire C2 – On the construction of PIR schemes –
◮ concentrated a lot of recent research, ◮ involves nice mathematical tools, ◮ but in practice ... relies on questionable assumptions (collusions,
28/28
Séminaire C2 – On the construction of PIR schemes –
◮ concentrated a lot of recent research, ◮ involves nice mathematical tools, ◮ but in practice ... relies on questionable assumptions (collusions,
28/28
Séminaire C2 – On the construction of PIR schemes –