同态加密

同态加密(homomorphic encryption)是一种特殊的加密方法,允许对密文进行处理得到仍然是加密的结果。即对密文直接进行处理,跟对明文进行处理后再对处理结果加密,得到的结果相同。从抽象代数的角度讲,保持了同态性。

同态加密可以保证实现处理者无法访问到数据自身的信息。
如果定义一个运算符Δ,对加密算法E 和解密算法D,满足:

  • E(XΔY)= E(X)ΔE(Y)

则意味着对于该运算满足同态性。

同态性来自代数领域,一般包括四种类型:加法同态、乘法同态、减法同态和除法同态。同时满足加法同态和乘法同态,则意味着是代数同态,称为全同态(full homomorphic)。同时满足四种同态性,则称为算数同态。

对于计算机操作来讲,实现了全同态意味着对于所有处理都可以实现同态性。只能实现部分特定操作的同态性,称为特定同态(somewhat homomorphic)。

对于区块链技术,同态加密也是很好的互补。使用同态加密技术,运行在区块链上的智能合约可以处理密文,而无法获知真实数据,极大地提高了隐私安全性。
目前全同态的加密方案主要包括如下三种类型:

  • 基于理想格(ideal lattice)的方案:Gentry和Halevi在2011年提出的基于理想格的方案可以实现72bit的安全强度,对应的公钥大小约为2.3GB,同时刷新密文的处理时间需要几十分钟;

  • 基于整数上近似GCD问题的方案:Dijk等人在2010年提出的方案(及后续方案)采用了更简化的概念模型,可以降低公钥大小至几十MB量级;

  • 基于带扰动学习(Learning With Errors, LWE)问题的方案:Brakerski和Vaikuntanathan等在2011年左右提出了相关方案;Lopez-Alt A等在2012年设计出多密钥全同态加密方案,接近实时多方安全计算的需求。

你可能感兴趣的:(学习笔记)