OpenMined/TenSEAL

A library for doing homomorphic encryption operations on tensors

何を解決するか

TenSEALは、データを復号せずに数学的演算を実行できるようにすることで、開発者が暗号化されたデータ上で計算を行うことを可能にします。これにより、サーバーやサービスがデータを暗号化されたまま(たとえばドット積や行列積の計算など)処理できるため、データのプライバシーが確保されます。

動作方法

Microsoft SEALの上に構築されたPythonライブラリであり、BFV(整数用)およびCKKS(実数用)といった同型暗号(HE)方式を実装しています。暗号化されたデータをベクトルやN次元テンソルとして扱えるテンソル層を提供し、要素ごとの加算、減算、乗算、行列積などの演算をサポートしています。コア演算は効率性を重視してC++で実装されており、Python APIにより使いやすさを実現しています。

対象ユーザー

プライバシー保護型機械学習や安全な計算に取り組む開発者や研究者で、特に暗号化されたテンソル上で線形代数演算を実行する必要がある人向けです。

特徴

  • 同型暗号のサポート: 暗号化された整数と実数の両方に対応するBFVおよびCKKS方式をサポート。
  • テンソル演算: N次元演算に対応するCKKSTensorBFVTensorを提供し、リシェイプ、ブロードキャスト、転置を含む操作をサポート。
  • 線形代数: ドット積やベクトル-行列積の組み込みサポート。
  • SEAL統合: tenseal.sealapiを介して、下位のMicrosoft SEAL APIに完全アクセス可能。
  • シリアライズ: コンテキスト、鍵、暗号化されたテンソルを保存または送信できるようにシリアライズ機能を提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト