Paper 2017/914

Cache-Oblivious and Data-Oblivious Sorting and Applications

T-H. Hubert Chan, Yue Guo, Wei-Kai Lin, and Elaine Shi


Although external-memory sorting has been a classical algorithms abstraction and has been heavily studied in the literature, perhaps somewhat surprisingly, when data-obliviousness is a requirement, even very rudimentary questions remain open. Prior to our work, it is not even known how to construct a comparison-based, external-memory oblivious sorting algorithm that is optimal in IO-cost. We make a significant step forward in our understanding of external-memory, oblivious sorting algorithms. Not only do we construct a comparison-based, external-memory oblivious sorting algorithm that is optimal in IO-cost, our algorithm is also cache-agnostic in that the algorithm need not know the storage hierarchy's internal parameters such as the cache and cache-line sizes. Our result immediately implies a cache-agnostic ORAM construction whose asymptotical IO-cost matches the best known cache-aware scheme. Last but not the least, we propose and adopt a new and stronger security notion for external-memory, oblivious algorithms and argue that this new notion is desirable for resisting possible cache-timing attacks. Thus our work also lays a foundation for the study of oblivious algorithms in the cache-agnostic model.

Available format(s)
Publication info
Preprint. MINOR revision.
cache oblivious algorithmsdata oblivious algorithmsORAM
Contact author(s)
hubert @ cs hku hk
2017-09-24: revised
2017-09-24: received
See all versions
Short URL
Creative Commons Attribution


      author = {T-H.  Hubert Chan and Yue Guo and Wei-Kai Lin and Elaine Shi},
      title = {Cache-Oblivious and Data-Oblivious Sorting and Applications},
      howpublished = {Cryptology ePrint Archive, Paper 2017/914},
      year = {2017},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.