同态加密(Homomorphic Encryption,HE)指将原始数据经过同态加密后,对密文进行特定的xxx运算,得到的密文计算结果在进行同态解密后的得到的明文等价于将原始明文数据直接进行特定xxx运算所得到的数据结果。
其中E为加密算法,M是所有可能信息的集合。如果加密算法E满足公式,那么我们称E在★运算上符合同态加密的性质。目前的同态加密算法,主要支持两种运算上的同态:加法和乘法。
公式和上面定义相符合,比如Alice 想计算 m1 + m2 ,但这个加法只能第三方计算(比如交给阿里云),所以我先加密E(m1)、E(m2),将加密后的结果给阿里云,阿里云计算E(m1)+E(m2),计算后把结果返回给Alice,因为满足上面的公式,所以Alice直接解密E(m1+m2),就能得到m1+m2的结果,中间过程Alice没公开任何数据,隐私性得到保证。
一般按照将同态加密算法支持的运算类型和运算次数,将其分成3类:
Paillier:
HElib:
SEAL
同态加密最大的价值就是隐私保护:
1、区块链隐私保护:
2、文件存储与密文检索:使用同态加密,用户可以将自己的数据加密后存储在一个不信任的远程服务器上,日后可以向远程服务器查询自己所需要的信息,存储与查询都使用密文数据,服务器将检索到的密文数据发回。用户解密得到自己需要的信息,而远程服务器却对存储和检索的信息一无所知。此种方法同样适用于搜索引擎的数据检索。
3、联邦学习:是一种隐私保护机器学习方法,其主要思想为:构建一个隐私保护机器学习系统,使得拥有数据的多方能够联合训练一个或多个模型,并且任意一方的数据不会泄露给其他参与者。这能在保证隐私数据不泄露的情况下,提升参与者们本地模型的任务表现,打破数据孤岛
4、云计算、委托计算: