Efficient Private Information Retrieval protocols based on - - PowerPoint PPT Presentation

efficient private information retrieval protocols based
SMART_READER_LITE
LIVE PREVIEW

Efficient Private Information Retrieval protocols based on - - PowerPoint PPT Presentation

Efficient Private Information Retrieval protocols based on transversal designs Julien Lavauzelle Team GRACE LIX & INRIA Saclay, Universit Paris-Saclay Workshop Code-Based Cryptography 2017, Tenerife, Spain 02/06/2017 1. Definitions 2.


slide-1
SLIDE 1

Efficient Private Information Retrieval protocols based on transversal designs

Julien Lavauzelle

Team GRACE LIX & INRIA Saclay, Université Paris-Saclay

Workshop Code-Based Cryptography 2017, Tenerife, Spain 02/06/2017

slide-2
SLIDE 2
  • 1. Definitions
  • 2. Transversal designs for efficient PIR protocols
  • 3. Constructions

1/21

  • J. Lavauzelle

Workshop CBC 2017

slide-3
SLIDE 3
  • 1. Definitions
  • 2. Transversal designs for efficient PIR protocols
  • 3. Constructions

First construction: affine transversal designs Second construction: with orthogonal arrays

1/21

  • J. Lavauzelle

Workshop CBC 2017

slide-4
SLIDE 4

Issue

Given a file F,

can we retrieve Fi without leaking any information on i?

Examples:

◮ confidential medical data, ◮ stock exchange prices... 2/21

  • J. Lavauzelle

Workshop CBC 2017

slide-5
SLIDE 5

Private Information Retrieval protocols

Let F be a file stored on a DSS with ℓ servers S1, . . . , Sℓ. Private Information Retrieval (PIR) protocol: a user U wants to recover Fi privately.

  • 1. U generates a query

vector q = Q(i) and sends qj to Sj

  • 2. Each server Sj computes

aj = A(qj, F) and sends it back to U

  • 3. U recovers

Fi = R(q, a, i)

U . . .

S1 S2 Sℓ Q(i) = (q1, . . . , qℓ) {aj = A(qj, F)}

IT-security: we want P(qj|i) = P(qj), ∀j = 1, . . . , ℓ.

3/21

  • J. Lavauzelle

Workshop CBC 2017

slide-6
SLIDE 6

Parameters and previous works

Design goals:

◮ Low communication complexity (exchanged bits). ◮ Low computation complexity for A (server) and R (user). ◮ Low storage overhead (for the servers). 4/21

  • J. Lavauzelle

Workshop CBC 2017

slide-7
SLIDE 7

Parameters and previous works

Design goals:

◮ Low communication complexity (exchanged bits). ◮ Low computation complexity for A (server) and R (user). ◮ Low storage overhead (for the servers).

Existing solutions:

◮ Download the whole file F... 4/21

  • J. Lavauzelle

Workshop CBC 2017

slide-8
SLIDE 8

Parameters and previous works

Design goals:

◮ Low communication complexity (exchanged bits). ◮ Low computation complexity for A (server) and R (user). ◮ Low storage overhead (for the servers).

Existing solutions:

◮ Download the whole file F... inefficient, but it’s the best solution

with only one server [Chor Goldreich Kushilevitz Sudan ’95].

4/21

  • J. Lavauzelle

Workshop CBC 2017

slide-9
SLIDE 9

Parameters and previous works

Design goals:

◮ Low communication complexity (exchanged bits). ◮ Low computation complexity for A (server) and R (user). ◮ Low storage overhead (for the servers).

Existing solutions:

◮ Download the whole file F... inefficient, but it’s the best solution

with only one server [Chor Goldreich Kushilevitz Sudan ’95].

◮ Use smooth locally decodable codes with locality ℓ:

◮ ℓ servers, each storing a copy of F ◮ use the ℓ-query local decoding algorithm to recover Fi ◮ smoothness ensures security

4/21

  • J. Lavauzelle

Workshop CBC 2017

slide-10
SLIDE 10

Parameters and previous works

Design goals:

◮ Low communication complexity (exchanged bits). ◮ Low computation complexity for A (server) and R (user). ◮ Low storage overhead (for the servers).

Existing solutions:

◮ Download the whole file F... inefficient, but it’s the best solution

with only one server [Chor Goldreich Kushilevitz Sudan ’95].

◮ Use smooth locally decodable codes with locality ℓ:

◮ ℓ servers, each storing a copy of F (heavy storage overhead) ◮ use the ℓ-query local decoding algorithm to recover Fi (complexity?) ◮ smoothness ensures security

