全同态(Fully Homomorphic Encryption, FHE)和半同态(Partially Homomorphic Encryption, PHE)介绍

全同态(Fully Homomorphic Encryption, FHE)和半同态(Partially Homomorphic Encryption, PHE)

全同态加密(FHE)是指一种加密方案,可以在加密状态下进行任意多次的加法和乘法运算,并且可以得到与明文数据相同的结果。这意味着可以在加密的数据上进行复杂的计算,而无需解密数据。FHE是同态加密中的最高级别,提供了最大的计算功能,但也是最复杂和计算密集的形式。

半同态加密(PHE)是指一种加密方案,允许在加密状态下进行一种运算,通常是加法或乘法,但不支持同时进行加法和乘法运算。虽然半同态加密的计算功能有限,但它仍然有一定的应用价值,尤其是在一些特定的场景中。


这两种同态加密形式各有优缺点,适用于不同的使用场景。全同态加密提供了最大的计算能力,但由于其复杂性和计算开销较大,目前仍在研究和发展阶段。半同态加密虽然功能受限,但相对较易实现,并在一些特定的应用中得到了广泛应用。

同态加密技术的发展对于数据隐私保护、安全计算和多方协作等领域具有重要意义。它使得在加密状态下进行计算操作成为可能,能够保护数据隐私并实现安全计算,促进了数据的共享和合作,同时也带来了新的挑战和机遇。

支持同态加密的开发框架

Microsoft SEAL:Microsoft SEAL(Simple Encrypted Arithmetic Library)是微软开发的一个开源同态加密库,提供了实现全同态加密和部分同态加密的功能。它提供了C++和.NET两个版本的API,支持各种同态操作和加密方案。

Palisade:Palisade是一个开源的同态加密和安全多方计算库,由新墨西哥大学和Sandia国家实验室开发。它支持多种同态加密方案,包括全同态加密、部分同态加密和同态签名等,并提供了C++和Python的API接口。

HElib:HElib是一个开源的同态加密库,由IBM研究人员开发。它支持全同态加密和部分同态加密,并提供了C++的API接口。HElib具有高度的灵活性和可定制性,可以用于构建各种同态计算应用。

SEAL-Python:SEAL-Python是Microsoft SEAL的Python绑定,为Python开发者提供了使用SEAL库进行同态加密的能力。它允许开发者使用Python编写同态加密的应用程序,并与其他Python库和框架集成。

PySEAL:PySEAL是一个Python绑定的同态加密库,基于Microsoft SEAL。它提供了使用Python编写同态加密应用程序的便捷性,并与Python生态系统集成。

PALISADE-Python:PALISADE-Python是Palisade同态加密库的Python绑定。它为Python开发者提供了使用Palisade库进行同态加密的能力。

HEAAN:HEAAN是一个开源的同态加密库,基于自动微分和多项式环。它提供了C++的API接口,并支持全同态加密和部分同态加密。

HomomorphicEncryption.org:HomomorphicEncryption.org是一个同态加密库和资源的集合,提供了多个开源的同态加密框架和工具。它包含了多种实现同态加密的库和算法,供开发者选择和使用。

posted @ 2023-05-18 19:21  上海志彦  阅读(628)  评论(0编辑  收藏  举报