Data-Oblivious External-Memory Algorithms for the Compaction, Selection, and Sorting of Outsourced Data
Abstract
We present data-oblivious algorithms in the external-memory model for compaction, selection, and sorting. Motivation for such problems comes from clients who use outsourced data storage services and wish to mask their data access patterns. We show that compaction and selection can be done data-obliviously using $O(N/B)$ I/Os, and sorting can be done, with a high probability of success, using $O((N/B)\log_{M/B} (N/B))$ I/Os. Our methods use a number of new algorithmic techniques, including data-oblivious uses of invertible Bloom lookup tables, a butterfly-like compression network, randomized data thinning, and "shuffle-and-deal" data perturbation. In addition, since data-oblivious sorting is the bottleneck in the "inner loop" in existing oblivious RAM simulations, our sorting result improves the amortized time overhead to do oblivious RAM simulation by a logarithmic factor in the external-memory model.
- Publication:
-
arXiv e-prints
- Pub Date:
- March 2011
- DOI:
- 10.48550/arXiv.1103.5102
- arXiv:
- arXiv:1103.5102
- Bibcode:
- 2011arXiv1103.5102G
- Keywords:
-
- Computer Science - Data Structures and Algorithms;
- Computer Science - Cryptography and Security;
- Computer Science - Distributed;
- Parallel;
- and Cluster Computing;
- F.2.2
- E-Print:
- Full version of a paper appearing in 2011 ACM Symp. on Parallelism in Algorithms and Architectures (SPAA)