Perfectly Oblivious (Parallel) RAM Revisited, and Improved Constructions

Authors T-H. Hubert Chan, Elaine Shi, Wei-Kai Lin, Kartik Nayak

Thumbnail PDF


  • Filesize: 0.78 MB
  • 23 pages

Document Identifiers

Author Details

T-H. Hubert Chan
  • Department of Computer Science, University of Hong Kong, Hong Kong
Elaine Shi
  • Computer Science Department, Carnegie Mellon University, Pittsburgh, PA, USA
Wei-Kai Lin
  • Department of Computer Science, Cornell University, Ithaca, NY, USA
Kartik Nayak
  • Department of Computer Sciences, Duke University, Durham, NC, USA


Author ordering is randomized.

Cite AsGet BibTex

T-H. Hubert Chan, Elaine Shi, Wei-Kai Lin, and Kartik Nayak. Perfectly Oblivious (Parallel) RAM Revisited, and Improved Constructions. In 2nd Conference on Information-Theoretic Cryptography (ITC 2021). Leibniz International Proceedings in Informatics (LIPIcs), Volume 199, pp. 8:1-8:23, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2021)


Oblivious RAM (ORAM) is a technique for compiling any RAM program to an oblivious counterpart, i.e., one whose access patterns do not leak information about the secret inputs. Similarly, Oblivious Parallel RAM (OPRAM) compiles a parallel RAM program to an oblivious counterpart. In this paper, we care about ORAM/OPRAM with perfect security, i.e., the access patterns must be identically distributed no matter what the program’s memory request sequence is. In the past, two types of perfect ORAMs/OPRAMs have been considered: constructions whose performance bounds hold in expectation (but may occasionally run more slowly); and constructions whose performance bounds hold deterministically (even though the algorithms themselves are randomized). In this paper, we revisit the performance metrics for perfect ORAM/OPRAM, and show novel constructions that achieve asymptotical improvements for all performance metrics. Our first result is a new perfectly secure OPRAM scheme with O(log³ N/log log N) expected overhead. In comparison, prior literature has been stuck at O(log³ N) for more than a decade. Next, we show how to construct a perfect ORAM with O(log³ N/log log N) deterministic simulation overhead. We further show how to make the scheme parallel, resulting in an perfect OPRAM with O(log⁴ N/log log N) deterministic simulation overhead. For perfect ORAMs/OPRAMs with deterministic performance bounds, our results achieve subexponential improvement over the state-of-the-art. Specifically, the best known prior scheme incurs more than √N deterministic simulation overhead (Raskin and Simkin, Asiacrypt'19); moreover, their scheme works only for the sequential setting and is not amenable to parallelization. Finally, we additionally consider perfect ORAMs/OPRAMs whose performance bounds hold with high probability. For this new performance metric, we show new constructions whose simulation overhead is upper bounded by O(log³ /log log N) except with negligible in N probability, i.e., we prove high-probability performance bounds that match the expected bounds mentioned earlier.

Subject Classification

ACM Subject Classification
  • Theory of computation → Cryptographic protocols
  • perfect oblivious RAM
  • oblivious PRAM


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. M. Ajtai, J. Komlós, and E. Szemerédi. An O(N Log N) sorting network. In Proceedings of the Fifteenth Annual ACM Symposium on Theory of Computing, STOC '83, pages 1-9, New York, NY, USA, 1983. ACM. Google Scholar
  2. Miklós Ajtai. Oblivious rams without cryptographic assumptions. In STOC, 2010. Google Scholar
  3. Laurent Alonso and René Schott. A parallel algorithm for the generation of a permutation and applications. Theoretical Computer Science, 159(1):15-28, 1996. Google Scholar
  4. Gilad Asharov, Hubert Chan, Kartik Nayak, Rafael Pass, Ling Ren, and Elaine Shi. Locality-preserving oblivious ram. In Eurocrypt, 2019. Google Scholar
  5. Gilad Asharov, Ilan Komargodski, Wei-Kai Lin, Kartik Nayak, Enoch Peserico, and Elaine Shi. Optorama: Optimal oblivious ram. In Anne Canteaut and Yuval Ishai, editors, Advances in Cryptology - EUROCRYPT 2020, pages 403-432, Cham, 2020. Springer International Publishing. Google Scholar
  6. Gilad Asharov, Ilan Komargodski, Wei-Kai Lin, Enoch Peserico, and Elaine Shi. Oblivious Parallel Tight Compaction. In 1st Conference on Information-Theoretic Cryptography (ITC 2020), volume 163 of Leibniz International Proceedings in Informatics (LIPIcs), pages 11:1-11:23, 2020. Google Scholar
  7. Gilad Asharov, Ilan Komargodski, Wei-Kai Lin, Enoch Peserico, and Elaine Shi. Optimal oblivious parallel RAM. Cryptology ePrint Archive, Report 2020/1292, 2020. URL:
  8. K. E. Batcher. Sorting Networks and Their Applications. In AFIPS '68 (Spring), 1968. Google Scholar
  9. Elette Boyle, Kai-Min Chung, and Rafael Pass. Oblivious parallel RAM and applications. In Theory of Cryptography - 13th International Conference, TCC 2016-A, Tel Aviv, Israel, January 10-13, 2016, Proceedings, Part II, pages 175-204, 2016. Google Scholar
  10. T-H. Hubert Chan, Kai-Min Chung, and Elaine Shi. On the depth of oblivious parallel RAM. In Asiacrypt, 2017. Google Scholar
  11. T-H. Hubert Chan, Yue Guo, Wei-Kai Lin, and Elaine Shi. Oblivious hashing revisited, and applications to asymptotically efficient ORAM and OPRAM. In Asiacrypt, 2017. Google Scholar
  12. T-H. Hubert Chan, Kartik Nayak, and Elaine Shi. Perfectly secure oblivious parallel RAM. In TCC, 2018. Google Scholar
  13. T-H. Hubert Chan and Elaine Shi. Circuit OPRAM: A unifying framework for computationally and statistically secure ORAMs and OPRAMs. In TCC, 2017. Google Scholar
  14. T-H. Hubert Chan, Elaine Shi, Wei-Kai Lin, and Kartik Nayak. Perfectly oblivious (parallel) RAM revisited, and improved constructions. Cryptology ePrint Archive, Report 2020/604, 2020. URL:
  15. Kai-Min Chung, Zhenming Liu, and Rafael Pass. Statistically-secure ORAM with Õ(log²n) overhead. In Asiacrypt, 2014. Google Scholar
  16. Artur Czumaj. Random Permutations Using Switching Networks. In Proceedings of the Forty-seventh Annual ACM Symposium on Theory of Computing, STOC '15, pages 703-712, New York, NY, USA, 2015. ACM. Google Scholar
  17. Ivan Damgård, Sigurd Meldgaard, and Jesper Buus Nielsen. Perfectly secure oblivious RAM without random oracles. In TCC, pages 144-163, 2011. Google Scholar
  18. Ioannis Demertzis, Dimitrios Papadopoulos, and Charalampos Papamanthou. Searchable encryption with optimal locality: Achieving sublogarithmic read efficiency. In Advances in Cryptology - CRYPTO 2018, 2018. Google Scholar
  19. Christopher W. Fletcher, Ling Ren, Xiangyao Yu, Marten van Dijk, Omer Khan, and Srinivas Devadas. Suppressing the oblivious RAM timing channel while making information leakage and program efficiency trade-offs. In HPCA, pages 213-224, 2014. Google Scholar
  20. Daniel Genkin, Yuval Ishai, and Mor Weiss. Binary AMD circuits from secure multiparty computation. In Theory of Cryptography Conference, pages 336-366. Springer, 2016. Google Scholar
  21. O. Goldreich. Towards a theory of software protection and simulation by oblivious RAMs. In STOC, 1987. Google Scholar
  22. Oded Goldreich and Rafail Ostrovsky. Software protection and simulation on oblivious RAMs. J. ACM, 1996. Google Scholar
  23. Michael T. Goodrich and Michael Mitzenmacher. Privacy-preserving access of outsourced data via oblivious RAM simulation. In ICALP, pages 576-587, 2011. Google Scholar
  24. S. Dov Gordon, Jonathan Katz, Vladimir Kolesnikov, Fernando Krell, Tal Malkin, Mariana Raykova, and Yevgeniy Vahlis. Secure two-party computation in sublinear (amortized) time. In ACM Conference on Computer and Communications Security (CCS), 2012. Google Scholar
  25. Yuval Ishai, Eyal Kushilevitz, Rafail Ostrovsky, Manoj Prabhakaran, and Amit Sahai. Efficient non-interactive secure computation. In Annual International Conference on the Theory and Applications of Cryptographic Techniques, pages 406-425. Springer, 2011. Google Scholar
  26. Eyal Kushilevitz, Steve Lu, and Rafail Ostrovsky. On the (in)security of hash-based oblivious RAM and a new balancing scheme. In SODA, 2012. Google Scholar
  27. Kasper Green Larsen and Jesper Buus 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, pages 523-542, 2018. Google Scholar
  28. Chang Liu, Austin Harris, Martin Maas, Michael Hicks, Mohit Tiwari, and Elaine Shi. Ghostrider: A hardware-software system for memory trace oblivious computation. SIGPLAN Not., 50(4):87-101, 2015. Google Scholar
  29. Chang Liu, Xiao Shaun Wang, Kartik Nayak, Yan Huang, and Elaine Shi. Oblivm: A programming framework for secure computation. In 2015 IEEE Symposium on Security and Privacy, SP 2015, San Jose, CA, USA, May 17-21, 2015, pages 359-376, 2015. Google Scholar
  30. Martin Maas, Eric Love, Emil Stefanov, Mohit Tiwari, Elaine Shi, Kriste Asanovic, John Kubiatowicz, and Dawn Song. Phantom: Practical oblivious computation in a secure processor. In ACM Conference on Computer and Communications Security (CCS), 2013. Google Scholar
  31. Rafail Ostrovsky and Victor Shoup. Private information storage (extended abstract). In ACM Symposium on Theory of Computing (STOC), pages 294-303, 1997. Google Scholar
  32. S. Patel, G. Persiano, M. Raykova, and K. Yeo. Panorama: Oblivious ram with logarithmic overhead. In IEEE 59th Annual Symposium on Foundations of Computer Science (FOCS), pages 871-882, 2018. Google Scholar
  33. Enoch Peserico. Deterministic oblivious distribution (and tight compaction) in linear time. CoRR, abs/1807.06719, 2018. URL:
  34. Michael Raskin and Mark Simkin. Perfectly secure oblivious ram with sublinear bandwidth overhead. In Steven D. Galbraith and Shiho Moriai, editors, Advances in Cryptology - ASIACRYPT 2019, pages 537-563, 2019. Google Scholar
  35. Ling Ren, Xiangyao Yu, Christopher W. Fletcher, Marten van Dijk, and Srinivas Devadas. Design space exploration and optimization of path oblivious RAM in secure processors. In ISCA, pages 571-582, 2013. Google Scholar
  36. Elaine Shi, T.-H. Hubert Chan, Emil Stefanov, and Mingfei Li. Oblivious RAM with O((log N)³) worst-case cost. In ASIACRYPT, pages 197-214, 2011. Google Scholar
  37. Emil Stefanov, Marten van Dijk, Elaine Shi, Christopher Fletcher, Ling Ren, Xiangyao Yu, and Srinivas Devadas. Path ORAM - an extremely simple oblivious ram protocol. In CCS, 2013. Google Scholar
  38. Xiao Shaun Wang, T-H. Hubert Chan, and Elaine Shi. Circuit ORAM: On Tightness of the Goldreich-Ostrovsky Lower Bound. In ACM CCS, 2015. Google Scholar