Abstract
Oblivious RAM (ORAM), introduced by Goldreich (STOC 1987) and Ostrovsky (STOC 1990), can be used to read and write to memory in a way that hides which locations are being accessed. The best known ORAM schemes have an \(O(\log n)\) overhead per access, where \(n\) is the data size. The work of Goldreich and Ostrovsky (JACM 1996) gave a lower bound, showing that this is optimal for ORAM schemes that operate in a “balls and bins” model, where memory blocks can only be shuffled between different locations but not manipulated otherwise (and the server is used solely as remote storage). The lower bound even extends to weaker settings such as offline ORAM, where all of the accesses to be performed need to be specified ahead of time, and read-only ORAM, which only allows reads but not writes. But can we get lower bounds for general ORAM, beyond “balls and bins”? The work of Boyle and Naor (ITCS 2016) shows that this is unlikely in the offline setting. In particular, they construct an offline ORAM with \(o(\log n)\) overhead assuming the existence of small sorting circuits. Although we do not have instantiations of the latter, ruling them out would require proving new circuit lower bounds. On the other hand, the recent work of Larsen and Nielsen (CRYPTO 2018) shows that there indeed is an \(\Omega (\log n)\) lower bound for general online ORAM. This still leaves the question open for online read-only ORAM or for read/write ORAM where we want very small overhead for the read operations. In this work, we show that a lower bound in these settings is also unlikely. In particular, our main result is a construction of online ORAM, in which the server is used solely as remote storage, where reads (but not writes) have an \(o(\log n)\) overhead, assuming the existence of small sorting circuits as well as very good locally decodable codes (LDCs). Although we do not have instantiations of either of these with the required parameters, ruling them out is beyond current lower bounds.






