同态加密

同态加密是基于数学难题的计算复杂性理论的密码学技术。对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。

1.同态加密的相关概念

同态加密是一种无须对加密数据进行提前解密就可以执行计算的方法。使用同态加密技术在区块链上加密数据,不会对区块链属性造成任何重大的改变。也就是说,区块链仍旧是公有区块链,然而区块链上的数据将会被加密,因此照顾到了公有区块链的隐私问题,实现与私有区块链一样的隐私效果。

同态加密的思想起源于私密同态,代数同态和算术同态是私密同态的子集。R和S是域,称加密函数E:R→S为:

·加法同态,如果存在有效算法,E(x+y)=E(x)⊕E(y)或者x+y=D(E(x)⊕E(y))成立,并且不泄漏x和y;

·乘法同态,如果存在有效算法,E(x×y)=E(x)E(y)或者xy=D(E(x)E(y))成立,并且不泄漏x和y;

·混合乘法同态,如果存在有效算法,E(x×y)=E(x)y或者xy=D(E(x)y)成立,并且不泄漏x;

·减法同态,如果存在有效算法,E(x-y)=E(x)○-E(y)或者x-y=D(E(x)○-E(y))成立,并且不泄漏x和y;

·除法同态,如果存在有效算法,E(x/y)=E(x)○/E(y)或者x/y=D(E(x)○/E(y))成立,并且不泄漏x和y;

·代数同态,如果E既是加法同态又是乘法同态;

·算术同态,如果E同时为加法同态、减法同态、乘法同态和除法同态。

2.同态加密的优势

同态加密技术不仅提供了隐私保护,它同样允许随时访问公有区块链上的加密数据进行审计用于或其他目的。换句话说,使用同态加密在公有区块链上存储数据将能够同时提供公有区块链和私有区块链最好的部分。比如,使用同态加密的以太坊智能合约能够提供相似的特点和更强的掌控,同时完整地保留以太坊的优点。

在Shield128区块链安全平台上,KobiGurkan提到了一个同态加密在区块链上的应用案例——使用同态加密,以太坊智能合约能够用于管理员工开支。在这个案例中,如果员工不想让其同行知道他们的开支,那么他们可以加密其开支详细信息,然后发送到智能合约上。经过加密的开支信息会被算入总开支。最后,当公司财务部门想要分析开支时,可以在本地对最终的智能合约进行解密,将总开支详细分解开。这样的效果与公有账本相同,但是只有最终机构能够看到开支详细信息,其他的用户则只能看到一些加密的条目。

原文地址:https://www.cnblogs.com/hzcya1995/p/13312817.html