• No results found

Codes for Privacy and Reliability

N/A
N/A
Protected

Academic year: 2021

Share "Codes for Privacy and Reliability"

Copied!
83
0
0

Loading.... (view fulltext now)

Full text

(1)

Codes for Privacy

and Reliability

in Information Retrieval and Distributed Computation

by

Oliver W. Gnilke

[email protected]

(2)
(3)

Securing Communications

Private Information Retrieval 3/34

Request

Anonymity

Privacy

(4)

Securing Communications

Request

Anonymity

Privacy

?

(5)

Securing Communications

Private Information Retrieval 3/34

Request Anonymity Security Privacy

?

For example: https/TLS/SSL

(6)

Securing Communications

Request Anonymity Privacy

?

PIR

(7)

One-Time Pad

Private Information Retrieval 4/34

Message / Information e of ’size’ |e|. Key k of size |k| ≥ |e|.

Encryption: c := e + k

Decryption: e = c − k

Information theoretically secure.

But requires a key that is at least as big as the message.

The advantage is that an eavesdropper needs to have the ciphertext c AND the key k.

(8)

One-Time Pad

Message / Information e of ’size’ |e|. Key k of size |k| ≥ |e|.

Encryption: c := e + k

Decryption: e = c − k

Information theoretically secure.

But requires a key that is at least as big as the message.

The advantage is that an eavesdropper needs to have the ciphertext c AND the key k.

(9)

One-Time Pad

Private Information Retrieval 4/34

Message / Information e of ’size’ |e|. Key k of size |k| ≥ |e|.

Encryption: c := e + k

Decryption: e = c − k

Information theoretically secure.

But requires a key that is at least as big as the message.

The advantage is that an eavesdropper needs to have the ciphertext c AND the key k.

(10)

A first example

Server 2 x Server 1 x u =q1 u + ei =q2 hx, u + eii =r2 hx, ui =r1

1.) The user wants file xi. Draws u ∼ U(Fm

q)and forms

queries q1=u and q2 =u + ei.

2.) The servers respond with rj := hx, qji.

(11)

A first example

Private Information Retrieval 5/34

Server 2 x Server 1 x u =q1 u + ei =q2 hx, u + eii =r2 hx, ui =r1

1.) The user wants file xi. Draws u ∼ U(Fm

q)and forms

queries q1=u and q2 =u + ei.

2.) The servers respond with rj := hx, qji.

(12)

A first example

Server 2 x Server 1 x u =q1 u + ei =q2 hx, u + eii =r2 hx, ui =r1

1.) The user wants file xi. Draws u ∼ U(Fm

q)and forms

queries q1=u and q2 =u + ei.

2.) The servers respond with rj := hx, qji.

(13)

A first example

Private Information Retrieval 5/34

Server 2 x Server 1 x u =q1 u + ei =q2 hx, u + eii =r2 hx, ui =r1 Rate

We measure rate as the size of the requested file over the size of all downloads, R = |xi|

P |rj|. E.g. the rate in the example is R = 12

(14)

More Servers

x x

. . .

x

If all n servers contain the full database X we can download n − 1 files simultaneously.

This gives us a rate of R = 1 − 1

(15)

Capacity

Private Information Retrieval 7/34

Capacity for m files replicated on n servers2

C = 1 −

1 n

1 − 1nm

2

Hua Sun, Syed A. Jafar, The Capacity of Private Information Retrieval, IEEE Transactions on Information Theory, Volume: 63, Issue: 7, July 2017 )

(16)

Capacity

1 2 3 4 5 6 7 8 9 10 11 number of files 0.78 0.8 0.82 0.84 0.86 0.88 0.9 Rate Capacity n=5 Capacity n=8 Capacity n=10 Rate n=5 Rate n=8 Rate n=10 2

(17)

Distributed Storage Systems

Private Information Retrieval 8/34

Replicating all files across all servers is rather wasteful.

To save space a storage code C is employed.