4/21

  • J. Lavauzelle

Workshop CBC 2017

slide-11
SLIDE 11
  • 1. Definitions
  • 2. Transversal designs for efficient PIR protocols
  • 3. Constructions

First construction: affine transversal designs Second construction: with orthogonal arrays

4/21

  • J. Lavauzelle

Workshop CBC 2017

slide-12
SLIDE 12

Motivations

Storage: split an encoded version of the file over the servers (instead of replicating) Security: the code must have a “smooth” set of parity-check equations for recovering any symbol Fi

5/21

  • J. Lavauzelle

Workshop CBC 2017

slide-13
SLIDE 13

An example

Let Fm

q = {P1, . . . , Pqm}. A q-ary Reed-Muller code is:

RMq(m, r) =

  • f (P1), . . . , f (Pqm)
  • , f ∈ Fq[X1, . . . , Xm], deg f ≤ r
  • .

For r ≤ q − 2, every c ∈ RMq(m, r) satisfies:

  • P∈L

cP = 0, ∀ line L ⊂ Fm

q 6/21

  • J. Lavauzelle

Workshop CBC 2017

slide-14
SLIDE 14

An example (cont’d)

Let G = {G1, . . . , Gq} be a partition of Fm

q into q hyperplanes.

1) Encode F into c with RMq(m, r). Give c|Gj to server Sj. 2) To recover Fi = ci for some i ∈ Fm

q : ◮ Pick a line L through i ◮ Ask server Sj for cPj where {Pj} = L ∩ Gj, except if Pj = i. ◮ Reconstruct

ci = −

  • i=Pj∈L

cPj Security: there is a line between i and any other point of Fm

q . 7/21

  • J. Lavauzelle

Workshop CBC 2017

slide-15
SLIDE 15

An example (cont’d 2)

But RMq(m, r) with r < q has rate ≤

1 m!

Generalization: build a similar code through its parity-check equations according to an appropriate incidence structure.

8/21

  • J. Lavauzelle

Workshop CBC 2017

slide-16
SLIDE 16

Transversal designs

A transversal design T = TD(ℓ, s) is a 3-tuple (X, B, G) of sets:

◮ X is the set of points, |X| = n = sℓ,

. . .

  • 9/21
  • J. Lavauzelle

Workshop CBC 2017

slide-17
SLIDE 17

Transversal designs

A transversal design T = TD(ℓ, s) is a 3-tuple (X, B, G) of sets:

◮ X is the set of points, |X| = n = sℓ, ◮ the groups G = {Gj}1≤j≤ℓ satisfy

X =

  • i=1

Gj and |Gj| = s , . . .

  • G1 G2

Gℓ−1Gℓ

9/21

  • J. Lavauzelle

Workshop CBC 2017

slide-18
SLIDE 18

Transversal designs

A transversal design T = TD(ℓ, s) is a 3-tuple (X, B, G) of sets:

◮ X is the set of points, |X| = n = sℓ, ◮ the groups G = {Gj}1≤j≤ℓ satisfy

X =

  • i=1

Gj and |Gj| = s ,

◮ the blocks B ∈ B satisfy:

– B ⊂ X and |B| = ℓ; – {i, j} ⊂ X lie in the same group, or ∃!B ∈ B such that {i, j} ⊂ B

  • G1 G2

Gℓ−1Gℓ

j i

  • 9/21
  • J. Lavauzelle

Workshop CBC 2017

slide-19
SLIDE 19

Transversal designs

A transversal design T = TD(ℓ, s) is a 3-tuple (X, B, G) of sets:

◮ X is the set of points, |X| = n = sℓ, ◮ the groups G = {Gj}1≤j≤ℓ satisfy

X =

  • i=1

Gj and |Gj| = s ,

◮ the blocks B ∈ B satisfy:

– B ⊂ X and |B| = ℓ; – {i, j} ⊂ X lie in the same group, or ∃!B ∈ B such that {i, j} ⊂ B

  • G1 G2

Gℓ−1Gℓ

j i

  • 9/21
  • J. Lavauzelle

Workshop CBC 2017

slide-20
SLIDE 20

Transversal designs

A transversal design T = TD(ℓ, s) is a 3-tuple (X, B, G) of sets:

◮ X is the set of points, |X| = n = sℓ, ◮ the groups G = {Gj}1≤j≤ℓ satisfy

X =

  • i=1

Gj and |Gj| = s ,

◮ the blocks B ∈ B satisfy:

– B ⊂ X and |B| = ℓ; – {i, j} ⊂ X lie in the same group, or ∃!B ∈ B such that {i, j} ⊂ B

  • G1 G2

