Skip to main content

OptORAMa: Optimal Oblivious RAM

Publication ,  Journal Article
Asharov, G; Komargodski, I; Lin, WK; Nayak, K; Peserico, E; Shi, E
Published in: Journal of the ACM
December 20, 2022

Oblivious RAM (ORAM), first introduced in the ground-breaking work of Goldreich and Ostrovsky (STOC '87 and J. ACM '96) is a technique for provably obfuscating programs' access patterns, such that the access patterns leak no information about the programs' secret inputs. To compile a general program to an oblivious counterpart, it is well-known that ω (log N) amortized blowup in memory accesses is necessary, where N is the size of the logical memory. This was shown in Goldreich and Ostrovksy's original ORAM work for statistical security and in a somewhat restricted model (the so-called balls-and-bins model), and recently by Larsen and Nielsen (CRYPTO '18) for computational security.A long-standing open question is whether there exists an optimal ORAM construction that matches the aforementioned logarithmic lower bounds (without making large memory word assumptions, and assuming a constant number of CPU registers). In this article, we resolve this problem and present the first secure ORAM with O(log N) amortized blowup, assuming one-way functions. Our result is inspired by and non-trivially improves on the recent beautiful work of Patel et al. (FOCS '18) who gave a construction with O(log Ng log log N) amortized blowup, assuming one-way functions. One of our building blocks of independent interest is a linear-time deterministic oblivious algorithm for tight compaction: Given an array of n elements where some elements are marked, we permute the elements in the array so that all marked elements end up in the front of the array. Our O(n) algorithm improves the previously best-known deterministic or randomized algorithms whose running time is O(n g log n) or O(n g log log n), respectively.

Duke Scholars

Altmetric Attention Stats
Dimensions Citation Stats

Published In

Journal of the ACM

DOI

EISSN

1557-735X

ISSN

0004-5411

Publication Date

December 20, 2022

Volume

70

Issue

1

Related Subject Headings

  • Computation Theory & Mathematics
  • 46 Information and computing sciences
  • 08 Information and Computing Sciences
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Asharov, G., Komargodski, I., Lin, W. K., Nayak, K., Peserico, E., & Shi, E. (2022). OptORAMa: Optimal Oblivious RAM. Journal of the ACM, 70(1). https://doi.org/10.1145/3566049
Asharov, G., I. Komargodski, W. K. Lin, K. Nayak, E. Peserico, and E. Shi. “OptORAMa: Optimal Oblivious RAM.” Journal of the ACM 70, no. 1 (December 20, 2022). https://doi.org/10.1145/3566049.
Asharov G, Komargodski I, Lin WK, Nayak K, Peserico E, Shi E. OptORAMa: Optimal Oblivious RAM. Journal of the ACM. 2022 Dec 20;70(1).
Asharov, G., et al. “OptORAMa: Optimal Oblivious RAM.” Journal of the ACM, vol. 70, no. 1, Dec. 2022. Scopus, doi:10.1145/3566049.
Asharov G, Komargodski I, Lin WK, Nayak K, Peserico E, Shi E. OptORAMa: Optimal Oblivious RAM. Journal of the ACM. 2022 Dec 20;70(1).

Published In

Journal of the ACM

DOI

EISSN

1557-735X

ISSN

0004-5411

Publication Date

December 20, 2022

Volume

70

Issue

1

Related Subject Headings

  • Computation Theory & Mathematics
  • 46 Information and computing sciences
  • 08 Information and Computing Sciences