We propose a conceptually simple oblivious sort and oblivious random permutation algorithms called bucket oblivious sort and bucket oblivious random permutation. Bucket oblivious sort uses time (measured by the number of memory accesses) and client storage with an error probability exponentially small in . The above runtime is only slower than a non-oblivious merge sort baseline; for elements, it is faster than bitonic sort, the de facto oblivious sorting algorithm in practical implementations.
View on arXiv