English

Oblivious Sorting and Queues

Data Structures and Algorithms 2016-12-13 v1

Abstract

We present a deterministic oblivious LIFO (Stack), FIFO, double-ended and double-ended priority queue as well as an oblivious mergesort and quicksort algorithm. Our techniques and ideas include concatenating queues end-to-end, size balancing of multiple arrays, several multi-level partitionings of an array. Our queues are the first to enable executions of pop and push operations without any change of the data structure (controlled by a parameter). This enables interesting applications in computing on encrypted data such as hiding confidential expressions. Mergesort becomes practical using our LIFO queue, ie. it improves prior work (STOC '14) by a factor of (more than) 1000 in terms of comparisons for all practically relevant queue sizes. We are the first to present double-ended (priority) and LIFO queues as well as oblivious quicksort which is asymptotically optimal. Aside from theortical analysis, we also provide an empirical evaluation of all queues.

Keywords

Cite

@article{arxiv.1612.03343,
  title  = {Oblivious Sorting and Queues},
  author = {Johannes Schneider},
  journal= {arXiv preprint arXiv:1612.03343},
  year   = {2016}
}
R2 v1 2026-06-22T17:19:35.088Z