发布时间:2023-08-02 11:30
基本概念
同态加密(Homomorphic Encryption,HE)指将原始数据经过同态加密后,对密文进行特定的运算,得到的密文计算结果在进行同态解密后的得到的明文等价于原始明文数据直接进行相同计算所得到的数据结果。
历史与发展
标准化进展
半同态加密标准化
2019年5月,国际标准化组织ISO发布了同态加密标准(ISO/IEC 18033-6:2019)。该标准仅涉及半同态加密,具体包含两种较为成熟的半同态加密机制:ElGamal乘法同态加密和Paillier加法同态加密,并规定了参与实体的参数和密钥生成、数据加密、密文数据解密、密文数据同态运算等步骤的具体过程。
全同态加密标准化
2017年7月,来自学术界、工业界和政界的相关领域研究人员组成了全同态加密标准化开放联盟HomomorphicEncryption.org,在微软研究院举办了首届全同态加密标准化研讨会,开始共同推进全同态加密标准草案的编写工作,并发布了全同态加密安全标准、API标准、应用标准三份白皮书。迄今为止,HomomorphicEncryption.org在三年内已举办五届全同态加密标准化会议,参与成员包括微软、三星SDS、英特尔、IBM、谷歌、万事达卡等企业,以及NIST、ITU等机构的代表和各大高校的学者。在标准化进展方面,HomomorphicEncryption.org已分别于2018年3月和11月发布和更新了全同态加密标准草案。
1、Alice对数据进行加密,并把加密后的数据发送给Cloud
2、Alice向Cloud提交数据的处理方法,用函数 f 来表示
3、Cloud在函数f下对数据进行处理,并且将处理后的结果发送给Alice
4、Alice对数据进行解密,得到结果
同态加密方案应该拥有的函数
对于同态加密,其密码套件具备延展性,也就是说无法保证数据的完整性,这并非是缺陷,反而时有意为之的,能够使用户易于操作加密数据
延展性时加密算法的属性之一,用户可利用延展性将密文转换为改变了原始文本含义的另一有效加密文本,而且,转换数据的用户甚至无需知道或推测原始明文数据是什么
乘法同态加密算法
满足乘法同态特性的典型加密算法包括1977年提出的RSA公钥加密算法和1985年提出的ElGamal公钥加密算法
加法同态加密算法
Paillier加密算法是1999年由paillier提出的一种基于复合剩余类问题的公钥加密算法,同时也是目前最为常用且最具实用性的加法同态加密算法,在具体的应用场景中实现了应用。
有限次全同态加密算法
2005年提出的Boneh-Goh-Nissim方案是一种基于双线性映射的公钥密码方案,支持任意加法同态和一次乘法同态运算。方案中的加法同态基于类似paillier算法的思想,而一次乘法同态基于双线性对映射的运算性质。由于双线性对映射算法会使得密文所在的群发生变化,因此只能支持一次乘法同态运算,但是对乘法后的密文支持作加法运算
第一代全同态加密方案 – Gentry方案
Gentry方案是一种基于电路模型的全同态加密算法,支持对每个比特进行加法和乘法同态运算。Gentry方案的基本思想是构造支持有限次同态运算的同态加密算法并引入“Bootstrapping”方法控制运算过程中的噪音增长。
“Bootstrapping”方法通过将解密过程本身转化为同态运算电路,并生成新的公私钥对对原私钥和含有噪音的原密文进行加密,然后用原私钥的密文对原密文的密文进行解密过程的同态运算,即可得到不含噪音的新密文。但是,由于解密过程本身的运算十分复杂,运算过程中也会产生大量噪音,为了给必要的同态运算需求至少预留足够进行一次乘法运算的噪音增长空间,需要对预先解密电路进行压缩简化,即将解密过程的一些操作尽量提前到加密时完成
第二代全同态加密方案 – BGV/BFV方案
第二代全同态加密方案通常基于LWR/RLWR假设,其安全性基于代数格上的困难问题,典型方案包括BGV方案和BFV方案。
第三代全同态加密方案 – GSW方案
GSW(Gentry-Sahai-Waters)方案是一种基于近似特征向量的全同态加密方案。该方案基于LWE并可推广至RLWE,但其的性能不如BGV方案等其他基于RLWE的方案。GSW方案的密文为矩阵的形式,而矩阵相乘并不会导致矩阵维数的改变,因此GSW方案解决了以往方案中密文向量相乘导致的密文维数膨胀问题,无需进行用于降低密文维数的密钥交换过程。
浮点数全同态加密方案 – CKKS方案
CKKS(Cheon-Kim-Kim-Song)方案是2017年提出的一种新方案,支持针对实数或复数的浮点数加法和乘法同态运算,得到的计算结果为近似值,适用于机器学习模型训练等不需要精确结果的场景。由于浮点数同态运算在特定场景的必要性,HElib和SEAL两个全同态加密开源库均支持了CKKS方案。
同态加密的概念最初提出用于解决云计算等外包计算中的数据机密性保护问题,防止云计算服务提供商获取敏感明文数据。随着区块链、隐私计算等新型领域的发展及其对隐私保护的更高要求,同态加密的应用拓展到了更为丰富的领域。
1、云计算
在云计算或外包计算中,用户为了节约自身的软硬件成本,可将计算和存储需求外包给云服务提供商,利用云服务提供商强大的算力资源实现数据的托管存储和处理。但是,将明文数据直接交给云服务器具有一定的安全风险,而传统的加密存储方式则无法实现对密文数据的直接计算,因此如何同时实现数据的机密性和可计算性成为了一个难题,同态加密的出现为这一场景的实现提供了可能性。
在传统的云存储与计算解决方案中,用户需要信任云服务器提供商不会窃取甚至用户数据,而基于同态加密的云计算模型可在根本上解决这一矛盾。首先,用户使用同态加密算法和加密密钥对数据进行加密,并将密文发送给云服务器;云服务器在无法获知明文数据的情况下按照用户给定的程序对密文进行计算,并将密文计算结果返回给用户;用户使用同态加密算法和解密密钥对密文计算结果进行解密,所得结果与直接对明文进行相同计算的结果等价。
2、在区块链中应用
3、在联邦学习中的应用
目前,全同态加密算法仍处于以学术界研究为主的发展阶段,现有方案均存在计算和存储开销大等无法规避的性能为题,距离高效的工程应用还有着不小的差距,同时面临国际与国内相关标准的缺失。因此,在尝试同态加密落地应用时,可以考虑利用Paillier加法同态加密算法等较为成熟且性能较好的半同态加密算法,解决只存在加法或者数乘同态运算需求的应用场景,或通过将复杂计算需求转化为只存在加法或数乘运算的形式实现全同态的近似替代
加密算法等较为成熟且性能较好的半同态加密算法,解决只存在加法或者数乘同态运算需求的应用场景,或通过将复杂计算需求转化为只存在加法或数乘运算的形式实现全同态的近似替代