Skip to content

tlepoint/fhe.rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c02cde7 · May 2, 2024
Jan 17, 2024
Mar 26, 2024
Sep 4, 2022
Sep 1, 2022
Oct 12, 2023
May 2, 2024
May 2, 2024
Jul 18, 2022
Feb 3, 2024
Apr 4, 2023
Dec 29, 2022

Repository files navigation

fhe.rs: Fully Homomorphic Encryption in Rust

continuous integration License: MIT Code coverage

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 crates

fhe.rs is implemented using the Rust programming language. The ecosystem is composed of four public crates (packages):

  • fhe crate version fhe: This crate contains the implementations of the homomorphic encryption schemes;
  • fhe-math crate version fhe-math: This crate contains the core mathematical operations for the fhe crate;
  • fhe-traits crate version fhe-traits: This crate contains traits for homomorphic encryption schemes;
  • fhe-util crate version fhe-util: This crate contains utility functions for the fhe crate.

Installation

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"

Minimum supported version / toolchain

Rust 1.73 or newer.

⚠️ Security / Stability

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.