  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, we build a dynamic scheme with page
efficiency $O(\log \log N)$ and storage efficiency $O(1)$, called LayeredSSE.
The main technical innovation behind LayeredSSE is a new weighted extension of
the two-choice allocation process, of independent interest.
  (2) Second, we introduce the Generic Local Transform, and combine it with
LayeredSSE to build a dynamic SSE scheme with storage efficiency $O(1)$,
locality $O(1)$, and read efficiency $O(\log\log N)$, under the condition that
the longest list is of size $O(N^{1-1/\log \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 $O(1)$, locality $O(1)$, and read efficiency
$O(\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.
