链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

区块链作为一个分布式系统,一方面通过数据共享、协同治理和协同处理,充分发挥数据的价值。另一方面,由于资源和隐私的限制,区块链只适合存储最轻、最必需和非隐私风险的数据,如散列、元数据的密文等

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

前言

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

区块链作为一个分布式系统,一方面通过数据共享、协同治理和协同处理,充分发挥数据的价值。另一方面,由于资源和隐私的限制,区块链只适合存储最轻、最必需和非隐私风险的数据,如散列、元数据的密文等。

数据可用性和隐私之间的紧张关系在区块链中变得越来越明显。

俗话说:鱼与熊掌不可兼得。但是专门研究复杂疾病治疗的密码学家不同意这种说法,他们提出了一种方案,即密文也可以参与计算。同态加密(HE,同态加密)。本文将解释同态加密的定义及其在FISCO BCOS中的实现。

什么是同态加密

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

同态加密是20世纪70年代提出的一个开放问题。它的目标是在不公开数据的情况下完成数据处理,并注重数据处理的安全性。

想象这样的场景,作为一个充满理想的第二代建筑,你过着枯燥的收房租的生活,希望摆脱世俗的束缚,去追求金钱和诗意的距离。

你需要雇一个代理人来做收取租金的琐碎工作,但你不希望他监视你的月收入。因此,你让某人设计一套服装,以确保代理人能够在不泄露收入信息的情况下收取租金。

这套套装包括信封、胶水、钱包和魔法剪刀,每一个都有独特的功能:

一旦用胶水把信封封好,只有魔法剪刀才能打开它。

不管信封里装了多少钱,信封的大小和重量都不会改变。

当多个信封放入一个钱包时,它们成对组合而成,不需要打开,最后成为一个信封,包含合并前所有信封的总和。

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

你给所有房客发信封和胶水,然后把钱包交给代理人。

在指定的日期,租客将租金密封在一个信封内,然后交给代理人;代理人收集信封,把它们放进他的钱包,最后得到一个装满所有租金的信封,他把租金传给你。你用魔法剪刀把它剪开,然后得到租金。

在这个场景中,a和b两个属性的信封是公钥加密的性质,也就是说,使用公钥加密的密文获得只能由人拥有私钥进行解密,和密文不会透露明确的文本的语义信息。另一方面,C表示加法的同态。可以计算出两个密文,解密后得到的结果正好是两个原始明文的总和。

在这一点上,同态加密的全貌已经很清楚了:

同态加密本质上是一种公钥加密方案,即使用公钥pk加密,使用私钥sk解密;

同态加密支持密文计算,即同一公钥加密生成的密文对f()函数进行同态运算,生成的新密文与解密后的两个原始明文计算出的f()函数的结果完全相同。

同态加密公式描述如下:

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

同态加密可以分为完全同态加密(FHE,完全同态加密)和半同态加密(SWHE,有点同态加密)。

顾名思义,FHE支持任何给定的f()函数。但是,由于计算量大,目前学术界还没有实用的FHE方案。SWHE只支持一些特定的f()函数,如加法或乘法等。由于其低成本,在业界得到了广泛的应用,尤其是在云计算领域。

FISCOBCOS技术的选择

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

在联盟链中,考虑到监管要求,链组织可能需要在应用程序中链接一些私有数据,如收益账户、产品流等。为了不泄露机密,该机构可以使用监管机构的公钥对信息进行加密。经过加密后,信息统计可以由机构来完成。在这个场景中,同态加密非常有用,因为它需要对密文执行计算。

FISCO BCOS为用户提供了一个隐私保护工具,该工具通过集成同态加密来支持密文处理。加密和解密将公开明文数据。出于安全考虑,只适合在链条下完成。链上只保留同态操作接口,加密和解密接口以独立算法库的形式提供给应用层。

在选择同态加密方案时,考虑到计算开销,选择轻量加法同态方案。由于区块链的存储资源有限,密文不能太大,可以与标准RSA加密算法对齐。

基于以上两点,我们选择了由Paillier于1999年在EUROCRYPT上提出的基于复合度残差类的加性同态方案Paillier,公钥密码系统。

Paillier方案的实验分析如下:

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

通过RSA密钥生成算法得到公钥-私钥对,从上表可以看出,每个代价与密钥长度正相关。目前,1024位RSA密钥不再安全,建议使用2048位及以上密钥。

如何在FISCOBCOS中使用同态加密

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

FISCO bcos2.3以预编译契约的形式集成了Paillier scheme的密文同态加法接口。要启用同态加密,请打开CRYPTO_EXTENSION编译选项并重新编译源代码。同态加密预编译的合同地址分配如下:

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

要完成预编译契约的调用,首先需要以可解析契约格式声明契约接口。

/ / paillierprecompile solpragma solability ^ 0.4.24;{function paillierAdd(string cipher1, string cipher2) public constant returns(string);}

然后,可以在业务契约中的地址实例化预编译的契约对象,以完成同态加接口调用。

/ / CallPaillier solpragma solpragma solalidity ^ 0.4.24;导入”/ PaillierPrecompiled。索尔”;合同CallPaillier {paillierprecompile paillier;构造函数()public{//实例化paillierprecontract paillier = paillierprecompile (0x5003);函数add(string cipher1, string cipher2) public constantreturns(string){return paillier。PaillierAdd (cipher1 cipher2);函数add(string cipher1, string cipher2) public constantreturns(string){return paillier。}}

Paillier方案中的公钥-私钥生成、加密和解密接口在单独的密码库中提供给开发人员。该库目前包含Jaa语言Paillier方案的完整版本和用于预编译契约调用的同态plus接口的C语言版本。

密码库地址如下:

https://github.com/FISCO-BCOS/paillier-lib

未来改进方向

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

目前,开发人员可以访问的同态加密算法库只有Jaa版本。未来,我们将结合FISCO BCOS的SDK语言类,根据实际需要提供同态加密库的多语言版本。

同态加密一直是密码学领域的一个难题。要实现完全同态加密的计算,在性能和可用性方面还存在很大的挑战。FISCO BCOS将继续监测这一领域的技术进展。

结论

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

安全还有很长一段路要走,财政预算将会起起落落。目前,FISCO BCOS已经配置了各种加密工具,包括组签名、环签名和同态加密。下一步是为特定场景实现和集成定制的隐私保护解决方案。

欢迎大家使用并关注同态加密技术在隐私保护场景中的应用,共同探讨交流,给予积极反馈,构建更加安全可靠的FISCO BCOS平台。

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

-相关阅读-

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

FISCO BCOS代码是完全开源和免费的

下载地址达;AMPL达;AMPL达;

https://github.com/FISCO-BCOS/FISCO-BCOS

链密文参与计算?同态加密显示了| FISCO BCOS的隐私特征

发布者:区块链头条,转请注明出处:https://www.btchangqing.cn/21339.html

发表评论

登录后才能评论
商务微信
商务微信
客服QQ
分享本页
返回顶部