Efficient 3-Party Distributed ORAM

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12238)


Distributed Oblivious RAM (DORAM) protocols—in which parties obliviously access a shared location in a shared array—are a fundamental component of secure-computation protocols in the RAM model. We show here an efficient, 3-party DORAM protocol with semi-honest security for a single corrupted party. To the best of our knowledge, ours is the first protocol for this setting that runs in constant rounds, requires sublinear communication and linear work, and makes only black-box use of cryptographic primitives. Our protocol also appears to be concretely more efficient than existing solutions.

As a building block of independent interest, we construct a 3-server distributed point function (DPF) with security against two colluding servers that is arguably simpler and has better concrete efficiency than prior work. We also show how to distribute the key-generation protocol of this DPF (in a black-box manner).


Oblivious RAM (ORAM) Distributed computation Function Secret Sharing (FSS) Secure Multiparty Computation (MPC) 



This work was supported by DARPA and NIWC Pacific under contract N66001-15-C-4065, as well as the Office of the Director of National Intelligence (ODNI), Intelligence Advanced Research Projects Activity (IARPA), via 2019-1902070008. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies, either expressed or implied, of ODNI, IARPA, the Department of Defense, or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for governmental purposes notwithstanding any copyright annotation therein. Work of Jonathan Katz was supported in part by NSF award #1563722. Research of Eyal Kushilevitz is supported by ISF grant 1709/14, BSF grant 2012378, NSF-BSF grant 2015782, and a grant from the Ministry of Science and Technology, Israel, and the Department of Science and Technology, Government of India. Rafail Ostrovsky is supported in part by NSF-BSF Grant 1619348, US-Israel BSF grant 2012366, Google Faculty Award, JP Morgan Faculty Award, IBM Faculty Research Award, Xerox Faculty Research Award, OKAWA Foundation Research Award, B. John Garrick Foundation Award, Teradata Research Award, and Lockheed-Martin Corporation Research Award.

