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 的完全访问。
  • 序列化:支持对上下文、密钥和加密张量进行序列化,以便存储或传输。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目