All Projects → OpenMined → sycret

OpenMined / sycret

Licence: Apache-2.0 license
Function Secret Sharing library for Python and Rust with hardware acceleration

Programming Languages

rust
11053 projects
python
139335 projects - #7 most used programming language

Sycret

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.

Installation

pip install sycret

Integration with PySyft

The Python package is called from PySyft, like in this branch.

Development instructions

Structure

  • 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.

Build

  • 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.

Test

  • cargo test to test the Rust functionality.
  • pytest test to test the Python package.

Publish

See docs/publish.md for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].