Similar content being viewed by others
Notes
In [9], the blocks consist solely of the tag, but the algorithm is usually run when tags are concatenated with memory blocks (which are carried as a “payload”, and the complexity increases accordingly). We choose to explicitly include the data portion in the block.
In particular, the accesses performed during \(\textsf {Setup}\) are not included in \(\textsf {AP}\), i.e., it includes only the accesses performed during the \(\textsf {Read}\) and \(\textsf {Write}\) executions.
Recall that the client memory stores blocks of size \({\mathsf {B}}\). Jumping ahead, for the setting discussed in the theorem statement such blocks are large enough to store the entire client memory needed for the metadata ORAM.
Here, we assume \(\lambda \ge \log {M/2k}\), which is the number of bits needed to represent the counter.
We could have similarly defined this notion as an extension of ORAM schemes (that support \(\textsf {write}\) operations), but since we only use this property for RO-ORAM schemes, we choose to define it for this (more restricted) setting.
The construction can use any RO-ORAM scheme, but the \(\textsf {read}\) overhead is at least the overhead of the RO-ORAM scheme. Therefore, to obtain \(o\left( \log n\right) \) overhead, we need to instantiate the ORAM with our RO-ORAM scheme.
We note that several ORAM schemes (such as tree-based ORAM schemes, and in particular the ORAM of Theorem 3.7), though described for logical memories given as arrays, can actually support logical memories given as map data structures.
This assumption is without loss of generality since for the block sizes we consider, concatenating the address to the block would cause at most a constant multiplicative increase in the block size.
More accurately, blocks from level i cause one access to \(\mathcal {DB}^i\) and one access to \(\mathcal {DB}^{i+1}\), but these operations have the same complexity since they entail reading or writing a size-\({\mathsf {B}}\) block.
References
I. Abraham, C.W. Fletcher, K. Nayak, B. Pinkas, L. Ren, Asymptotically tight bounds for composing ORAM with PIR, in Public-Key Cryptography—PKC 2017—20th IACR International Conference on Practice and Theory in Public-Key Cryptography, Amsterdam, The Netherlands, March 28–31, 2017, Proceedings, Part I (2017), pp. 91–120
G. Asharov, I. Komargodski, W.-K. Lin, K. Nayak, E. Peserico, E. Shi, OptORAMa: optimal oblivious RAM, in Advances in Cryptology—EUROCRYPT 2020—39th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Zagreb, Croatia, May 10–14, 2020, Proceedings, Part II (2020), pp. 403–432
M. Ajtai, J. Komlós, E. Szemerédi, An \({O}(n \log n)\) sorting network, in Proceedings of the 15th Annual ACM Symposium on Theory of Computing, 25-27 April, 1983 (1983), pp. 1–9.
D. Apon, J. Katz, E. Shi, A. Thiruvengadam, Verifiable oblivious storage, in Public-Key Cryptography—PKC 2014—17th International Conference on Practice and Theory in Public-Key Cryptography, Buenos Aires, Argentina, March 26–28, 2014. Proceedings (2014), pp. 131–148
E. Boyle, K.-M. Chung, R. Pass, Large-scale secure computation: multi-party computation for (parallel) RAM programs, in Advances in Cryptology—CRYPTO 2015—35th Annual Cryptology Conference, Santa Barbara, CA, USA, August 16–20, 2015, Proceedings, Part II (2015), pp. 742–762
A. Beimel, Y. Ishai, T. Malkin, Reducing the servers computation in private information retrieval: PIR with preprocessing, in Advances in Cryptology—CRYPTO 2000, 20th Annual International Cryptology Conference, Santa Barbara, California, USA, August 20–24, 2000, Proceedings (2000), pp. 55–73
E. Boyle, Y. Ishai, R. Pass, M. Wootters, Can we access a database both locally and privately?, in Theory of Cryptography—15th International Conference, TCC 2017, Baltimore, MD, USA, November 12–15, 2017, Proceedings, Part II (2017), pp. 662–693
N. Blum. A Boolean function requiring \(3n\) network size. Theor. Comput. Sci. 28, 337–345 (1984)
E. Boyle, M. Naor, Is there an oblivious RAM lower bound?, in Proceedings of the 2016 ACM Conference on Innovations in Theoretical Computer Science, Cambridge, MA, USA, January 14–16, 2016 (2016), pp. 357–368
D. Cash, A. Drucker, A. Hoover, A lower bound for one-round oblivious RAM, in Theory of Cryptography—18th International Conference, TCC 2020, Durham, NC, USA, November 16–19, 2020, Proceedings, Part I (2020), pp. 457–485
Y.M. Chee, T. Feng, S. Ling, H. Wang, L.F. Zhang (2013) Query-efficient locally decodable codes of subexponential length. Computational Complexity, 22(1):159–189
R. Canetti, J. Holmgren, S. Richelson, Towards doubly efficient private information retrieval, in Theory of Cryptography—15th International Conference, TCC 2017, Baltimore, MD, USA, November 12–15, 2017, Proceedings, Part II (2017), pp. 694–726
D. Cash, A. Küpçü, D. Wichs, Dynamic proofs of retrievability via oblivious RAM, in Advances in Cryptology—EUROCRYPT 2013, 32nd Annual International Conference on the Theory and Applications of Cryptographic Techniques, Athens, Greece, May 26–30, 2013. Proceedings (2013), pp. 279–295
R. Durstenfeld, Algorithm 235: random permutation. Commun. ACM, 7(7), 420 (1964)
S. Devadas, M. van Dijk, C.W. Fletcher, L. Ren, E. Shi, D. Wichs, Onion ORAM: a constant bandwidth blowup oblivious RAM, in Theory of Cryptography—13th International Conference, TCC 2016-A, Tel Aviv, Israel, January 10–13, 2016, Proceedings, Part II (2016), pp. 145–174
K. Efremenko, 3-query locally decodable codes of subexponential length, in Proceedings of the 41st Annual ACM Symposium on Theory of Computing, STOC 2009, Bethesda, MD, USA, May 31–June 2, 2009 (2009), pp. 39–44
M.G. Find, A. Golovnev, E.A. Hirsch, A.S. Kulikov, A better-than-\(3n\) lower bound for the circuit complexity of an explicit function, in IEEE 57th Annual Symposium on Foundations of Computer Science, FOCS 2016, 9–11 October 2016, Hyatt Regency, New Brunswick, New Jersey, USA (2016), pp. 89–98
A. Farhadi, M.T. Hajiaghayi, K.G. Larsen, E. Shi, Lower bounds for external memory integer sorting via network coding, in Proceedings of the 51st Annual ACM SIGACT Symposium on Theory of Computing, STOC 2019, Phoenix, AZ, USA, June 23–26, 2019 (2019), pp. 997–1008
C.W. Fletcher, M. Naveed, L. Ren, E. Shi, E. Stefanov, Bucket ORAM: single online roundtrip, constant bandwidth oblivious RAM. IACR Cryptol. ePrint Arch., 2015, 1065 (2015)
C. Gentry, K.A. Goldman, S. Halevi, C.S. Jutla, M. Raykova, D. Wichs, Optimizing ORAM and using it efficiently for secure computation, in Privacy Enhancing Technologies—13th International Symposium, PETS 2013, Bloomington, IN, USA, July 10–12, 2013. Proceedings (2013), pp. 1–18
C. Gentry, S. Halevi, C.S. Jutla, M. Raykova, Private database access with HE-over-ORAM architecture, in Applied Cryptography and Network Security—13th International Conference, ACNS 2015, New York, NY, USA, June 2–5, 2015, Revised Selected Papers (2015), pp. 172–191
S.D. Gordon, J. Katz, V. Kolesnikov, F. Krell, T. Malkin, M. Raykova, Y. Vahlis, Secure two-party computation in sublinear (amortized) time, in The ACM Conference on Computer and Communications Security, CCS’12, Raleigh, NC, USA, October 16–18, 2012 (2012), pp. 513–524
S.D. Gordon, J. Katz, X. Wang, Simple and efficient two-server ORAM, in Advances in Cryptology—ASIACRYPT 2018—24th International Conference on the Theory and Application of Cryptology and Information Security, Brisbane, QLD, Australia, December 2–6, 2018, Proceedings, Part III (2018), pp. 141–157
M.T. Goodrich, M. Mitzenmacher, O. Ohrimenko, R. Tamassia, Privacy-preserving group data access via stateless oblivious RAM simulation, in Proceedings of the 23rd Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2012, Kyoto, Japan, January 17–19, 2012 (2012), pp. 157–167
O. Goldreich, R. Ostrovsky. Software protection and simulation on oblivious RAMs. J. ACM, 43(3), 431–473 (1996)
O. Goldreich, Towards a theory of software protection and simulation by oblivious RAMs, in Proceedings of the 19th Annual ACM Symposium on Theory of Computing, 1987, New York, New York, USA (1987), pp. 182–194
M.T. Goodrich, Zig-zag sort: a simple deterministic data-oblivious sorting algorithm running in \({O}(n \log n)\) time, in Symposium on Theory of Computing, STOC 2014, New York, NY, USA, May 31–June 03, 2014 (2014), pp. 684–693
B. Hemenway, R. Ostrovsky, Public-key locally-decodable codes, in Advances in Cryptology—CRYPTO 2008, 28th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 17–21, 2008. Proceedings (2008), pp. 126–143
B. Hemenway, R. Ostrovsky, M.J. Strauss, M. Wootters, Public key locally decodable codes with short keys, in Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques—14th International Workshop, APPROX 2011, and 15th International Workshop, RANDOM 2011, Princeton, NJ, USA, August 17–19, 2011. Proceedings (2011), pp. 605–615
A. Hamlin, R. Ostrovsky, M. Weiss, D. Wichs, Private anonymous data access, in Advances in Cryptology—EUROCRYPT 2019—38th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Darmstadt, Germany, May 19–23, 2019, Proceedings, Part II (2019), pp. 244–273
K. Iwama, H. Morizumi, An explicit lower bound of \(5n - o(n)\) for boolean circuits, in Mathematical Foundations of Computer Science 2002, 27th International Symposium, MFCS 2002, Warsaw, Poland, August 26–30, 2002, Proceedings (2002), pp. 353–364
T. Itoh, Y. Suzuki, Improved constructions for query-efficient locally decodable codes of subexponential length. IEICE Trans. 93-D(2), 263–270 (2010)
E. Kushilevitz, S. Lu, R. Ostrovsky. On the (in)security of hash-based oblivious RAM and a new balancing scheme, in Proceedings of the 23rd Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2012, Kyoto, Japan, January 17–19, 2012 (2012), pp. 143–156
E. Kushilevitz, T. Mour, Sub-logarithmic distributed oblivious RAM with small block size. In Public-Key Cryptography—PKC 2019—22nd IACR International Conference on Practice and Theory of Public-Key Cryptography, Beijing, China, April 14–17, 2019, Proceedings, Part I (2019), pp. 3–33
E. Kushilevitz, R. Ostrovsky, Replication is NOT needed: SINGLE database, computationally-private information retrieval, in 38th Annual Symposium on Foundations of Computer Science, FOCS’97, Miami Beach, Florida, USA, October 19–22, 1997 (1997), pp. 364–373
M. Keller, P. Scholl, Efficient, oblivious data structures for MPC, in Advances in Cryptology—ASIACRYPT 2014—20th International Conference on the Theory and Application of Cryptology and Information Security, Kaoshiung, Taiwan, R.O.C., December 7–11, 2014, Proceedings, Part II (2014), pp. 506–525
J. Katz, L. Trevisan, On the efficiency of local decoding procedures for error-correcting codes, in Proceedings of the 32nd Annual ACM Symposium on Theory of Computing, May 21–23, 2000, Portland, OR, USA (2000), pp. 80–86
C. Liu, Y. Huang, E. Shi, J. Katz, M.W. Hicks, Automating efficient RAM-model secure computation, in 2014 IEEE Symposium on Security and Privacy, SP 2014, Berkeley, CA, USA, May 18–21, 2014 (2014), pp. 623–638
K.G. Larsen, J.B. Nielsen, Yes, there is an oblivious RAM lower bound!, in Advances in Cryptology—CRYPTO 2018—38th Annual International Cryptology Conference, Santa Barbara, CA, USA, August 19-23, 2018, Proceedings, Part II (2018), pp. 523–542
S. Lu, R. Ostrovsky, Distributed oblivious RAM for secure two-party computation, in Theory of Cryptography—10th Theory of Cryptography Conference, TCC 2013, Tokyo, Japan, March 3–6, 2013. Proceedings (2013), pp. 377–396
J.R. Lorch, B. Parno, J.W. Mickens, M. Raykova, J. Schiffman, Shroud: ensuring private access to large-scale data in the data center, in Proceedings of the 11th USENIX conference on File and Storage Technologies, FAST 2013, San Jose, CA, USA, February 12–15, 2013 (2013), pp. 199–214
T. Mayberry, E.-O. Blass, A.H. Chan. Efficient private file retrieval by combining ORAM and PIR, in 21st Annual Network and Distributed System Security Symposium, NDSS 2014, San Diego, California, USA, February 23–26, 2014 (2014)
M. Maas, E. Love, E. Stefanov, M. Tiwari, E. Shi, K. Asanovic, J. Kubiatowicz, D. Song, PHANTOM: practical oblivious computation in a secure processor, in 2013 ACM SIGSAC Conference on Computer and Communications Security, CCS’13, Berlin, Germany, November 4–8, 2013 (2013), pp. 311–324
R. Ostrovsky, V. Shoup, Private information storage (extended abstract), in Proceedings of the 29th Annual ACM Symposium on the Theory of Computing, El Paso, Texas, USA, May 4–6, 1997 (1997), pp. 294–303
R. Ostrovsky, Efficient computation on oblivious RAMs, in Proceedings of the 22nd Annual ACM Symposium on Theory of Computing, May 13–17, 1990, Baltimore, Maryland, USA (1990), pp. 514–523
M. Patrascu, E.D. Demaine. Logarithmic lower bounds in the cell-probe model. SIAM J. Comput. 35(4), 932–963 (2006)
S. Patel, G. Persiano, M. Raykova, K. Yeo, PanORAMa: oblivious RAM with logarithmic overhead, in 59th IEEE Annual Symposium on Foundations of Computer Science, FOCS 2018, Paris, France, October 7–9, 2018 (2018), pp. 871–882
P. Raghavendra. A note on Yekhanin’s locally decodable codes. Electron. Colloquium Comput. Complex. (ECCC), 14(016) (2007)
L. Ren, C.W. Fletcher, A. Kwon, E. Stefanov, E. Shi, M. van Dijk, S. Devadas. Constants count: practical improvements to oblivious RAM, in 24th USENIX Security Symposium, USENIX Security 15, Washington, D.C., USA, August 12–14, 2015. (2015), pp. 415–430
E. Shi, T.-H. Hubert Chan, E. Stefanov, M. Li, Oblivious RAM with \({O}((\log {N})^3)\) worst-case cost, in Advances in Cryptology—ASIACRYPT 2011—17th International Conference on the Theory and Application of Cryptology and Information Security, Seoul, South Korea, December 4–8, 2011. Proceedings (2011), pp. 197–214
E. Stefanov, E. Shi, ObliviStore: high performance oblivious distributed cloud data store. In 20th Annual Network and Distributed System Security Symposium, NDSS 2013, San Diego, California, USA, February 24–27, 2013 (2013)
E. Stefanov, E. Shi, D.X. Song, Towards practical oblivious RAM, in 19th Annual Network and Distributed System Security Symposium, NDSS 2012, San Diego, California, USA, February 5–8, 2012 (2012)
E. Stefanov, M. van Dijk, E. Shi, C.W. Fletcher, L. Ren, X. Yu, S. Devadas, Path ORAM: an extremely simple oblivious RAM protocol, in 2013 ACM SIGSAC Conference on Computer and Communications Security, CCS’13, Berlin, Germany, November 4–8, 2013 (2013), pp. 299–310
X. Wang, T.-H. Hubert Chan, E. Shi, Circuit ORAM: on tightness of the Goldreich–Ostrovsky lower bound, in Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, Denver, CO, USA, October 12–6, 2015 (2015), pp. 850–861
X.S. Wang, Y. Huang, T.-H. Hubert Chan, A. Shelat, E. Shi, SCORAM: oblivious RAM for secure computation, in Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, Scottsdale, AZ, USA, November 3–7, 2014 (2014), pp. 191–202
D.P. Woodruff, New lower bounds for general locally decodable codes. Electron. Colloquium Comput. Complex. (ECCC) 14(006) (2007)
P. Williams, R. Sion, Single round access privacy on outsourced storage, in The ACM Conference on Computer and Communications Security, CCS’12, Raleigh, NC, USA, October 16–18, 2012 (2012), pp. 293–304
M. Weiss, D. Wichs, Is there an oblivious RAM lower bound for online reads?, in Theory of Cryptography—16th International Conference, TCC 2018, Panaji, India, November 11–14, 2018, Proceedings, Part II (2018), pp. 603–635
S. Yekhanin, Towards 3-query locally decodable codes of subexponential length, in Proceedings of the 39th Annual ACM Symposium on Theory of Computing, San Diego, California, USA, June 11–13, 2007 (2007), pp. 266–274
X. Yu, C.W. Fletcher, L. Ren, M. van Dijk, S. Devadas, Generalized external interaction with tamper-resistant hardware with bounded information leakage, in CCSW’13, Proceedings of the 2013 ACM Cloud Computing Security Workshop, Co-located with CCS 2013, Berlin, Germany, November 4, 2013 (2013), pp. 23–34
J. Zhang, Q. Ma, W. Zhang, D. Qiao, MSKT-ORAM: a constant bandwidth ORAM without homomorphic encryption. IACR Cryptol. ePrint Arch. 2016, 882 (2016)
Acknowledgements
We thank the anonymous Journal of Cryptology reviewers for their comments, which helped us improve the paper. This research was supported by NSF Grants CNS-1314722, CNS-1413964, CNS-1750795 and the Alfred P. Sloan Research Fellowship. The first author was supported in part by The Eric and Wendy Schmidt Postdoctoral Grant for Women in Mathematical and Computing Sciences.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Daniele Micciancio
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Weiss, M., Wichs, D. Is There an Oblivious RAM Lower Bound for Online Reads?. J Cryptol 34, 18 (2021). https://doi.org/10.1007/s00145-021-09392-1
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s00145-021-09392-1