Cryptology ePrint Archive: Report 2014/205

Unified Oblivious-RAM: Improving Recursive ORAM with Locality and Pseudorandomness

Ling Ren and Christopher Fletcher and Xiangyao Yu and Albert Kwon and Marten van Dijk and Srinivas Devadas

Abstract: Oblivious RAM (ORAM) is a cryptographic primitive that hides memory access patterns to untrusted storage. ORAM may be used in secure processors for encrypted computation and/or software protection. While recursive Path ORAM is currently the most practical ORAM for secure processors, it still incurs large performance and energy overhead and is the performance bottleneck of recently proposed secure processors.

In this paper, we propose two optimizations to recursive Path ORAM. First, we identify a type of program locality in its operations to improve performance. Second, we use pseudorandom function to compress the position map. But applying these two techniques in recursive Path ORAM breaks ORAM security. To securely take advantage of the two ideas, we propose unified ORAM. Unified ORAM improves performance both asymptotically and empirically. Empirically, our experiments show that unified ORAM reduces data movement from ORAM by half and improves benchmark performance by 61% as compared to recursive Path ORAM.

Category / Keywords: cryptographic protocols / Oblivious Ram, access pattern, locality, pseudorandomness

Date: received 19 Mar 2014, last revised 4 Jun 2014

Contact author: renling at mit edu

Available format(s): PDF | BibTeX Citation

Version: 20140604:195730 (All versions of this report)

Short URL:

[ Cryptology ePrint archive ]