|
myl7/fss 2.0.0
Function secret sharing (FSS) primitives including distributed point/comparison function (DPF/DCF)
|
Small-domain PRP via 4-round Feistel network with a ChaCha20-based round function and cycle-walking. More...
#include <fss/prp.cuh>#include <fss/prg/chacha.cuh>#include <cuda_runtime.h>#include <cassert>#include <fss/util.cuh>Classes | |
| class | fss::prp::ChaChaFeistel |
| Small-domain ChaCha20-Feistel PRP for Cuckoo hashing. More... | |
Small-domain PRP via 4-round Feistel network with a ChaCha20-based round function and cycle-walking.
Given a target domain [0, domain), the construction:
Security: 4-round Luby-Rackoff with PRF round functions gives a CCA-secure PRP and cycle-walking preserves the permutation property (Black & Rogaway, 2002). The round PRF relies on the same keyed-ChaCha pseudorandomness assumption the library PRG already makes, so no new assumption is introduced.
Unlike Aes128Feistel, this backend is stateless and free of OpenSSL, so the same code path serves host and device: Permu is host device and instances are trivially copyable.