Ian Goldberg 2562d9ac86 Rather than pre-allocating an array of randomness pools, just give each thread its own thread-local randomness pool 2 년 전
..
CONFIG.h 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
README 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
RecursiveShuffle.cpp 2562d9ac86 Rather than pre-allocating an array of randomness pools, just give each thread its own thread-local randomness pool 2 년 전
RecursiveShuffle.hpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
RecursiveShuffle.tcc 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
SortingNetwork.cpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
SortingNetwork.hpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
SortingNetwork.tcc 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
TightCompaction_v2.cpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
TightCompaction_v2.hpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
TightCompaction_v2.tcc 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
WaksmanNetwork.cpp ae3646cf41 Sort using precomputable shuffles 2 년 전
WaksmanNetwork.hpp ae3646cf41 Sort using precomputable shuffles 2 년 전
WaksmanNetwork.tcc ae3646cf41 Sort using precomputable shuffles 2 년 전
aes.hpp 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
foav.h 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
oasm_lib.h 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
oasm_lib.tcc 0a23f8293c Port code for oblivious compaction, shuffle, sort 2 년 전
utils.cpp 2562d9ac86 Rather than pre-allocating an array of randomness pools, just give each thread its own thread-local randomness pool 2 년 전
utils.hpp 2562d9ac86 Rather than pre-allocating an array of randomness pools, just give each thread its own thread-local randomness pool 2 년 전

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.