http://www.7klian.com

链上密文参加计较?同态加密尽显神通 | FISCO BCOS隐私特性

        return paillier.paillierAdd(cipher1, cipher2);
将来改造的偏向

媒介
什么是同态加密

想象一下这样一个场景,作为一名满度量负的楼二代,你天天过着枯燥乏味的收租糊口,但愿挣脱世俗的枷锁、铜臭的轻易去追求诗与远方。
pragma solidity ^0.4.24;
暗码库地点如下:
· 同态加密支持密文计较,即由沟通公钥加密生成的密文执行f()函数的同态操纵,生成的新密文解密后刚好便是两个原始明文计较f()函数的功效;
contract PaillierPrecompiled{
    function add(string cipher1, string cipher2) public constant
综合上述两点,我们选择了兼具以上特性的加法同态方案Paillier《Public-Key Cryptosystems Based on Composite Degree Residuosity Classes》,该方案由Paillier于1999年在欧密会(EUROCRYPT)上提出。
数据可用性和隐私性之间的抵牾,在区块链中愈发现显。
你需要雇一个署理人去包袱收租的粗活,但又不但愿其窥伺你每月躺赚的收入。于是,你请高人打造了一套装备,既能担保署理人顺利完成收租,又不会泄露收入信息。
    function paillierAdd(string cipher1, string cipher2) public constant returns(string);
安详之道修远兮,FISCO BCOS将上下求索。今朝,FISCO BCOS已设置包罗群签名、环签名、同态加密等多种暗码学东西,接下来将实现和集成面向特定场景的定制化隐私掩护办理方案。
在同态加密方案的选择上,出于对计较开销的思量,首选轻量级加法同态方案;鉴于区块链存储资源有限,密文不能太大,可对齐尺度的RSA加密算法。
如安在FISCO BCOS中利用同态加密
    {
https://github.com/FISCO-BCOS/paillier-lib
FISCO BCOS 2.3版本以预编译合约的形式集成了Paillier方案的密文同态加法接口。要启用同态加密成果需要打开CRYPTO_EXTENSION编译选项,并从头编译源码。同态加密预编译合约地点分派如下:

pragma solidity ^0.4.24;
    }
}
 

个中公私钥对通过RSA密钥生成算法获得,从上表中可以看到各项开销和秘钥长度正相关。今朝1024位的RSA密钥已经不再安详,推荐利用2048位及以上的密钥。

同态加密可分为全同态加密(FHE,Fully Homomorphic Encryption)和半同态加密(SWHE,Somewhat Homomorphic Encryption)。
Paillier方案中的公私钥生成、加解密接口以独立的暗码库提供应开拓者。今朝暗码库内包括了一个Java语言的完整版Paillier方案,以及一个供预编译合约挪用的C语言版同态加接口。
在这个场景中,信封的a、b两本性质其实就是公钥加密的特性,纵然用公钥加密获得的密文只有把握私钥的人可以或许解密,而且密文不会泄露明文的语义信息;而c则代表加法同态的特性,两个密文可以举办计较,获得的功效解密后正好是两个原始明文的和。
    constructor() public

c.把多个信封放在皮夹里后,信封会在不拆开的环境下两两归并,最后酿成一个信封,内里装的钱正好是归并前所有信封金额的总和。

        // 实例化PaillierPrecompiled合约
· 同态加密公式描写如下:

    PaillierPrecompiled paillier;
a.信封一旦用胶水密封,只有神奇铰剪才气拆开。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读