The concept of Oblivious RAM (ORAM) was first introduced by Oded Goldreich and Rafail Ostrovsky in 1996. However, in the past 5-10 years there has been a surge in the amount of research that looks into various realizations, optimizations and implementations of ORAM. My questions are two-fold:

  • Although ORAM was introduced around two decades earlier, why is there a sudden spike in the interest of ORAM by the research community?

  • Various applications of ORAM have been put forth, which includes: secure computation, data-outsourcing and secure processors. Is ORAM currently being employed in any real world systems for an application that it was intended for? If yes, please provide me with some reference.

  • $\begingroup$ ... "was introduced around two decades earlier, why is there a sudden spike in the interest of ORAM by the research community?" A partial reason might be: In crypto, people actually favor older algorithms. A new one might have unrealized weaknesses, and it's generally considered that time and peer review are the only way to find such things. In crypto, new = bad, old = good, all other perceptions being equal. Meaning that 20 years ago, maybe people didn't trust it could do what it promised. $\endgroup$
    – Ella Rose
    Jun 24 '16 at 16:39
  • 1
    $\begingroup$ That's true of crypto primitives, but for a higher-level construction like ORAM it's not usually the case that older = better. E.g., the original Goldreich/Ostrovsky ORAM was super inefficient and mostly useful in the theory of oblivious algorithms. $\endgroup$
    – pg1989
    Jul 9 '16 at 18:28

In addition to Paul's answer there is even an ORAM module inside a processor architecture, fully implemented: “A secure processor architecture for encrypted computation on untrusted programs


This paper considers encrypted computation where the user specifies encrypted inputs to an untrusted program, and the server computes on those encrypted inputs. To this end we propose a secure processor architecture, called Ascend, that guarantees privacy of data when arbitrary programs use the data running in a cloud-like environment (eg, an untrusted server running an untrusted software stack).


There has been a spike in research interest in ORAM in the past few years for a couple different reasons.

The most important one (IMO) is the rise of cloud computing, and the concomitant rise in funding for research related to cloud computing security. The question of what memory access patterns leak to an untrusted server was esoteric and theoretical in 1996, but now in 2016 we have lots of people doing lots of computation on untrusted and possibly adversarial servers. Though, it's not clear that current ORAM research is really answering the important questions, q.v. this paper.

Another less obvious reason is that in the last 20 years we've seen several devastating side-channel attacks involving data-dependent memory accesses in implementations of cryptographic primitives. There is some hope that making the computer's memory itself an ORAM will completely eliminate these kinds of side channels. This gets into hardware stuff and is not really my area, but this paper should give more details.

As for commercial applications, I'm not sure anybody is deploying ORAM yet.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.