This repository contains our implementation of streaming function secret sharing (SFSS), a new variant of function secret sharing (FSS) that is particularly suitable for secure computation over streaming messages. SFSS facilitates several promising applications in a simple and modular fashion, including conditional transciphering, policy-hiding aggregation, and attribute-hiding aggregation. In this repository, we provide our implementation of SFSS primitives, including streaming distributed point functions and streaming distributed comparison functions, with applications including window-based policy/attribute-hiding aggregation.
The paper can be found at https://ia.cr/2025/2304. Please refer to the Open Science section in the paper for more details.
emp-toolkit (https://github.com/emp-toolkit/emp-tool)
Cmake (version >= 3.12) (https://cmake.org)
GMP (we use version 6.3.0) (https://gmplib.org)
- Make the build directory and cd into the directory
mkdir build cd build - Build using cmake
cmake .. - Generate the target
make
-
Run basic FSS and SFSS primitive
./bin/sfss_main -
Run related applications with network.
- Open terminal 1, run
./bin/client_runner_main - Open terminal 2, run
./bin/server_runner_main 0 12345 - Open terminal 3, run
./bin/server_runner_main 1 12346
The result will be shown in the terminals.
- Open terminal 1, run
@misc{cryptoeprint:2025/2304,
author = {Xiangfu Song and Jianli Bai and Ye Dong and Yijian Liu and Yu Zhang and Xianhui Lu and Tianwei Zhang},
title = {Streaming Function Secret Sharing and Its Applications},
howpublished = {Cryptology {ePrint} Archive, Paper 2025/2304},
year = {2025},
url = {https://eprint.iacr.org/2025/2304}
}