There is a newer version of the record available.

Published January 14, 2025 | Version v1

Implementation of Flexway O-Sort: Enclave-Friendly and Optimal Oblivious Sorting

  • 1. ROR icon Carnegie Mellon University
  • 2. Alibaba DAMO Academy
  • 3. Hong Kong University of Science and Technology

Description

Oblivious algorithms are being deployed at large scale in real world to enable privacy-preserving applications such as Signal's private contact discovery. Oblivious sorting is a fundamental building block in the design of oblivious algorithms for numerous computation tasks. Unfortunately, there is still a theory-practice gap for oblivious sort. The commonly implemented bitonic sorting algorithm is not asymptotically optimal, whereas known asymptotically optimal algorithms suffer from large constants.

We implement a new oblivious sorting algorithm called flexway o-sort, which is asymptotically optimal, concretely efficient, and suitable for implementation in hardware enclaves such as Intel SGX. For moderately large inputs of 12 GB, our flexway o-sort algorithm outperforms known oblivious sorting algorithms by 1.32× to 28.8× when the data fits within the hardware enclave, and by 4.1x to 208× when the data does not fit within the hardware enclave. We also implemented various applications of oblivious sorting, including histogram, database join, and initialization of an ORAM data structure. For these applications and data sets from 8GB to 32GB, we achieve 1.44∼2.3× speedup over bitonic sort when the data fits within the enclave, and 4.9∼5.5× speedup when the data does not fit within the enclave.

Files

flexway_osort_impl.zip

Files (334.4 kB)

Name Size Download all
md5:a236155718878127e14d58c2670727dc
334.4 kB Preview Download

Additional details

Software

Repository URL
https://github.com/odslib/oblsort
Programming language
C++