全同态加密(FHE)是一种加密技术,允许在加密数据上进行有意义的计算,保护数据隐私。它在机器学习领域的应用促进了保护隐私的计算能力,如私密训练和预测。FHEML是一种基于FHE的机器学习方法,允许在加密数据上进行计算。已有一些流行的框架和库用于构建FHEML程序,如Concrete-ml和Tenseal。FHEML的用例包括外包计算、加密推断和加密训练洞察,允许组织在保护隐私的同时利用数据来提升运营效率和优化决策过程。
原文标题:WTF is FHEML
原文作者:Nitanshu Lokhande
原文来源:medium
编译:火星财经,MK
全同态加密(FHE)代表一种加密技术,使得在加密数据上执行有意义的计算成为可能。这意味着,当这些计算的结果被解密时,它们与在明文数据上执行相同计算所获得的结果一致。
In short
fenc 是一种同态加密函数
Where
其同态性在加密空间中保持计算不变。
在 FHE 的广泛类别中,我们通常将 FHE 方案分为以下三种:
全同态加密(FHE)在机器学习(ML)领域的应用促进了保护隐私的计算能力,使在加密数据上执行计算成为可能。
在这一领域,有几个显著的贡献,例如 Lauter(2021)探讨了如何将同态加密与 AI 集成以进行私密训练和预测,强调了密码学与机器学习的结合,以在利用 AI 力量的同时保护数据隐私。
此外,有关使用 FHE 的隐私保护深度神经网络的工作,详细介绍了一项研究,它探索了使用 FHE 和多方计算(MPC)对 ML 模型中的非算术函数进行混合模型评估,推动了在计算过程中保持数据和模型保密性的边界。
Graepel, Lauter 和 Naehrig(2012)的开创性论文《ML Confidential》介绍了如何将部分同态加密应用于安全地委托 ML 计算给计算服务的方法,确保机密 ML 算法的数据保密性。此外,关于在加密数据上进行逻辑回归和无监督学习算法的研究,展示了将传统 ML 方法调整以在加密约束下操作的实际应用和可能性,证明了这些方法在保护数据隐私方面的可行性和效率。这些工作共同强调了机器学习与密码学的关键交汇点,为未来安全、保护隐私的 ML 算法研究提供了蓝图。
基于全同态加密的机器学习(FHEML)是一种利用全同态加密方案实现机器学习算法的方法。它确保正在处理的数据保持保密,允许在加密数据上进行计算。
FHEML 可以看作是零知识机器学习(ZKML)的补充,ZKML 专注于证明机器学习算法的正确执行,而 FHEML 强调在加密数据上执行计算以维护数据隐私。
FHEML 的核心在于它允许在加密数据上进行计算,使得计算结果一旦解密,就与在原始明文数据上执行计算所得到的结果相匹配。这种能力为机器学习应用开辟了重要的新范畴,因为它允许算法在不损害数据隐私或安全的情况下在加密数据上运行。
它可以可视化为:
FHEML包括被调整以与全同态加密方案协同工作的机器学习算法。通过利用这些方案,FHEML 为一系列以隐私为中心的机器学习用例开辟了新的可能性。从更高层次来看,这包括保密计算、加密训练和私密推断等。这些进展不仅增强了数据的安全性,也扩展了机器学习在处理敏感和隐私要求高的场景中的潜在应用。
目前,尽管没有统一的标准用于编写 FHEML 程序,但存在一些流行的框架和库,用于构建 FHEML 程序:
Concrete-ml 是由 Zama 创建的库,建立在他们的低级 TFHE(全同态加密)编译器 Concrete 之上。它允许将任意 Python 代码编译成 FHE 电路,使开发者能够编写可以在加密数据上执行计算的 Python 函数。
Concrete-ml 让开发者可以使用熟悉的机器学习 API(如线性模型、基于树的模型、神经网络),这些在 scikit-learn 或其他框架中可用,允许将 PyTorch 模型转换为其 FHE 兼容版本。基于随机梯度下降的分类器可用于加密数据上的训练。Concrete-ml 显著降低了实现加密数据上机器学习操作的难度。
Tenseal,由 OpenMined 社区开发,专注于在张量上启用同态操作(张量是神经网络中处理和表示数据的基本单元)。建立在 Microsoft SEAL(简单加密算术库)之上,Tenseal 提供了一个高效的、可通过 Python 访问的 API,其底层操作使用 C++ 实现,以提升在加密张量上实现同态加密操作的性能。
PySyft 是 OpenMined 的另一个贡献,旨在 Python 中实现安全和私有的深度学习。它结合了 Tenseal 的同态加密能力,增强了其保护隐私的功能。PySyft 引入了基于 CKKS 同态加密方案的 CKKS 张量,允许对实数进行操作并提供近似结果。这不仅涵盖同态加密,还包括安全多方计算和差分隐私,为保护隐私的机器学习提供了全面的解决方案。
TF Encrypted 是专为 TensorFlow 生态系统内的加密机器学习设计的框架。它模仿 TensorFlow 的体验,特别是通过 Keras API,促进了在加密数据上的训练和预测。TF Encrypted 利用安全多方计算和同态加密技术,提供保护隐私的机器学习能力。TF Encrypted 旨在使加密机器学习易于那些不熟悉密码学、分布式系统或高性能计算的人员使用,以推动加密机器学习的普及。
外包计算
因为计算是在加密的数据上进行的,所以现在各方可以安全地将数据以加密形式共享给第三方来处理。
加密推断
这一过程促进了加密推断,其中用户请求的推断不会泄露给模型,并且默认情况下保持加密状态,仅用户可以使用他们的密钥进行解密。
加密训练洞察
此功能使企业能够使用敏感数据的加密形式来训练机器学习模型并获得洞察力。这允许组织利用其数据来增强运营效率,开发新策略,并优化决策过程,同时确保涉及数据的最高级别的隐私和安全保护。