Not coding across files enables easy addition or removal of files. x11 . . . xk1 .. . . .. ... x1m . . . xkm             x1 xm .. . file s · GC= y11 . . . yn1 .. . . .. ... y1m . . . ynm             Server 1. . . Server n

(18)

Distributed Storage Systems

Replicating all files across all servers is rather wasteful.

To save space a storage code C is employed.

Not coding across files enables easy addition or removal of files. x11 . . . xk1 .. . . .. ... x1m . . . xkm             x1 xm .. . file s · GC= y11 . . . yn1 .. . . .. ... y1m . . . ynm             Server 1. . . Server n

(19)

Distributed Storage Systems

Private Information Retrieval 8/34

Replicating all files across all servers is rather wasteful.

To save space a storage code C is employed. Not coding across files enables easy addition or removal of files. x11 . . . xk1 .. . . .. ... x1m . . . xkm x1m+1 . . . xkm+1                     x1 xm .. . xm+1 file s · GC= y11 . . . yn1 .. . . .. ... y1m . . . ynm y1m+1 . . . ynm+1                     Server 1. . . Server n

(20)

More Servers - Coded

y1 y2

. . .

yn

If the storage is coded, contents from two different servers no longer cancel out.

(21)

PIR from coded storage

Private Information Retrieval 10/34

Let u ∼ U(Fm

q).

Define the n queries as qj =u for all servers j. Then

rj = hqj,yji = hu,yji. The vector (r1, . . . ,rn) = (u.y1, . . . ,u.yn) =uT[y1· · ·yn] = m X i=1 uiyi

is a linear combination of the codewords in the storage system, and therefore itself a codeword in C.

Define the queries as qj =u for all servers but one,

here the last, and let qn =u +ei

The vector (r1, . . . ,rn)is a linear combination of the

codewords in the storage system, plus one’error’in

the last coordinate

(r1, . . . ,rn) = (u.y1, . . . ,u.yn+yni) =

m X

i=1

uiyi+(0, . . . , 0,yni) We only need k coordinates of a codeword to

uniquely determine it. Hence we can add up to n − k such’errors’.

(22)

PIR from coded storage

Let u ∼ U(Fmq).

Define the queries as qj =u for all servers but one,

here the last, and let qn=u +ei

The vector (r1, . . . ,rn)is a linear combination of the

codewords in the storage system, plus one’error’in

the last coordinate

(r1, . . . ,rn) = (u.y1, . . . ,u.yn+yni) =

m X

i=1

uiyi+(0, . . . , 0,yni)

We only need k coordinates of a codeword to

uniquely determine it. Hence we can add up to n − k such’errors’.

(23)

PIR from coded storage

Private Information Retrieval 10/34

Let u ∼ U(Fmq).

Define the queries as qj =u for all servers but one,

here the last, and let qn=u +ei

The vector (r1, . . . ,rn)is a linear combination of the

codewords in the storage system, plus one’error’in

the last coordinate

(r1, . . . ,rn) = (u.y1, . . . ,u.yn+yni) =

m X

i=1

uiyi+(0, . . . , 0,yni)

We only need k coordinates of a codeword to

uniquely determine it. Hence we can add up to n − k such’errors’.

(24)

PIR from coded storage

Let u ∼ U(Fmq).

Define the queries as qj =u for all servers but one,

here the last, and let qn=u +ei

The vector (r1, . . . ,rn)is a linear combination of the

codewords in the storage system, plus one’error’in

the last coordinate

(r1, . . . ,rn) = (u.y1, . . . ,u.yn+yni) =

m X

i=1

uiyi+(0, . . . , 0,yni)

We only need k coordinates of a codeword to

uniquely determine it. Hence we can add up to n − k such’errors’.

(25)

PIR Rate for coded storage

Private Information Retrieval 11/34

We receive n − k blocks of information, when downloading n blocks total.

Rate for PIR from MDS coded storage

R = n−kn

We compare to the capacity

Capacity for PIR from coded storage3

C = 1−

k n

(26)

PIR Rate for coded storage

We receive n − k blocks of information, when downloading n blocks total.

