Ian Goldberg 7816a570d3 Address some compiler warnings 11 月之前
..
CONFIG.h 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
ORExpand.cpp ccaa8afc38 More realistic test sizes in test_ORExpand_parallel 1 年之前
ORExpand.hpp d122d04a6d Implementation of ORExpand (multi-threaded version) 1 年之前
ORExpand.tcc 39a5066ab3 Add a comment for future possible optimization 1 年之前
README fbf896e040 Mention ORExpand in the Enclave/OblivAlgs/README file 1 年之前
RecursiveShuffle.cpp 2562d9ac86 Rather than pre-allocating an array of randomness pools, just give each thread its own thread-local randomness pool 1 年之前
RecursiveShuffle.hpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
RecursiveShuffle.tcc 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
SortingNetwork.cpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
SortingNetwork.hpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
SortingNetwork.tcc 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
TightCompaction_v2.cpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
TightCompaction_v2.hpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
TightCompaction_v2.tcc 9aa189d357 adding ifdef for TightCompaction printf timing outputs 1 年之前
WaksmanNetwork.cpp ae3646cf41 Sort using precomputable shuffles 1 年之前
WaksmanNetwork.hpp 7816a570d3 Address some compiler warnings 11 月之前
WaksmanNetwork.tcc 5cb57bc4be Generalize sort_mtobliv to be able to sort on different kinds of keys 1 年之前
aes.hpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
foav.h 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
oasm_lib.h 7b94f67102 Add "earlyclobber" constraint to oselect_uint32_t 1 年之前
oasm_lib.tcc 0a23f8293c Port code for oblivious compaction, shuffle, sort 1 年之前
utils.cpp 876ba2eeec Remove an unused (and incorrect in any case) function 1 年之前
utils.hpp 876ba2eeec Remove an unused (and incorrect in any case) function 1 年之前

README

This directory contains code ported from "Fast Fully Oblivious
Compaction and Shuffling" and "Waks-On/Waks-Off: Fast Oblivious
Offline/Online Shuffling and Sorting with Waksman Networks" by
Sajin Sasy, Aaron Johnson, and Ian Goldberg:

https://crysp.uwaterloo.ca/software/obliv/

with some additional enhancements, such as a multithreaded
implementation of WaksShuffle + Sort and WaksSort, and an
implemention of ORExpand.