同态加密与区块链

2020年8月12日20:24:32
评论
509
摘要

同态加密技术与区块链技术的结合将给隐私保护提供一种新思路

更多区块链技术与应用分类:

区块链应用    区块链开发

以太坊 | Fabric | BCOS | 密码技术 | 共识算法 | 比特币其他链

通证经济传统金融场景 | 去中心化金融 | 防伪溯源 | 数据共享 | 可信存证

 

同态加密与区块链

简介

人们越来越关注隐私保护,而同态加密技术将给隐私保护提供一种技术思路。现在的互联网产品,从某方面讲,根本毫无隐私可言。比如我们在微信上聊一些私密的事,非常不希望第三方人知道,微信上其他人也确实不知道。但是腾讯一定知道,像之前facebook发生信息泄露一样,所有的社交平台都有隐私泄露的风险,这让人时刻提心吊胆,这样的机制是有重大缺憾的。那如果使用同态加密技术,通信双方发的内容都以乱码的形式存在数据库,只有拥有密钥的通信双方有权查看,这不就杜绝了隐私安全问题吗?

区块链是一个去中心化系统,区块链上的交易需由全网进行共识验证,这就不得不向全网进行信息公开。也确实是,比特币、以太坊等系统上的交易都是明文存储。随着商业或者其他业态应用在区块链上,不想全链上的用户都知道某些信息,同态加密算法给我们提示了一个好方向。同态加密概念

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

同态加密算法分类

a) 如果满足 f(A)+f(B)=f(A+B), 我们将这种加密函数叫做加法同态。

b) 如果满足 f(A)×f(B)=f(A×B), 我们将这种加密函数叫做乘法同态。

注:

如果一个加密函数f只满足加法同态,就只能进行加减法运算;

如果一个加密函数f只满足乘法同态,就只能进行乘除法运算;

c) 如果一个算法能满足:加法同态乘法同态。那么,我们称之为全同态算法。

也就是说,如果一个加密函数同时满足加法同态和乘法同态,称为全同态加密。

同态加密在区块中应用

隐私保护技术在区块链中的应用还是初期阶段,针对fisco bcos链实现同态加密的过程:凡是上链的数据可通过调用paillier库完成加密,链上的密文数据可通过调用paillier预编译合约实现密文的同态加运算,密文返还回业务层后,可通过调用paillier库完成解密,得到执行结果。具体流程如下图所示:

同态加密与区块链

有一些应用场景需要用到同态加密计算,如在联盟链中,不同的业务场景需要配套不同的隐私保护策略。对于强隐私的业务,比如金融机构之间的对账,对资产数据进行加密是很有必要的。在FISCO BCOS中,用户可以调用同态加密库对数据进行加密,共识节点执行交易的时候调用同态加密预编译合约,得到密文计算的结果。

隐私模块的代码已在官方预编译合约中实现,在合约中调用即可。

利用同态加密计算1+1,控制台输出结果:

由此可以看出,计算的数据和输出数据加密前都是十分简单的数字,但是需要转换为复杂的密文,这个过程也比较耗时,同态加密算法确实在现实应用中效率不高。


原文链接:同态加密与区块链

  • 本文由 发表于 2020年8月12日20:24:32
  • 转载请注明:https://www.wanghaoyi.com/blockchain-homomorphic-encryption.html
以太坊之数据存储详解 以太坊

以太坊之数据存储详解

本文整理分析以太坊网络中的区块、交易以及合约数据是如何存储的。 区块结构 区块由两部分组成,分别是区块头(header)和区块体(body)两部分,详细结构图如下。 区块头(header) 区块头存储...
RSA公私钥特性及加解密过程 密码技术

RSA公私钥特性及加解密过程

RSA是一种使用不同的加密密钥与解密密钥的公钥密码体制,其命名是由提出该理论的的三人姓氏开头字母拼在一起组成。 公钥与私钥 RSA成对生成私钥与公钥,一把私钥对应一把公钥。而我们经常听到一个私钥对于多...
WeIdentity Sample案例演示记录 BCOS

WeIdentity Sample案例演示记录

WeIdentity是一套分布式多中心身份认证的技术解决方案(去中心化身份),由微众银行开发。本文对官方WeIdentity Sample 开发样例进行测试记录。 WeIdentity Sample ...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: