Repolode
zama-ai

zama-ai/tfhe-rs

纯 Rust 实现的 TFHE 方案,可直接对加密数据进行布尔与整数运算。

Star
1,675
Fork
338
未关闭 Issue
54
最近提交
昨天

这是什么?

TFHE-rs 是一个纯 Rust 实现的 TFHE 全同态加密库,允许程序直接在密文上计算,由数据持有者解密后得到的结果与对明文执行相同运算一致。它支持布尔电路以及 FheUint8、FheUint32 等常见位宽的加密整数运算。

该库提供 Rust 高级 API、C API,以及编译为 WASM 的客户端 JavaScript API。底层密码学层实现了可编程自举(programmable bootstrapping),同时包含与原始 TFHE 库兼容的布尔 API,以及支持最高 8 位消息空间、可精确计算任意长度整数的 short integer API。密文和服务端密钥均支持压缩,以减少传输体积。

项目面向需要隐私计算、但不希望自行处理底层密码学细节的开发者和研究人员。文档、手册和教程涵盖了底层算法、参数选择以及示例应用。

核心功能

  • 01基于 TFHE 对加密数据进行布尔与整数运算。
  • 02提供 Rust 高级 API,包含 FheUint32 等加密整数类型。
  • 03提供 C 绑定以及编译为 WASM 的客户端 JavaScript API。
  • 04底层密码学层支持可编程自举。
  • 05支持密文与服务端密钥压缩,减少数据传输量。

适用场景

  • 构建服务端无法读取明文数据、却仍能完成计算的隐私保护服务。
  • 在研究中原型验证加密整数或布尔电路。
  • 通过 WASM API 在浏览器端完成客户端加密。

快速上手

  1. 1

    确认 Rust 版本为 1.91.1 或更高

    rustc --version
  2. 2

    在 Cargo.toml 中添加 TFHE-rs 依赖

    tfhe = { version = "*", features = ["boolean", "shortint", "integer"] }
  3. 3

    以 release 模式运行示例

    cargo run --release

使用前须知

  • 采用 BSD-3-Clause-Clear 许可证,仅限开发、研究、原型和实验用途;商业使用需另外向 Zama 取得专利许可。
  • 尚未实现侧信道攻击的防护。
  • 需要 Rust 1.91.1 或更高版本。
  • Windows 平台不支持 AArch64 架构机器。

收录于专题

标签

常见问题

tfhe-rs 是什么?
纯 Rust 实现的 TFHE 方案,可直接对加密数据进行布尔与整数运算。 TFHE-rs 是一个纯 Rust 实现的 TFHE 全同态加密库,允许程序直接在密文上计算,由数据持有者解密后得到的结果与对明文执行相同运算一致。它支持布尔电路以及 FheUint8、FheUint32 等常见位宽的加密整数运算。
tfhe-rs 可以免费使用吗?用的什么许可证?
tfhe-rs 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
tfhe-rs 还在维护吗?
活跃维护中。tfhe-rs 最近一次提交是在 2026年10月23日。
tfhe-rs 适合用来做什么?
构建服务端无法读取明文数据、却仍能完成计算的隐私保护服务。 在研究中原型验证加密整数或布尔电路。 通过 WASM API 在浏览器端完成客户端加密。
tfhe-rs 怎么安装和运行?
确认 Rust 版本为 1.91.1 或更高: rustc --version 在 Cargo.toml 中添加 TFHE-rs 依赖: tfhe = { version = "*", features = ["boolean", "shortint", "integer"] } 以 release 模式运行示例: cargo run --release
在哪里获取 tfhe-rs?
源代码和安装说明在 GitHub 上:https://github.com/zama-ai/tfhe-rs

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目