In this article, we tackle for the first time the problem of dynamic memory-efficient Searchable Symmetric Encryption (SSE). In the term “memory-efficient” SSE, we encompass both the goals of local SSE, and page-efficient SSE. The centerpiece of our approach is a novel connection between those two goals. We introduce a map, called the Generic Local Transform, which takes as input a page-efficient SSE scheme with certain special features, and outputs an SSE scheme with strong locality properties. We obtain several results. (1) First, for page-efficient SSE with page size p, we build a dynamic scheme with storage efficiency \(\mathcal {O}({1})\) and page efficiency \(\widetilde{\mathcal {O}}\left( {\textrm{log}\, \textrm{log}\, (N/p)}\right) \), called \(\textsf{LayeredSSE}\). The main technical innovation behind \(\textsf{LayeredSSE}\) is a novel weighted extension of the two-choice allocation process, of independent interest. (2) Second, we introduce the Generic Local Transform, and combine it with \(\textsf{LayeredSSE}\) to build a dynamic SSE scheme with storage efficiency \(\mathcal {O}({1})\), locality \(\mathcal {O}({1})\), and read efficiency \(\widetilde{\mathcal {O}}\left( {\textrm{log}\,\textrm{log}\, N}\right) \), under the condition that the longest list is of size \(\mathcal {O}({N^{1-1/\textrm{log}\, \textrm{log}\, \lambda }})\). This matches, in every respect, the purely static construction of Asharov et al. presented at STOC 2016: dynamism comes at no extra cost. (3) Finally, by applying the Generic Local Transform to a variant of the Tethys scheme by Bossuat et al. from Crypto 2021, we build an unconditional static SSE with storage efficiency \(\mathcal {O}({1})\), locality \(\mathcal {O}({1})\), and read efficiency \(\mathcal {O}({\textrm{log}^\varepsilon N})\), for an arbitrarily small constant \(\varepsilon > 0\). To our knowledge, this is the construction that comes closest to the lower bound presented by Cash and Tessaro at Eurocrypt 2014.
Read more