Leakage in the Cell Probe Model Lower Bounds for Response Hiding Encrypted Multi-Maps
Giuseppe Persiano
Universit` a di Salerno
June, 2019 Describing joint work with: Sarvar Patel and Kevin Yeo (Google LLC)
Giuseppe Persiano (UNISA) June 2019 1 / 27
Leakage in the Cell Probe Model Lower Bounds for Response Hiding - - PowerPoint PPT Presentation
Leakage in the Cell Probe Model Lower Bounds for Response Hiding Encrypted Multi-Maps Giuseppe Persiano Universit` a di Salerno June, 2019 Describing joint work with: Sarvar Patel and Kevin Yeo (Google LLC) Giuseppe Persiano (UNISA) June
Giuseppe Persiano (UNISA) June 2019 1 / 27
Giuseppe Persiano (UNISA) June 2019 2 / 27
◮ client can read and write any cell in Server memory ◮ each cell is w-bit wide
◮ viewDS(O) =
Giuseppe Persiano (UNISA) June 2019 3 / 27
Giuseppe Persiano (UNISA) June 2019 4 / 27
Giuseppe Persiano (UNISA) June 2019 5 / 27
Giuseppe Persiano (UNISA) June 2019 5 / 27
Giuseppe Persiano (UNISA) June 2019 5 / 27
◮ each probe to at most one node
◮ coding argument leveraging on randomness of the entries of the array
Giuseppe Persiano (UNISA) June 2019 6 / 27
◮ the content of the array (for Write) ◮ the slot of the operation (for Read and Write)
Giuseppe Persiano (UNISA) June 2019 7 / 27
◮ the content of the array (for Write) ◮ the slot of the operation (for Read and Write)
Giuseppe Persiano (UNISA) June 2019 7 / 27
Giuseppe Persiano (UNISA) June 2019 8 / 27
Giuseppe Persiano (UNISA) June 2019 9 / 27
Giuseppe Persiano (UNISA) June 2019 9 / 27
Giuseppe Persiano (UNISA) June 2019 10 / 27
Giuseppe Persiano (UNISA) June 2019 10 / 27
Giuseppe Persiano (UNISA) June 2019 10 / 27
1 Add(key, v): adds v to the tuple associated with key 2 Get(key): returns the tuple associated with key Giuseppe Persiano (UNISA) June 2019 11 / 27
1 Add(key, v): adds v to the tuple associated with key 2 Get(key): returns the tuple associated with key
Giuseppe Persiano (UNISA) June 2019 11 / 27
1 Add(key, v): adds v to the tuple associated with key 2 Get(key): returns the tuple associated with key
Giuseppe Persiano (UNISA) June 2019 11 / 27
1 Add(key, v): adds v to the tuple associated with key 2 Get(key): returns the tuple associated with key
◮ ORAM is a MM with all tuples of length 1; Giuseppe Persiano (UNISA) June 2019 11 / 27
Giuseppe Persiano (UNISA) June 2019 12 / 27
Giuseppe Persiano (UNISA) June 2019 12 / 27
Giuseppe Persiano (UNISA) June 2019 12 / 27
Giuseppe Persiano (UNISA) June 2019 12 / 27
Giuseppe Persiano (UNISA) June 2019 12 / 27
Giuseppe Persiano (UNISA) June 2019 12 / 27
1 if opi = Get(keyi) then LG(Oi) =
2 if opi = Add(keyi, vi) then LG(Oi) =
Giuseppe Persiano (UNISA) June 2019 13 / 27
1 if opi = Get(keyi) then LA(Oi) =
2 if opi = Add(keyi, vi) then LA(Oi) = (Add, keyi, vi)
Giuseppe Persiano (UNISA) June 2019 14 / 27
Giuseppe Persiano (UNISA) June 2019 15 / 27
Giuseppe Persiano (UNISA) June 2019 15 / 27
Giuseppe Persiano (UNISA) June 2019 15 / 27
◮ can only invoke obliviousness for distribution with same leakage ◮ we prove lower bound for very leaky implementations
◮ need to identify a different source of randomness for the encoding
Giuseppe Persiano (UNISA) June 2019 16 / 27
1 the following disjoint sets of values ◮ V0 consisting of k values; ◮ V1, . . . , Vp each consisting of nǫ values; 2 the following disjoint sets of keys: ◮ sets K a
i , for i = 1, . . . , p, each of size nǫ;
◮ sets K g
i , for i = 1, . . . , p, each of size nǫ;
Giuseppe Persiano (UNISA) June 2019 17 / 27
1 the following disjoint sets of values ◮ V0 consisting of k values; ◮ V1, . . . , Vp each consisting of nǫ values; 2 the following disjoint sets of keys: ◮ sets K a
i , for i = 1, . . . , p, each of size nǫ;
◮ sets K g
i , for i = 1, . . . , p, each of size nǫ;
Giuseppe Persiano (UNISA) June 2019 17 / 27
Giuseppe Persiano (UNISA) June 2019 18 / 27
Giuseppe Persiano (UNISA) June 2019 19 / 27
Giuseppe Persiano (UNISA) June 2019 19 / 27
Giuseppe Persiano (UNISA) June 2019 19 / 27
Giuseppe Persiano (UNISA) June 2019 19 / 27
Giuseppe Persiano (UNISA) June 2019 19 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 20 / 27
Giuseppe Persiano (UNISA) June 2019 21 / 27
Giuseppe Persiano (UNISA) June 2019 21 / 27
Giuseppe Persiano (UNISA) June 2019 21 / 27
Giuseppe Persiano (UNISA) June 2019 21 / 27
Giuseppe Persiano (UNISA) June 2019 22 / 27
Giuseppe Persiano (UNISA) June 2019 22 / 27
Giuseppe Persiano (UNISA) June 2019 22 / 27
Giuseppe Persiano (UNISA) June 2019 22 / 27
Giuseppe Persiano (UNISA) June 2019 22 / 27
Giuseppe Persiano (UNISA) June 2019 23 / 27
Giuseppe Persiano (UNISA) June 2019 23 / 27
Giuseppe Persiano (UNISA) June 2019 23 / 27
Giuseppe Persiano (UNISA) June 2019 23 / 27
Giuseppe Persiano (UNISA) June 2019 24 / 27
Giuseppe Persiano (UNISA) June 2019 24 / 27
Giuseppe Persiano (UNISA) June 2019 24 / 27
Giuseppe Persiano (UNISA) June 2019 25 / 27
◮
v Count(v) is a lower bound to the number of probes
Giuseppe Persiano (UNISA) June 2019 25 / 27
◮
v Count(v) is a lower bound to the number of probes
Giuseppe Persiano (UNISA) June 2019 25 / 27
◮
v Count(v) is a lower bound to the number of probes
◮ each level contributes n · k · log n
w
Giuseppe Persiano (UNISA) June 2019 25 / 27
◮
v Count(v) is a lower bound to the number of probes
◮ each level contributes n · k · log n
w
Giuseppe Persiano (UNISA) June 2019 25 / 27
◮
v Count(v) is a lower bound to the number of probes
◮ each level contributes n · k · log n
w
Giuseppe Persiano (UNISA) June 2019 25 / 27
◮
v Count(v) is a lower bound to the number of probes
◮ each level contributes n · k · log n
w
◮ Θ(nk) Add Giuseppe Persiano (UNISA) June 2019 25 / 27
◮
v Count(v) is a lower bound to the number of probes
◮ each level contributes n · k · log n
w
◮ Θ(nk) Add ◮ Θ(n) Get each with Θ(k) results each Giuseppe Persiano (UNISA) June 2019 25 / 27
◮
v Count(v) is a lower bound to the number of probes
◮ each level contributes n · k · log n
w
◮ Θ(nk) Add ◮ Θ(n) Get each with Θ(k) results each
June 2019 25 / 27
Giuseppe Persiano (UNISA) June 2019 26 / 27
Giuseppe Persiano (UNISA) June 2019 26 / 27
Giuseppe Persiano (UNISA) June 2019 26 / 27
◮ static EMM can be implemented with constant slowdown via cuckoo
Giuseppe Persiano (UNISA) June 2019 27 / 27
◮ static EMM can be implemented with constant slowdown via cuckoo
◮ proof only uses addition of values to keys Giuseppe Persiano (UNISA) June 2019 27 / 27
◮ static EMM can be implemented with constant slowdown via cuckoo
◮ proof only uses addition of values to keys ◮ no remove operation Giuseppe Persiano (UNISA) June 2019 27 / 27