[Resource Topic] 2020/1132: A Logarithmic Lower Bound for Oblivious RAM (for all parameters)

Welcome to the resource topic for 2020/1132

Title:
A Logarithmic Lower Bound for Oblivious RAM (for all parameters)

Authors: Ilan Komargodski, Wei-Kai Lin

Abstract:

An Oblivious RAM (ORAM), introduced by Goldreich and Ostrovsky (J. ACM 1996), is a (probabilistic) RAM that hides its access pattern, i.e., for every input the observed locations accessed are similarly distributed. In recent years there has been great progress both in terms of upper bounds as well as in terms of lower bounds, essentially pinning down the smallest overhead possible in various settings of parameters. We observe that there is a very natural setting of parameters in which no non-trivial lower bound is known, even not ones in restricted models of computation (like the so called balls and bins model). Let N and {\boldsymbol w} be the number of cells and bit-size of cells, respectively, in the RAM that we wish to simulate obliviously. Denote by {\boldsymbol b} the cell bit-size of the ORAM. All previous ORAM lower bounds have a multiplicative {\boldsymbol w}/{\boldsymbol b} factor which makes them trivial in many settings of parameters of interest. In this work, we prove a new ORAM lower bound that captures this setting (and in all other settings it is at least as good as previous ones, quantitatively). We show that any ORAM must make (amortized) $$ \Omega\left(\log \left(\frac{N{\boldsymbol w}}{m}\right)/\log\left(\frac{{\boldsymbol b}}{{\boldsymbol w}}\right)\right) $$ memory probes for every logical operation. Here, m denotes the bit-size of the local storage of the ORAM. Our lower bound implies that logarithmic overhead in accesses is necessary, even if {\boldsymbol b} \gg {\boldsymbol w}. Our lower bound is tight for all settings of parameters, up to the \log({\boldsymbol b}/{\boldsymbol w}) factor. Our bound also extends to the non-colluding multi-server setting. As an application, we derive the first (unconditional) separation between the overhead needed for ORAMs in the online vs. offline models. Specifically, we show that when {\boldsymbol w}=\log N and {\boldsymbol b},m \in \mathsf{poly}\log N, there exists an offline ORAM that makes (on average) o(1) memory probes per logical operation while every online one must make \Omega(\log N/\log\log N) memory probes per logical operation. No such previous separation was known for any setting of parameters, not even in the balls and bins model.

ePrint: https://eprint.iacr.org/2020/1132

Talk: https://www.youtube.com/watch?v=4XdOEQcRIBc

Slides: https://iacr.org/submit/files/slides/2021/crypto/crypto2021/155/slides.pdf

See all topics related to this paper.

Feel free to post resources that are related to this paper below.

Example resources include: implementations, explanation materials, talks, slides, links to previous discussions on other websites.

For more information, see the rules for Resource Topics .