Randomized Shellsort: A Simple Oblivious Sorting Algorithm.

link: http://arxiv.org/abs/0909.1037
Abstract

In this paper, we describe randomized Shellsort--a simple, randomized,
data-oblivious version of the Shellsort algorithm that always runs in O(n log
n) time and, as we show, succeeds in sorting any given input permutation with
very high probability. Thus, randomized Shellsort is simultaneously simple,
time-optimal, and data-oblivious. Taken together, these properties imply
applications in the design of new efficient privacy-preserving computations
based on the secure multi-party computation (SMC) paradigm. In addition, by a
trivial conversion of this Monte Carlo algorithm to its Las Vegas equivalent,
one gets the first version of Shellsort with a running time that is provably
O(n log n) with very high probability.