Gℓ−1Gℓ

j i

  • Its incidence matrix M has size |B| × |X| and is defined by:

Mi,j =

  • 1

if xj ∈ Bi

  • therwise

9/21

  • J. Lavauzelle

Workshop CBC 2017

slide-21
SLIDE 21

Transversal designs

A transversal design T = TD(ℓ, s) is a 3-tuple (X, B, G) of sets:

◮ X is the set of points, |X| = n = sℓ, ◮ the groups G = {Gj}1≤j≤ℓ satisfy

X =

  • i=1

Gj and |Gj| = s ,

◮ the blocks B ∈ B satisfy:

– B ⊂ X and |B| = ℓ; – {i, j} ⊂ X lie in the same group, or ∃!B ∈ B such that {i, j} ⊂ B

  • G1 G2

Gℓ−1Gℓ

j i

  • Its incidence matrix M has size |B| × |X| and is defined by:

Mi,j =

  • 1

if xj ∈ Bi

  • therwise

The code C based on T over Fq is the Fq-linear code having M as parity-check matrix.

9/21

  • J. Lavauzelle

Workshop CBC 2017

slide-22
SLIDE 22

Our PIR protocol construction

Let C ⊆ Fn

q be a code based on a TD(ℓ, s).

  • Initialisation. User U encodes c = C(F), and gives c|Gj to server Sj for

j = 1, . . . , ℓ.

10/21

  • J. Lavauzelle

Workshop CBC 2017

slide-23
SLIDE 23

Our PIR protocol construction

Let C ⊆ Fn

q be a code based on a TD(ℓ, s).

  • Initialisation. User U encodes c = C(F), and gives c|Gj to server Sj for

j = 1, . . . , ℓ. To recover Fi = ci:

  • 1. User U randomly picks a block B ∈ B containing i. Then it defines:

qj = Q(i)j = B ∩ Gj if i / ∈ Gj a random point in Gj

  • therwise
  • 2. each server Sj sends back aj = A(qj, c|Gj) = cqj
  • 3. U recovers

ci = −

  • i /

∈Gj

cqj

10/21

  • J. Lavauzelle

Workshop CBC 2017

slide-24
SLIDE 24

Properties

Theorem.– If the servers do not collude, then our PIR protocol is information-theoretically secure.

11/21

  • J. Lavauzelle

Workshop CBC 2017

slide-25
SLIDE 25

Properties

Theorem.– If the servers do not collude, then our PIR protocol is information-theoretically secure.

Proof: – the only server which holds Fi received a random query; – for each other server Sj, there is a constant (=1) number of blocks passing through i and each qj ∈ Gj ⇒ no information leaks on i.

11/21

  • J. Lavauzelle

Workshop CBC 2017

slide-26
SLIDE 26

Properties

Theorem.– If the servers do not collude, then our PIR protocol is information-theoretically secure.

Proof: – the only server which holds Fi received a random query; – for each other server Sj, there is a constant (=1) number of blocks passing through i and each qj ∈ Gj ⇒ no information leaks on i.

  • Properties. For a k log q bits file, with k = dimFq C ≤ n = sℓ.

◮ communication complexity: ℓ(log s + log q) bits ◮ computational complexity:

◮ O(1) for A (instead of Ω(k log q)) ◮ O(ℓ) Fq-operations for R

◮ storage overhead: (n − k) log q bits (instead of (ℓ − 1)k log q) 11/21

  • J. Lavauzelle

Workshop CBC 2017

slide-27
SLIDE 27

Properties

Theorem.– If the servers do not collude, then our PIR protocol is information-theoretically secure.

Proof: – the only server which holds Fi received a random query; – for each other server Sj, there is a constant (=1) number of blocks passing through i and each qj ∈ Gj ⇒ no information leaks on i.

  • Properties. For a k log q bits file, with k = dimFq C ≤ n = sℓ.

◮ communication complexity: ℓ(log s + log q) bits ◮ computational complexity:

◮ O(1) for A (instead of Ω(k log q)) ◮ O(ℓ) Fq-operations for R

◮ storage overhead: (n − k) log q bits (instead of (ℓ − 1)k log q)

Main issue: best k depending on ℓ, n?

11/21

  • J. Lavauzelle

Workshop CBC 2017

slide-28
SLIDE 28
  • 1. Definitions
  • 2. Transversal designs for efficient PIR protocols
  • 3. Constructions

First construction: affine transversal designs Second construction: with orthogonal arrays

11/21

  • J. Lavauzelle

Workshop CBC 2017

