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.

For developers starting numerical computation · Source guide · 2394fa5

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-ref --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 reference implementation, then consult Backends for acceleration options and Performance for tuning.