Thanks also to Steve Lu and the anonymous reviewers for helpful comments and suggestions.


  1. 1.
    Abraham, I., Fletcher, C.W., Nayak, K., Pinkas, B., Ren, L.: Asymptotically tight bounds for composing ORAM with PIR. In: Fehr, S. (ed.) PKC 2017. LNCS, vol. 10174, pp. 91–120. Springer, Heidelberg (2017). Scholar
  2. 2.
    Afshar, A., Hu, Z., Mohassel, P., Rosulek, M.: How to efficiently evaluate RAM programs with malicious security. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9056, pp. 702–729. Springer, Heidelberg (2015). Scholar
  3. 3.
    Apon, D., Katz, J., Shi, E., Thiruvengadam, A.: Verifiable oblivious storage. In: Krawczyk, H. (ed.) PKC 2014. LNCS, vol. 8383, pp. 131–148. Springer, Heidelberg (2014). Scholar
  4. 4.
    Boyle, E., Gilboa, N., Ishai, Y.: Function secret sharing. In: Oswald, E., Fischlin, M. (eds.) EUROCRYPT 2015. LNCS, vol. 9057, pp. 337–367. Springer, Heidelberg (2015). Scholar
  5. 5.
    Boyle, E., Gilboa, N., Ishai, Y.: Function secret sharing: improvements and extensions. In: CCS, pp. 1292–1303. ACM Press (2016)Google Scholar
  6. 6.
    Chor, B., Goldreich, O., Kushilevitz, E., Sudan, M.: Private information retrieval. In: FOCS, pp. 41–50 (1995)Google Scholar
  7. 7.
    Doerner, J., Shelat, A.: Scaling ORAM for secure computation. In: CCS, pp. 523–535. ACM Press (2017)Google Scholar
  8. 8.
    Faber, S., Jarecki, S., Kentros, S., Wei, B.: Three-party ORAM for secure computation. In: Iwata, T., Cheon, J.H. (eds.) ASIACRYPT 2015. LNCS, vol. 9452, pp. 360–385. Springer, Heidelberg (2015). Scholar
  9. 9.
    Garg, S., Gupta, D., Miao, P., Pandey, O.: Secure multiparty RAM computation in constant rounds. In: Hirt, M., Smith, A. (eds.) TCC 2016. LNCS, vol. 9985, pp. 491–520. Springer, Heidelberg (2016). Scholar
  10. 10.
    Gentry, C., Goldman, K.A., Halevi, S., Julta, C., Raykova, M., Wichs, D.: Optimizing ORAM and using it efficiently for secure computation. In: De Cristofaro, E., Wright, M. (eds.) PETS 2013. LNCS, vol. 7981, pp. 1–18. Springer, Heidelberg (2013). Scholar
  11. 11.
    Gilboa, N., Ishai, Y.: Distributed point functions and their applications. In: Nguyen, P.Q., Oswald, E. (eds.) EUROCRYPT 2014. LNCS, vol. 8441, pp. 640–658. Springer, Heidelberg (2014). Scholar
  12. 12.
    Goldreich, O., Ostrovsky, R.: Software protection and simulation on oblivious RAMs. J. ACM 43(3), 431–473 (1996)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Goodrich, M.T., Mitzenmacher, M.: Privacy-preserving access of outsourced data via oblivious RAM simulation. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP 2011. LNCS, vol. 6756, pp. 576–587. Springer, Heidelberg (2011). Scholar
  14. 14.
    Gordon, S.D.: Secure two-party computation in sublinear (amortized) time. In: CCS, pp. 512–524. ACM Press (2012)Google Scholar
  15. 15.
    Hazay, C., Yanai, A.: Constant-round maliciously secure two-party computation in the RAM model. In: Hirt, M., Smith, A. (eds.) TCC 2016. LNCS, vol. 9985, pp. 521–553. Springer, Heidelberg (2016). Scholar
  16. 16.
    Jarecki, S., Wei, B.: 3PC ORAM with low latency, low bandwidth, and fast batch retrieval (2018).
  17. 17.
    Keller, M., Yanai, A.: Efficient maliciously secure multiparty computation for RAM. In: Nielsen, J.B., Rijmen, V. (eds.) EUROCRYPT 2018. LNCS, vol. 10822, pp. 91–124. Springer, Cham (2018). Scholar
  18. 18.
    Kushilevitz, E., Lu, S., Ostrovsky, R.: On the (in)security of hash-based oblivious ram and a new balancing scheme. In: SODA, pp. 143–156. ACM-SIAM (2012)Google Scholar
  19. 19.
    Kushilevitz, E., Mour, T.: Sub-logarithmic distributed oblivious RAM with small block size (2018).
  20. 20.
    Kushilevitz, E., Ostrovsky, R.: Replication is not needed: single database, computationally-private information retrieval. In: FOCS, pp. 364–373 (1997)Google Scholar
  21. 21.
    Liu, C., Huang, Y., Shi, E., Katz, J., Hicks, M.W.: Automating efficient RAM-model secure computation. In: IEEE Symposium on Security and Privacy, pp. 218–234. IEEE (2016)Google Scholar
  22. 22.
    Lu, S., Ostrovsky, R.: Distributed oblivious RAM for secure two-party computation. In: Sahai, A. (ed.) TCC 2013. LNCS, vol. 7785, pp. 377–396. Springer, Heidelberg (2013). Scholar
  23. 23.
    Mayberry, T., Blass, E.-O., Chan, A.H.: Efficient private file retrieval by combining ORAM and PIR. In: 21st Annual Network and Distributed System Security Symposium, NDSS 2014, San Diego, California, USA, 23–26 February 2014. The Internet Society (2014)Google Scholar
  24. 24.
    Nayak, K., Wang, X.S., Ioannidis, S., Weinsberg, U., Taft, N., Shi, E.: GraphSC: parallel secure computation made easy. In: IEEE Symposium on Security and Privacy, pp. 377–394. IEEE (2015)Google Scholar
  25. 25.
    Ostrovsky, R., Shoup, V.: Private information storage. In: STOC, pp. 294–303. Springer (1997)Google Scholar
  26. 26.
    Pinkas, B., Reinman, T.: Oblivious RAM revisited. In: Rabin, T. (ed.) CRYPTO 2010. LNCS, vol. 6223, pp. 502–519. Springer, Heidelberg (2010). Scholar
  27. 27.
    Ren, L., et al.: Constants count: practical improvements to oblivious RAM. In: Jung, J., Holz, T., (eds.) 24th USENIX Security Symposium, USENIX Security 15, Washington, D.C., USA, 12–14 August 2015, pp. 415–430. USENIX Association (2015)Google Scholar
  28. 28.
    Shi, E., Chan, T.-H.H., Stefanov, E., Li, M.: Oblivious RAM with O((logN)3) Worst-Case Cost. In: Lee, D.H., Wang, X. (eds.) ASIACRYPT 2011. LNCS, vol. 7073, pp. 197–214. Springer, Heidelberg (2011). Scholar
  29. 29.
    Stefanov, E., et al.: Path ORAM: an extremely simple oblivious RAM protocol. In: CCS, pp. 299–310. ACM Press (2013)Google Scholar
  30. 30.
    Wang, X., Chan, H., Shi, E.: Circuit ORAM: on tightness of the Goldreich-Ostrovsky lower bound. In: CCS, pp. 850–861. ACM Press (2015)Google Scholar
  31. 31.
    Wang, X., Gordon, D., Katz, J.: Simple and efficient two-server ORAM (2018).
  32. 32.
    Wang, X., Huang, Y., Chan, H., Shelat, A., Shi, E.: SCORAM: oblivious ram for secure computation. In: CCS, pp. 191–202. ACM Press (2014)Google Scholar
  33. 33.
    Wang, X., Gordon, S.D., McIntosh, A., Katz, J.: Secure computation of MIPS machine code. In: Askoxylakis, I., Ioannidis, S., Katsikas, S., Meadows, C. (eds.) ESORICS 2016. LNCS, vol. 9879, pp. 99–117. Springer, Cham (2016). Scholar
  34. 34.
    Williams, P., Sion, R.: Single round access privacy on outsourced storage. In: CCS, pp. 293–304. ACM Press (2012)Google Scholar
  35. 35.
    Zahur, S., et al.: Revisiting square-root ORAM: efficient random access in multi-party computation. In: IEEE Symposium on Security and Privacy, pp. 218–234. IEEE (2016)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Stealth Software Technologies, Inc.Los AngelesUSA
  2. 2.Department of Computer ScienceGeorge Mason UniversityFairfaxUSA
  3. 3.Computer Science DepartmentTechnionHaifaIsrael
  4. 4.Department of Computer Science and Department of MathematicsUniversity of CaliforniaLos AngelesUSA

Personalised recommendations