Rate for PIR from MDS coded storage

R = n−kn

We compare to the capacity

Capacity for PIR from coded storage3

C = 1−

k n

1−(kn)m

3Karim Banawan, Sennur Ulukus, The Capacity of Private Information

(27)

Asymptotic vs. Capacity

Private Information Retrieval 12/34

2 4 6 8 10 12 14 16 number of files 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 Rate Capacity n=5, k=3 Capacity n=8, k=5 Capacity n=10 ,k=7 Rate n=5, k=3 Rate n=8, k=5 Rate n=10, k=7

(28)

More Servers - Collusion

x x

. . .

x

In the replicated storage scenario, each query is masked with the same random vector.

If two of them exchange their queries, they can unmask the request.

(29)

t

-Collusion

Private Information Retrieval 14/34

We want to design a scheme that remains secure, even if t < n of the servers combine their queries. We use secret sharing to design these queries.

Shamir Secret Sharing

Let (αi)be a list of n pairwise different elements of Fq. Let

u0, . . . ,ut−1∼ U(Fq), andet our information.

(u0, . . . ,ut−1,et) ∈ Fkq ↓

f (z) =u0+ · · · +ut−1zt−1+etzt 7→ (f (α1), . . . ,f (αn))

Any subset of t shares si, reveals no information aboutet.

(30)

t

-Collusion

We want to design a scheme that remains secure, even if t < n of the servers combine their queries. We use secret sharing to design these queries.

Shamir Secret Sharing

Let (αi)be a list of n pairwise different elements of Fq. Let

u0, . . . ,ut−1∼ U(Fq), andet our information.

(u0, . . . ,ut−1,et) ∈ Fkq ↓

f (z) =u0+ · · · +ut−1zt−1+etzt 7→ (f (α1), . . . ,f (αn))

Any subset of t shares si, reveals no information aboutet.

(31)

t

-Collusion

Private Information Retrieval 14/34

We want to design a scheme that remains secure, even if t < n of the servers combine their queries. We use secret sharing to design these queries.

Shamir Secret Sharing

Let (αi)be a list of n pairwise different elements of Fq. Let

u0, . . . ,ut−1∼ U(Fq), andet our information.

(u0, . . . ,ut−1,et) ∈ Fkq (s1, . . . ,sn)

q

f (z) =u0+ · · · +ut−1zt−1+etzt 7→ (f (α1), . . . ,f (αn))

Any subset of t shares si, reveals no information aboutet.

(32)

t

-Collusion

We want to design a scheme that remains secure, even if t < n of the servers combine their queries. We use secret sharing to design these queries.

Shamir Secret Sharing

Let (αi)be a list of n pairwise different elements of Fq. Let

u0, . . . ,ut−1∼ U(Fq), andet our information.

(u0, . . . ,ut−1,et) ∈ Fkq (s1, . . . ,sn)

q

f (z) =u0+ · · · +ut−1zt−1+etzt 7→ (f (α1), . . . ,f (αn))

Any subset of t shares si, reveals no information aboutet.

(33)

PIR with Collusion

Private Information Retrieval 15/34

The scheme is dual to the coded storage scheme. Instead of the files, our queries are encoded with an [n, t] MDS code D. u11 . . . u1t .. . . .. ... um1 . . . utm             randomne s s · GD+E = q11 . . . qn1 .. . . .. ... q1m . . . qnm             Query 1 . . . Query n +E

The responses now again take the form, (r1, . . . ,rn) = (d1.x, . . . ,dn.x) +e= m X i=1 dixi +e. Pm i=1d ixi is a codeword in D

(34)

PIR with Collusion

The scheme is dual to the coded storage scheme. Instead of the files, our queries are encoded with an [n, t] MDS code D. u11 . . . u1t .. . . .. ... um1 . . . utm             randomne s s · GD+E = d11 . . . dn1 .. . . .. ... d1m . . . dnm             Query 1 . . . Query n

