We fully implement SPLUT, ROTL, FLUTE, new_FLUTE (corresponding to FLUTE+ in paper).
Our implementation is based on following libraries.
- EMP-toolkit : https://github.com/emp-toolkit
- EMP-OT : https://github.com/emp-toolkit/emp-ot
cmake -S -B build
cmake --build build
cd buildWe use traffic control tc to simulate the LAN and WAN.
bash throttle.sh lan # simulate the LAN (3000 Mbps and 0.8ms RTT)
bash throttle.sh wan # simulate the WAN (100 Mbps and 50ms RTT)
bash throttle.sh del # remove network settingDefault batching size = 100 000
| Arguments | |
|---|---|
| bit-length of LUT index | |
| table size | |
| bit-length of elements in table |
./SPLUT_test 1 n len & ./SPLUT_test 2 n len # benchmark SPLUT
./ROTL_test 1 n len & ./ROTL_test 2 n len # benchmark ROTL
./FLUTE_test 1 n len & ./FLUTE_test 2 n len # benchmark FLUTE
./NewFLUTE_test 1 n len & ./NewFLUTE_test 2 n len # benchmark FLUTE+