slide-29
SLIDE 29
  • 1. Definitions
  • 2. Transversal designs for efficient PIR protocols
  • 3. Constructions

First construction: affine transversal designs Second construction: with orthogonal arrays

11/21

  • J. Lavauzelle

Workshop CBC 2017

slide-30
SLIDE 30

A classical TD: points/lines/hyperplanes

Let TA be the classical affine TD:

◮ X = Fm q , m ≥ 2, ◮ G a set of q disjoint hyperplanes partitionning X, ◮ B = {affine lines L secant to each group of G}. 12/21

  • J. Lavauzelle

Workshop CBC 2017

slide-31
SLIDE 31

A classical TD: points/lines/hyperplanes

Let TA be the classical affine TD:

◮ X = Fm q , m ≥ 2, ◮ G a set of q disjoint hyperplanes partitionning X, ◮ B = {affine lines L secant to each group of G}.

The associated Fq-linear code has

◮ length n = qm ◮ block size ℓ = q ◮ dimension?

– its parity-check matrix has qm columns and q2m−2 rows... – ... but it contains RM(m, q − 2) which has rate ≃ 1/m!, – and sometimes it is even larger:

12/21

  • J. Lavauzelle

Workshop CBC 2017

slide-32
SLIDE 32

Rate of classical TDs

rate R = k/n

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

length n = 2em

13/21

  • J. Lavauzelle

Workshop CBC 2017

slide-33
SLIDE 33

Particular case: m = 2

For m = 2, q = pe, using Hamada’s formula [Ham68] we obtain: n = p2e, k ≥ p2e − p + 1 2 e , ℓ = √n, that is R = k/n = 1 − Θ(ncp) ℓ = Θ(n1/2) where cp = 1

2(logp( p+1 2 ) − 1) < 0.

We have cp ր, with c2 = −0.208 and c∞ = 0. Questions:

◮ is this construction optimal? ◮ bounds on ℓ and R? 14/21

  • J. Lavauzelle

Workshop CBC 2017

slide-34
SLIDE 34
  • 1. Definitions
  • 2. Transversal designs for efficient PIR protocols
  • 3. Constructions

First construction: affine transversal designs Second construction: with orthogonal arrays

14/21

  • J. Lavauzelle

Workshop CBC 2017

slide-35
SLIDE 35

TDs and orthogonal arrays

An orthogonal array OA(t, ℓ, s) of strength t may be seen as a code over S, with: – |S| = s, – length ℓ, – cardinality N = st, – and dual distance d⊥ = t + 1

15/21

  • J. Lavauzelle

Workshop CBC 2017

slide-36
SLIDE 36

TDs and orthogonal arrays

An orthogonal array OA(t, ℓ, s) of strength t may be seen as a code over S, with: – |S| = s, – length ℓ, – cardinality N = st, – and dual distance d⊥ = t + 1

OA(2, 3, 2) =     a b b b b a b a b a a a    

15/21

  • J. Lavauzelle

Workshop CBC 2017

slide-37
SLIDE 37

TDs and orthogonal arrays

An orthogonal array OA(t, ℓ, s) of strength t may be seen as a code over S, with: – |S| = s, – length ℓ, – cardinality N = st, – and dual distance d⊥ = t + 1 Construction OA → TD :

◮ X = S × [1, ℓ] ◮ G = {S × {i}, i ∈ [1, ℓ]}

OA(2, 3, 2) =     a b b b b a b a b a a a     (a, 1) (a, 2) (a, 3) (b, 1) (b, 2) (b, 3)

15/21

  • J. Lavauzelle

Workshop CBC 2017

slide-38
SLIDE 38

TDs and orthogonal arrays

An orthogonal array OA(t, ℓ, s) of strength t may be seen as a code over S, with: – |S| = s, – length ℓ, – cardinality N = st, – and dual distance d⊥ = t + 1 Construction OA → TD :

◮ X = S × [1, ℓ] ◮ G = {S × {i}, i ∈ [1, ℓ]} ◮ B = {{(ci, i), 1 ≤ i ≤ ℓ}, c ∈ OA}

OA(2, 3, 2) =     a b b b b a b a b a a a     (a, 1) (a, 2) (a, 3) (b, 1) (b, 2) (b, 3)

15/21

  • J. Lavauzelle

Workshop CBC 2017

slide-39
SLIDE 39

TDs and orthogonal arrays

An orthogonal array OA(t, ℓ, s) of strength t may be seen as a code over S, with: – |S| = s, – length ℓ, – cardinality N = st, – and dual distance d⊥ = t + 1 Construction OA → TD :