The responses now again take the form, (r1, . . . ,rn) = (d1.x, . . . ,dn.x) +e= m X i=1 dixi +e. Pm i=1dixi is a codeword in D

(35)

PIR with Collusion

Private Information Retrieval 15/34

The scheme is dual to the coded storage scheme. Instead of the files, our queries are encoded with an [n, t] MDS code D. u11 . . . u1t .. . . .. ... um1 . . . utm             randomne s s · GD+E = d11 . . . dn1 .. . . .. ... d1m . . . dnm             Query 1 . . . Query n

The responses now again take the form, (r1, . . . ,rn) = (d1.x, . . . ,dn.x) +e= m X i=1 dixi +e. Pm i=1dixi is a codeword in D

(36)

Rate and Capacity for t-collusion

We receive n − t blocks of information, when downloading n blocks total.

Rate for PIR with t-collusion

R = n−t

n

We compare to the capacity expression for this scenario

Capacity for PIR with t-collusion4

C = 1−

t n

(37)

Rate and Capacity for t-collusion

Private Information Retrieval 16/34

We receive n − t blocks of information, when downloading n blocks total.

Rate for PIR with t-collusion

R = n−t

n

We compare to the capacity expression for this scenario

Capacity for PIR with t-collusion4

C = 1−

t n

1−(nt)m

4Hua Sun, Syed A. Jafar, The capacity of private information retrieval with

colluding databases, 2016 IEEE Global Conference on Signal and Information Processing

(38)

Asymptotic vs. Capacity

2 4 6 8 10 12 14 16 0.5 0.55 0.6 0.65 0.7 0.75 Rate Capacity n=5, t=2 Capacity n=8, t=3 Capacity n=10, t=5 Rate n=5, t=2 Rate n=8, t=3 Rate n=10, t=5

(39)

Combining both schemes

Private Information Retrieval 18/34

We combine both schemes, i.e., encode both the data and the queries.

The responses then take a different form (r1, . . . ,rn) = (d1.y1, . . . ,dn.yn) +e = m X i=1 di?yi +e where (c1, . . . ,cn) ? (d1, . . . ,dn) := (c1d1, . . . ,cndn)is

the Schur product of vectors.

