Python library for Function Secret Sharing with an efficient Rust backend using the AES-NI hardware acceleration. It is used in PySyft for ARIANN: Low-Interaction Privacy-Preserving Deep Learning via Function Secret Sharing.
Disclaimer. Sycret is not production-ready yet. It is intended for research and prototyping purposes.
pip install sycret
The Python package is called from PySyft, like in this branch.
src
: the Rust crate.rustfss
: the Python package calling the Rust crate with Maturin.tests
: tests for the Rust crate.test
: tests for the Python wrapper.
- Create a Python environment from
dev-requirements.txt
maturin develop -b cffi --release
to build the crate, bind it to the Python package and install the package locally.
cargo test
to test the Rust functionality.pytest test
to test the Python package.
See docs/publish.md for details.