◮ X = S × [1, ℓ] ◮ G = {S × {i}, i ∈ [1, ℓ]} ◮ B = {{(ci, i), 1 ≤ i ≤ ℓ}, c ∈ OA}

OA(2, 3, 2) =     a b b b b a b a b a a a     (a, 1) (a, 2) (a, 3) (b, 1) (b, 2) (b, 3)

15/21

  • J. Lavauzelle

Workshop CBC 2017

slide-40
SLIDE 40

TDs and orthogonal arrays

An orthogonal array OA(t, ℓ, s) of strength t may be seen as a code over S, with: – |S| = s, – length ℓ, – cardinality N = st, – and dual distance d⊥ = t + 1 Construction OA → TD :

◮ X = S × [1, ℓ] ◮ G = {S × {i}, i ∈ [1, ℓ]} ◮ B = {{(ci, i), 1 ≤ i ≤ ℓ}, c ∈ OA}

OA(2, 3, 2) =     a b b b b a b a b a a a     (a, 1) (a, 2) (a, 3) (b, 1) (b, 2) (b, 3)

  • Prop. If t = 2, then we obtain a TD(ℓ, s) from an OA(t, ℓ, s).

15/21

  • J. Lavauzelle

Workshop CBC 2017

slide-41
SLIDE 41

Resistance to collusions

What about OA(t, ℓ, s) with t > 2? For each t-tuple of points lying in t different groups, there is a block which contains them all. ⇒ Our PIR protocol resists t − 1 collusive servers.

16/21

  • J. Lavauzelle

Workshop CBC 2017

slide-42
SLIDE 42

Resistance to collusions

What about OA(t, ℓ, s) with t > 2? For each t-tuple of points lying in t different groups, there is a block which contains them all. ⇒ Our PIR protocol resists t − 1 collusive servers. But in practice, the PIR storage overhead increases with t (see later).

16/21

  • J. Lavauzelle

Workshop CBC 2017

slide-43
SLIDE 43

The “coded-queries code” construction

Definition.– We call C0-coded-queries code (denoted Codeq(C0)) the Fq-linear code C coming from the successive constructions: C0 = OA(t, ℓ, s) → generalized TD(ℓ, s; t) → C = Codeq(C0) We derive PIR parameters from those of C0:

◮ d⊥ − 2 is the number of collusive servers the protocol resists ◮ the larger C0, the larger PIR storage overhead

⇒ let’s use MDS codes

17/21

  • J. Lavauzelle

Workshop CBC 2017

slide-44
SLIDE 44

Reed-Solomon-coded-queries codes

Example: for OA(t + 1, ℓ = q, s = q) = RS(Fq, t + 1):

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 6 8 10 12 14 16 18 20 t=1 t=2 t=4 t=log(q) t=q1/2 t=q/8 t=q/2 t=q-1

18/21

  • J. Lavauzelle

Workshop CBC 2017

slide-45
SLIDE 45

Conclusion

Summary: (server-)efficient PIR protocols can be built upon codes from transversal designs Current issues:

◮ transversal designs with low-rank parity-check matrices? ◮ bounds, optimal constructions? ◮ (divisible projective codes C0 over large alphabets?)

Questions?

19/21

  • J. Lavauzelle

Workshop CBC 2017

slide-46
SLIDE 46

Remarks on coded-queries codes

Proposition.– For all codes C0 of length ℓ over Fs, Codeq(C0) is an [n, k]q code with:

◮ n = sℓ, ◮ ℓ − 1 ≤ k ≤ n − √n.

Proposition.– Let H be the parity-check matrix of Codeq(C0). Then, HHT = ℓJ − D(C0) , where J is the all-1 matrix and D(C0)c,c′ = d(c, c′), ∀c, c′ ∈ C0

20/21

  • J. Lavauzelle

Workshop CBC 2017

slide-47
SLIDE 47

Divisible codes for efficient PIR protocols

A p-divisible code is a code whose codewords’ weights are divisible by p. Corollary.– If C0 is p-divisible for p = char(Fq), then: k = dim Codeq(C0) ≥ n − 1 2 . Furthermore, if p | ℓ, then: HHT = 0 ⇒ C⊥ ⊆ C Theorem.– If there exists a p-divisible code C0 of length ℓ and dual distance t + 2, then there exists a PIR protocol resisting to t colluding servers, with rate 1/2. Question.– Do there exist projective (d⊥ ≥ 3) p-divisible codes of length ℓ over Fq, with q ≫ ℓ?

21/21

  • J. Lavauzelle

Workshop CBC 2017