Paper 2023/1236

Waks-On/Waks-Off: Fast Oblivious Offline/Online Shuffling and Sorting with Waksman Networks

Sajin Sasy, University of Waterloo
Aaron Johnson, U.S. Naval Research Laboratory
Ian Goldberg, University of Waterloo
Abstract

As more privacy-preserving solutions leverage trusted execution environments (TEEs) like Intel SGX, it becomes pertinent that these solutions can by design thwart TEE side-channel attacks that research has brought to light. In particular, such solutions need to be fully oblivious to circumvent leaking private information through memory or timing side channels. In this work, we present fast fully oblivious algorithms for shuffling and sorting data. Oblivious shuffling and sorting are two fundamental primitives that are frequently used for permuting data in privacy-preserving solutions. We present novel oblivious shuffling and sorting algorithms in the offline/online model such that the bulk of the computation can be done in an offline phase that is independent of the data to be permuted. The resulting online phase provides performance improvements over state-of-the-art oblivious shuffling and sorting algorithms both asymptotically ($O(\beta n\log n)$ vs. $O(\beta n \log^2n)$) and concretely ($>5\times$ and $>3\times$ speedups), when permuting $n$ items each of size $\beta$. Our work revisits Waksman networks, and it uses the key observation that setting the control bits of a Waksman network for a uniformly random shuffle is independent of the data to be shuffled. However, setting the control bits of a Waksman network efficiently and fully obliviously poses a challenge, and we provide a novel algorithm to this end. The total costs (inclusive of offline computation) of our WaksShuffle shuffling algorithm and our WaksSort sorting algorithm are lower than all other fully oblivious shuffling and sorting algorithms when the items are at least moderately sized (i.e., $\beta$ > 1400 B), and the performance gap only widens as the item sizes increase. Furthermore, WaksShuffle improves the online cost of oblivious shuffling by $>5\times$ for shuffling $2^{20}$ items of any size; similarly WaksShuffle+QS, our other sorting algorithm, provides $>2.7\times$ speedups in the online cost of oblivious sorting.

Metadata
Available format(s)
PDF
Category
Implementation
Publication info
Published elsewhere. Major revision. CCS 2023
Keywords
oblivious algorithmstrusted execution environmentsSGX
Contact author(s)
ssasy @ uwaterloo ca
aaron m johnson @ nrl navy mil
iang @ uwaterloo ca
History
2023-08-15: approved
2023-08-15: received
See all versions
Short URL
https://ia.cr/2023/1236
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2023/1236,
      author = {Sajin Sasy and Aaron Johnson and Ian Goldberg},
      title = {Waks-On/Waks-Off: Fast Oblivious Offline/Online Shuffling and Sorting with Waksman Networks},
      howpublished = {Cryptology ePrint Archive, Paper 2023/1236},
      year = {2023},
      note = {\url{https://eprint.iacr.org/2023/1236}},
      url = {https://eprint.iacr.org/2023/1236}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.