Do these responses lie inside some code(plus some

(40)

Combining both schemes

We combine both schemes, i.e., encode both the data and the queries.

The responses then take a different form (r1, . . . ,rn) = (d1.y1, . . . ,dn.yn) +e= m X i=1 di?yi +e where (c1, . . . ,cn) ? (d1, . . . ,dn) := (c1d1, . . . ,cndn)is

the Schur product of vectors.

Do these responses lie inside some code(plus some

(41)

Combining both schemes

Private Information Retrieval 18/34

We combine both schemes, i.e., encode both the data and the queries.

The responses then take a different form (r1, . . . ,rn) = (d1.y1, . . . ,dn.yn) +e= m X i=1 di?yi +e where (c1, . . . ,cn) ? (d1, . . . ,dn) := (c1d1, . . . ,cndn)is

the Schur product of vectors.

Do these responses lie inside some code(plus some

(42)

Products of Codes

Schur Product

Let C and D be two linear codes of length n. Then we define their product code as the span of all Schur products of codewords in C with codewords in D.

(43)

Products of Codes

Private Information Retrieval 19/34

Schur Product

Let C and D be two linear codes of length n. Then we define their product code as the span of all Schur products of codewords in C with codewords in D.

C ? D := h{c ? d : c ∈ C, d ∈ D}i

The rate of our scheme will again depend on the minimum distance of the response code.

(44)

Products of Codes

Schur Product

Let C and D be two linear codes of length n. Then we define their product code as the span of all Schur products of codewords in C with codewords in D.

C ? D := h{c ? d : c ∈ C, d ∈ D}i

Product Singleton Bound5

dC?D− 1 ≤ max{0, n − kC− kD+1}

5H. Randriambololona, An upper bound of Singleton type for

(45)

Optimal Products

Private Information Retrieval 20/34

Product Singleton Bound5

dC?D− 1 ≤ max{0, n − kC− kD+1} Equality is achieved in a handful of cases only

C or D are the repetition code.

Then we have no collusion or no coding.

C = D⊥.

Then we get a rate 1n scheme.

C and D are generalized Reed-Solomon (GRS) codes on the same evaluation set.

This allows for a flexible schemes with varied parameters.

5H. Randriambololona, An upper bound of Singleton type for

componentwise products of linear codes, IEEE Transactions on Information Theory vol 59., 2013

(46)

Optimal Products

Product Singleton Bound5

dC?D− 1 ≤ max{0, n − kC− kD+1} Equality is achieved in a handful of cases only

C or D are the repetition code.

Then we have no collusion or no coding.

C = D⊥.

Then we get a rate 1n scheme.

C and D are generalized Reed-Solomon (GRS) codes on the same evaluation set.

This allows for a flexible schemes with varied parameters.

(47)

Optimal Products

Private Information Retrieval 20/34

Product Singleton Bound5

dC?D− 1 ≤ max{0, n − kC− kD+1} Equality is achieved in a handful of cases only

C or D are the repetition code.

Then we have no collusion or no coding. C = D⊥.

Then we get a rate 1n scheme.

C and D are generalized Reed-Solomon (GRS) codes on the same evaluation set.

This allows for a flexible schemes with varied parameters.

5H. Randriambololona, An upper bound of Singleton type for

componentwise products of linear codes, IEEE Transactions on Information Theory vol 59., 2013

(48)

Optimal Products

Product Singleton Bound5

dC?D− 1 ≤ max{0, n − kC− kD+1} Equality is achieved in a handful of cases only

C or D are the repetition code.

Then we have no collusion or no coding. C = D⊥.

Then we get a rate 1n scheme.

C and D are generalized Reed-Solomon (GRS) codes on the same evaluation set.

This allows for a flexible schemes with varied parameters.

(49)

Optimal Products

Private Information Retrieval 20/34

Product Singleton Bound5

dC?D− 1 ≤ max{0, n − kC− kD+1} Equality is achieved in a handful of cases only

C or D are the repetition code.

Then we have no collusion or no coding. C = D⊥.

Then we get a rate 1n scheme.

C and D are generalized Reed-Solomon (GRS) codes on the same evaluation set.

This allows for a flexible schemes with varied parameters.

5H. Randriambololona, An upper bound of Singleton type for

componentwise products of linear codes, IEEE Transactions on Information Theory vol 59., 2013

(50)

PIR - coded storage & collusion

Use GRS codes for the storage and the queries. (r1, . . . ,rn) = (d1.y1, . . . ,dn.yn) +e = m X i=1 di ?yi+e .

ThenPmi=1di?yi is again a codeword in an

[n, k + t − 1] GRS code

Hence we can add up to n − k − t + 1 ’errors’ viae

that we can correct.

We therefore achieve a rate of n−k−t+1n , whenever this

(51)

PIR - coded storage & collusion

Private Information Retrieval 21/34

Use GRS codes for the storage and the queries. (r1, . . . ,rn) = (d1.y1, . . . ,dn.yn) +e=

m X

i=1

di ?yi+e.

ThenPmi=1di ?yi is again a codeword in an

[n, k + t − 1] GRS code

Hence we can add up to n − k − t + 1 ’errors’ viae

that we can correct.

We therefore achieve a rate of n−k−t+1n , whenever this

(52)

PIR - coded storage & collusion

Use GRS codes for the storage and the queries. (r1, . . . ,rn) = (d1.y1, . . . ,dn.yn) +e=

m X

i=1

di ?yi+e.

ThenPmi=1di ?yi is again a codeword in an

[n, k + t − 1] GRS code

Hence we can add up to n − k − t + 1 ’errors’ viae

that we can correct.

We therefore achieve a rate of n−k−t+1n , whenever this

(53)

Capacity

Private Information Retrieval 22/34

The capacity for the coded, colluding case has been a long standing problem.

A recent paper6’solves’ this by only considering

schemes that are ’symbol separated’ or ’strongly linear’.

This covers a lot of schemes in the literature and especially the ones presented here, and they are indeed capacity achieving under these restrictions.

6Lukas Holzbaur, Ragnar Freij-Hollanti, Jie Li, Camilla Hollanti, Towards

the Capacity of Private Information Retrieval from Coded and Colluding Servers, arXiv:1903.12552.

(54)

Capacity

The capacity for the coded, colluding case has been a long standing problem.

A recent paper6’solves’ this by only considering

schemes that are ’symbol separated’ or ’strongly linear’.

This covers a lot of schemes in the literature and especially the ones presented here, and they are indeed capacity achieving under these restrictions.

(55)

Byzantine and Non-Responsive

Private Information Retrieval 23/34

Up till now we have considered honest but curious servers.

But what if some servers are slow / fail to respond or introduce errors into their responses.

The previous scheme uses the codes erasure correction capability to retrieve the data.

(r1, . . . ,rn) = (d1.y1, . . . ,dn.yn) +e=

(d1.y1, . . . ,dt+k−1.yt+k−1,dt+k.yt+k+et+k, . . . ,dn.yn+en)

(d1.y1, . . . ,dt+k−1.yt+k−1,dt+k/////////////////// , . . . , dn..yt+k +et+k yn+en+bn)

If an entry with an ’error’ is lost, that information is lost. If it is altered by an additional error then we will receive a wrong symbol.

(56)

Byzantine and Non-Responsive

Up till now we have considered honest but curious servers.

But what if some servers are slow / fail to respond or introduce errors into their responses.

The previous scheme uses the codes erasure correction capability to retrieve the data.

(r1, . . . ,rn) = (d1.y1, . . . ,dn.yn) +e=

(d1.y1, . . . ,dt+k−1.yt+k−1,dt+k.yt+k+et+k, . . . ,dn.yn+en)

(d1.y1, . . . ,dt+k−1.yt+k−1,dt+k/////////////////// , . . . , dn..yt+k +et+k yn+en+bn)

If an entry with an ’error’ is lost, that information is lost. If it is altered by an additional error then we will receive a wrong symbol.

(57)

Byzantine and Non-Responsive

Private Information Retrieval 23/34

Up till now we have considered honest but curious servers.

But what if some servers are slow / fail to respond or introduce errors into their responses.

The previous scheme uses the codes erasure correction capability to retrieve the data.

(r1, . . . ,rn) = (d1.y1, . . . ,dn.yn) +e=

(d1.y1, . . . ,dt+k−1.yt+k−1,dt+k.yt+k+et+k, . . . ,dn.yn+en)

(d1.y1, . . . ,dt+k−1.yt+k−1,dt+k/////////////////// , . . . , dn..yt+k +et+k yn+en+bn)

If an entry with an ’error’ is lost, that information is lost. If it is altered by an additional error then we will receive a wrong symbol.

(58)

Polynomial Scheme

Assumptions ≤ r non-responsive servers, ≤ b byzantine servers.

For simplicity assume k = n − k − t − r − 2b + 1. (This is not necessary but avoids some complications)

polynomial code files f (z) C=GRS [n, k] query j 6= i g(z) D=GRS [n, t] query j = i g(z) +zk+t−1 ⊂GRS [n, k + t] response j 6= i f (z)g(z) C ? D=GRS [n, k + t − 1] response j = i f (z)g(z) +zk+t−1fi(z) GRS [n, n − r − 2b]

(59)

Polynomial Scheme

Private Information Retrieval 24/34

Assumptions ≤ r non-responsive servers, ≤ b byzantine servers.

For simplicity assume k = n − k − t − r − 2b + 1. (This is not necessary but avoids some complications)

polynomial code files f (z) C=GRS [n, k] query j 6= i g(z) D=GRS [n, t] query j = i g(z) +zk+t−1 ⊂GRS [n, k + t] response j 6= i f (z)g(z) C ? D=GRS [n, k + t − 1] response j = i f (z)g(z) +zk+t−1fi(z) GRS [n, n − r − 2b]

(60)

Polynomial Scheme

Assumptions ≤ r non-responsive servers, ≤ b byzantine servers.

For simplicity assume k = n − k − t − r − 2b + 1. (This is not necessary but avoids some complications)

polynomial code files f (z) C=GRS [n, k] query j 6= i g(z) D=GRS [n, t] query j = i g(z) +zk+t−1 ⊂GRS [n, k + t] response j 6= i f (z)g(z) C ? D=GRS [n, k + t − 1] response j = i f (z)g(z)+zk+t−1fi(z) GRS [n, n − r − 2b]

(61)

Polynomial scheme

Private Information Retrieval 25/34

de g ree 0 t− 1 k − 1 k + t − 1 n − 2 b − r n files query j 6= i query j = i response j 6= i response j = i desired file zk+t−1fi(z)

(62)

Polynomial scheme

de g ree 0 t− 1 k − 1 k + t − 1 n − 2 b − r n files query j 6= i query j = i response j 6= i response j = i desired file zk+t−1fi(z)

(63)

Computation 26/34

(64)

Linear Functions

Server 2 x Server 1 x u =q1 u + ei =q2 hx, u + eii =r2 hx, ui =r1

In the simple scheme, we only want to hide the index

i. Hence about log2(m) bits of information. (Assuming

every request is equally likely)

But we use u ∼ U(Fmq)as a key, which needs

(65)

Linear Functions

Computation 27/34 Server 2 x Server 1 x u =q1 u + ei =q2 hx, u + eii =r2 hx, ui =r1

This is because our scheme can do more! We could

hide any request for a linear combinationP `ixi of the

files.

r2− r1= hx, u + `i − hx, ui = hx, `i =

X `ixi

(66)

Matrix Multiplication

The next step is to utilize helper nodes in order to perform computations for a user.

The standard example is the mulitplication of two big matrices A, B.

These matrices might contain sensitive information and we do not want the helpers to learn anything about the contents of A and B.

(67)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein Computation 29/34 − A1 − .. . − An −             | | B1 . . . Bm | |             = A1B1 · · · A1Bm .. . . .. ... AnB1 · · · AnBm            

Hide the contents of A and B through secret sharing.

f (z) := A1zα1 + · · · +Aαn

n +R(z)

g(z) := B1zβ1 + · · · +Bβm

m +S(z)

Send each server the evaluations f (zi)and g(zi)and

ask them to compute their product.

If we have enough evaluations of fg we can recover its coefficients via interpolation.

(68)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

f (z) := A1zα1+ · · · +Anzαn+R(z)

g(z) := B1zβ1+ · · · +Bmzβm +S(z)

Assume we do not care about privacy for a minute, i.e., R(z) and S(z) are zero.

The term AaBb will appear in the coefficient of zαa+βb

(69)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

Computation 30/34

f (z) := A1zα1+ · · · +Anzαn+R(z)

g(z) := B1zβ1+ · · · +Bmzβm +S(z)

Assume we do not care about privacy for a minute, i.e., R(z) and S(z) are zero.

The term AaBb will appear in the coefficient of zαa+βb

in the product f (z)g(z).

β1 β2 β3

α1 α1+ β1 α1+ β2 α1+ β3

α2 α2+ β1 α2+ β2 α2+ β3

(70)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

f (z) := A1zα1+ · · · +Anzαn+R(z)

g(z) := B1zβ1+ · · · +Bmzβm +S(z)

Assume we do not care about privacy for a minute, i.e., R(z) and S(z) are zero.

The term AaBb will appear in the coefficient of zαa+βb

in the product f (z)g(z).

0 β2 β3

0 0

1 1

(71)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

Computation 30/34

f (z) := A1zα1+ · · · +Anzαn+R(z)

g(z) := B1zβ1+ · · · +Bmzβm +S(z)

Assume we do not care about privacy for a minute, i.e., R(z) and S(z) are zero.

The term AaBb will appear in the coefficient of zαa+βb

in the product f (z)g(z).

0 3 β3

0 0 3

1 1 4

(72)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

f (z) := A1zα1+ · · · +Anzαn+R(z)

g(z) := B1zβ1+ · · · +Bmzβm +S(z)

Assume we do not care about privacy for a minute, i.e., R(z) and S(z) are zero.

The term AaBb will appear in the coefficient of zαa+βb

in the product f (z)g(z). 0 3 6 0 0 3 6 1 1 4 7 2 2 5 8 We need N = 9 evaluations.

(73)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

Computation 31/34

Now we add randomness.

0 3 6 0 0 3 6 1 1 4 7 2 2 5 8 9 9 12 15 N = 16?

(74)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

Now we add randomness.

0 3 6

0 0 3 6

1 1 4 7

2 2 5 8

9 9 12 15

Actually, there are only 12 unknowns, and we only need 12 evaluations.

(75)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

Computation 31/34

Now we add randomness.

0 3 6 9 0 0 3 6 9 1 1 4 7 10 2 2 5 8 11 9 9 12 15 18 N = 15

(76)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

Now we add randomness.

0 3 6 9 10 0 0 3 6 9 10 1 1 4 7 10 11 2 2 5 8 11 12 9 9 12 15 18 13 10 10 13 16 19 20 N = 18

(77)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

Computation 31/34

Now we add randomness.

0 3 6 9 10 11 0 0 3 6 9 10 11 1 1 4 7 10 11 12 2 2 5 8 11 12 13 9 9 12 15 18 19 20 10 10 13 16 19 20 21 11 11 14 17 20 21 22 N = 23

(78)

GASP

D’Oliveira, El Rouayheb, Karpuk, Heinlein

Now we add randomness.

0 3 6 9 10 11 0 0 3 6 9 10 11 1 1 4 7 10 11 12 2 2 5 8 11 12 13 9 9 12 15 18 19 20 10 10 13 16 19 20 21 12 12 15 18 21 22 23 N = 22

(79)

Splitting into Blocks

Computation 32/34 Let A =   A11 A12 A21 A22 A31 A32  , and B = B11 B12 B21 B22  .Then the

blocks of their product are given by the sums

(AB)ik =X

j

AijBjk.

We can realize this as coefficients of a polynomial as well. Let

f (z) := Ai1+Ai2z

g(z) := B2k+B1kz, then

(80)

Splitting into Blocks

Let A =   A11 A12 A21 A22 A31 A32  , and B = B11 B12 B21 B22  .Then the

blocks of their product are given by the sums

(AB)ik =X

j

AijBjk.

We can realize this as coefficients of a polynomial as well. Let

f (z) := Ai1+Ai2z

g(z) := B2k+B1kz, then

(81)

Secure Generalized PolyDot

7

Computation 33/34

An example with up to 2 colluding servers.

A =   A11 A12 A21 A22 A31 A32   B =B11 B12 B21 B22  B21 B11 B22 B12 S1 S2 0 1 8 9 14 15 A11 0 0 1 8 9 14 15 A12 1 1 2 9 10 15 16 A21 2 2 3 10 11 16 17 A22 3 3 4 11 12 17 18 A31 4 4 5 12 13 18 19 A32 5 5 6 13 14 19 20 R1 6 6 7 14 15 20 21 R2 7 7 8 15 16 21 22

Note that e.g. the coefficient of degree5is given by

A31B11+A32B21 = (AB)31.

7

M. Aliasgari, O. Simeone and J. Kliewer, Distributed and Private Coded Matrix Computation with Flexible Communication Load, 2019 IEEE International Symposium on Information Theory (ISIT), Paris, France

(82)

Ongoing Work

Find PIR schemes that do not fall under the restriction of being ’strongly linear’ and exceed the rate of

previous schemes.

Find improved sets of exponents for the secure generalized PolyDot construction.

Expand secure distributed computation to matrices over small fields.

Expand secure distributed computation to other functions.

(83)

Computation 35/34

Thank You!

References

Related documents