Repolode
zama-ai

zama-ai/tfhe-rs

暗号化データを直接使ったブール演算や整数演算を可能にする、TFHE方式の純粋なRust実装。

スター
1,675
フォーク
338
未解決の Issue
54
最終コミット
昨日

これは何?

TFHE-rsは、完全準同型暗号方式であるTFHEを実装した純粋なRustライブラリです。暗号文に対して計算を行い、データ所有者が復号すると、平文に同じ演算を適用した場合と一致する結果が得られます。ブール回路のほか、FheUint8やFheUint32など、一般的なビット幅の暗号化値に対する整数演算に利用できます。

Rustの高レベルAPI、C API、WASMにコンパイルされたクライアント側JavaScript APIを提供しています。また、プログラマブルブートストラッピングを備えた低レベルの暗号レイヤー、元のTFHEライブラリと互換性のあるブールAPI、メッセージ空間が最大8ビットの厳密な無制限演算に対応する短整数APIも含まれています。データ転送量を削減するため、暗号文とサーバー鍵の圧縮にも対応しています。

低レベルの暗号処理の詳細を自ら管理することなく、プライバシーを保護した計算を実現したい開発者や研究者を対象としています。ドキュメント、ハンドブック、チュートリアルでは、基盤となるアルゴリズムやパラメーターの選び方、応用例を解説しています。

主な機能

  • 01TFHEを使い、暗号化データに対してブール演算や整数演算を実行できます。
  • 02FheUint32などの暗号化整数型を備えた高レベルのRust APIを提供します。
  • 03Cバインディングと、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

    リリースモードでサンプルを実行します

    cargo run --release

使う前に知っておきたいこと

  • BSD-3-Clause-Clearライセンスの対象です。利用は開発、研究、プロトタイピング、実験に限定されており、商用利用にはZamaから別途特許ライセンスを取得する必要があります。
  • サイドチャネル攻撃への対策はまだ実装されていません。
  • Rust 1.91.1以降が必要です。
  • WindowsではAArch64マシンはサポートされていません。

収録されている特集

トピック

よくある質問

tfhe-rs とは?
暗号化データを直接使ったブール演算や整数演算を可能にする、TFHE方式の純粋なRust実装。 TFHE-rsは、完全準同型暗号方式であるTFHEを実装した純粋なRustライブラリです。暗号文に対して計算を行い、データ所有者が復号すると、平文に同じ演算を適用した場合と一致する結果が得られます。ブール回路のほか、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"] } リリースモードでサンプルを実行します: cargo run --release
tfhe-rs はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/zama-ai/tfhe-rs

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト