OpenMined/TenSEAL

A library for doing homomorphic encryption operations on tensors

解決的問題

TenSEAL 允許開發者在不需先解密資料的情況下對加密資料執行數學運算。這確保了資料隱私,使伺服器或服務能在資料保持加密狀態下處理資訊(例如執行點積或矩陣乘法)。

工作原理

這是一個基於 Microsoft SEAL 建構的 Python 庫,實作了 BFV(用於整數)和 CKKS(用於實數)等同態加密(HE)方案。它提供了一個張量層,讓使用者能將加密資料視為向量或 N 維張量,支援元素級加法、減法、乘法與矩陣乘法等運算。核心運算以 C++ 實作以確保效率,而 Python API 則使該庫易於使用。

適用對象

從事隱私保護機器學習與安全運算的開發者與研究人員,特別是需要在加密張量上執行線性代數運算者。

主要特色

  • 同態加密支援:支援用於加密整數與實數的 BFV 與 CKKS 方案。
  • 張量運算:提供 CKKSTensorBFVTensor 以支援 N 維運算,包含重塑、廣播與轉置。
  • 線性代數:內建支援點積與向量-矩陣乘法。
  • SEAL 整合:透過 tenseal.sealapi 提供對底層 Microsoft SEAL API 的完整存取。
  • 序列化:可將上下文、金鑰與加密張量序列化,以供儲存或傳輸。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案