This repository contains the fhe.rs
library, an experimental cryptographic library in Rust for Ring-LWE-based homomorphic encryption, developed by Tancrède Lepoint.
For more information about the library, see fhe.rs.
The library features:
- An implementation of a RNS-variant of the Brakerski-Fan-Vercauteren (BFV) homomorphic encryption scheme;
- Performances comparable or better than state-of-the-art libraries in C++ and Go.
Warning
fhe.rs
is a beta library, and should be considered unstable with potential breaking API changes until version 1.0.0 is released!
Note This library is not related to the
tfhe-rs
library (a.k.a.concrete
), Zama's fully homomorphic encryption in Rust, available at tfhe.rs.
fhe.rs
is implemented using the Rust programming language. The ecosystem is composed of four public crates (packages):
-
fhe
: This crate contains the implementations of the homomorphic encryption schemes; -
fhe-math
: This crate contains the core mathematical operations for thefhe
crate; -
fhe-traits
: This crate contains traits for homomorphic encryption schemes; -
fhe-util
: This crate contains utility functions for thefhe
crate.
To install, add the following to your project's Cargo.toml
file:
[dependencies]
fhe = "0.1.0-beta.8"
fhe-traits = "0.1.0-beta.8"
Rust 1.73 or newer.
The implementations contained in the fhe.rs
ecosystem have never been independently audited for security.
Additionally, no promise on the API and ABI stability will be made until version 1.0.0
of the crates.
Use at your own risk.