poulpyFully homomorphic encryption
GitHub ↗Get started →
Menu

Compute with encrypted numbers.

Use CKKS for approximate arithmetic on packed vectors, from addition and multiplication to polynomial evaluation and bootstrapping.

Source guide · 7dd13e6Markdown

Run a first calculation

Follow the quickstart to install the toolchain and run an encrypted addition and multiplication. The example uses the portable CPU backend, so it does not require a particular SIMD instruction set.

Evaluate a function

From the Poulpy repository directory, run the maintained polynomial example:

cargo run --locked --release -p poulpy-cpu-portable --features enable-ckks --example ckks_poly2

ckks_poly2.rs approximates sine on encrypted inputs, then decrypts and checks the result. Read Polynomial evaluation for the evaluator and its precision budget.

Explore the operations

Select a backend

Scheme code uses a backend through the hardware abstraction layer. Start with the portable backend, then consult Backends for acceleration options and Performance for tuning.