_images/cicada.png

Welcome!

Welcome to Cicada … a set of tools for working with fault-tolerant secure multiparty computation. Notable Cicada features include:

Written in Python for simplicity and ease of use.

Cicada doesn’t rely on weird DSLs or runtimes, making it easier to learn, experiment, and integrate MPC computation into existing systems.

Communication inspired by the widely used MPI standard.

Cicada benefits from decades of research in HPC, and you can easily replace Cicada’s builtin TCP/IP communication layer to support your own networking stack.

Supports fault tolerance at the application level.

Cicada raises exceptions when errors occur, where most MPC runtimes just die. Developers can use Cicada’s builtin functionality to recover from errors when they occur, and researchers can explore new fault-tolerance strategies and algorithms.

Highly refined API.

Cicada was developed alongside our research in privacy preserving machine learning, so code using Cicada is clear, concise, and explicit … while retaining the flexibility and generality to guide development of new algorithms and protocols.

Sound interesting? See the Tutorial to get started!

Documentation

Indices and tables