基于Paillier的同态加密方法及应用系统技术方案

技术编号:28423198 阅读:13 留言:0更新日期:2021-05-11 18:31
本发明专利技术公开了一种基于Paillier的同态加密方法及应用系统,涉及信息安全技术领域,包括计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;给交易金额构造承诺,为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;给交易发送方交易后账户余额构造承诺,为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;构造交易金额和交易发送方交易后账户余额的聚合范围证据;基于密文、证据和承诺对交易的合法性进行验证。本发明专利技术能够直接支持余额的范围证明。

【技术实现步骤摘要】
基于Paillier的同态加密方法及应用系统
本专利技术涉及信息安全
,具体涉及一种基于Paillier的同态加密方法及应用系统。
技术介绍
区块链技术来自于比特币,具有去中心化、集体维护、公开透明、不可篡改、准匿名性等突出特点而受到广泛关注,是价值互联网的基础,是信任产生的机器,是新的协作机制,能够为自治组织提供支撑。当前区块链技术平台中,公链以比特币、以太坊为代表,联盟链以超级账本(HyperledgerFabric)、Fisco为代表。无论公有链还是联盟链,因为账本的公开透明或者一定范围内的公开透明,以及准匿名性,导致明文的交易金额易造成用户隐私的泄露。为此出现了多种隐藏交易金额的项目,如zerocash协议、monero(门罗币)、RingCT(环签交易)等。加法同态算法也存在多种,其中,Paillier同态加密算法综合性能最好,然而Paillier同态加密算法无法完成余额大于0的证明,导致其不直接支持密文的范围证明。因此,当前均在讨论如何改造Paillier以支持密文的范围证明,但存在的问题是同态性质只保留在一个用户的范围内,而不是全网用户的密文同态;有的方案是修改Elgmal算法以支持全网同态,但密文的解密需要经过类似穷举的方法进行,而且由于无法获得随机数而不能直接支持余额的范围证明,需要经过其他间接的方式来实现,该方案的解决流程复杂,不够简洁。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种基于Paillier的同态加密方法及应用系统,能够直接支持余额的范围证明。为达到以上目的,本专利技术提供的一种基于Paillier的同态加密方法,包括以下步骤:基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥;基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;给交易发送方交易后账户余额构造Pedersen承诺,并调用sigma协议为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;基于bulletproof协议构造交易金额和交易发送方交易后账户余额的聚合范围证据;将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证。在上述技术方案的基础上,所述基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥,其中:生成的系统参数sysPrm=(h,k,n,n2);生成的承诺参数pedPrm=(G,p,g1,h1)其中,pedPrm表示Pedersen承诺参数,g1和h1是阶为素数p的群G的两个生成元,sysPrm表示系统参数,h=grmodn2,k=gλmodn2,n=pq,p和q均为随机选取的大素数,mod表示取余数计算,r为随机数,r<n2,g为随机数,为与n2互素且小于n2的自然数构成的乘法群,且满足(L(gλmodn2))-1modn存在,且满足gcd(L(hλmodn2),n)==1存在,其中,λ=lcm(p-1,q-1),lcm表示最小公倍数计算,L(gλmodn2)=(gλmodn2-1)/n,gcd表示最大公约数计算,L(hλmodn2)=(hλmodn2-1)/n。在上述技术方案的基础上,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:生成交易发送方私钥的过程为:选择随机数x1作为交易发送方私钥,其中为与λn互素且小于λn的自然数构成的乘法群;生成的交易发送方公钥在上述技术方案的基础上,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:生成交易接受方私钥的过程为:选择随机数x2作为交易发送方私钥,其中为与λn互素且小于λn的自然数构成的乘法群;生成的交易接受方公钥在上述技术方案的基础上,所述基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文,其中:计算得到的交易发送方交易金额密文计算得到的交易接受方交易金额密文计算得到的交易发送方账户原始金额密文计算得到的交易发送方交易后账户余额密文其中,T表示交易金额,A表示交易发送方账户原始金额,r1和r2均为随机数,且r1<n,r2<n。在上述技术方案的基础上,所述调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据,其中,构造的合法性证据为:其中,CipherTextProofT表示给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据。在上述技术方案的基础上,所述给交易金额构造承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据,其中,调用sigma协议为交易金额承诺和交易发送方交易金额密文中的承诺构造相等性证据,具体为:调用sigma协议,为交易金额承诺和E1构造相等性证据。在上述技术方案的基础上,所述将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,具体为:将交易发送方交易金额密文C_ta、交易接受方交易金额密文C_tb、给交易发送方交易金额密文和交易接受方交易金额密文构造的合法性证据CipherTextProofT、给交易金额构造的承诺PedersenC1、调用sigma协议为交易金额承诺和交易发送方交易金额密文中承诺构造的相等性证据EquaProofT、给交易发送方交易后账户余额构造的承诺PedersenC2、给交易发送方交易后账户余额和PedersenC2构造的相等性证据EquaProofB,以及聚合范围证据EquaRangeProof发送至区块链节点。在上述技术方案的基础上,所述区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证,具体步骤包括:获取sysPrm、y1、y2、pedPrm,从账本中读取C_ts,从交易数据中读取C_ta、C_tb、PedersenC1、PedersenC2、CipherTextProofT、EquaProofT、EquaProofB和EquaRangeProof;基于C_ta、PedersenC1、y1、pedPrm、sysPrm、CipherTextProofT和EquaProofT,进行第一次验证,所述第一次验证为调用sigma协议验证交易发送方交易金额密文的合法性和相等性,以及验证交易接受方本文档来自技高网...

【技术保护点】
1.一种基于Paillier的同态加密方法,其特征在于,包括以下步骤:/n基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥;/n基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;/n调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;/n给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;/n给交易发送方交易后账户余额构造Pedersen承诺,并调用sigma协议为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;/n基于bulletproof协议构造交易金额和交易发送方交易后账户余额的聚合范围证据;/n将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证。/n

【技术特征摘要】
1.一种基于Paillier的同态加密方法,其特征在于,包括以下步骤:
基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥;
基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;
调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;
给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;
给交易发送方交易后账户余额构造Pedersen承诺,并调用sigma协议为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;
基于bulletproof协议构造交易金额和交易发送方交易后账户余额的聚合范围证据;
将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证。


2.如权利要求1所述的一种基于Paillier的同态加密方法,其特征在于,所述基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥,其中:
生成的系统参数
sysPrm=(h,k,n,n2);
生成的承诺参数
pedPrm=(G,p,g1,h1)
其中,pedPrm表示Pedersen承诺参数,g1和h1是阶为素数p的群G的两个生成元,sysPrm表示系统参数,h=grmodn2,k=gλmodn2,n=pq,p和q均为随机选取的大素数,mod表示取余数计算,r为随机数,r<n2,g为随机数,为与n2互素且小于n2的自然数构成的乘法群,且满足(L(gλmodn2))-1modn存在,且满足gcd(L(hλmodn2),n)==1存在,其中,λ=lcm(p-1,q-1),lcm表示最小公倍数计算,L(gλmodn2)=(gλmodn2-1)/n,gcd表示最大公约数计算,L(hλmodn2)=(hλmodn2-1)/n。


3.如权利要求2所述的一种基于Paillier的同态加密方法,其特征在于,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易发送方私钥的过程为:选择随机数x1作为交易发送方私钥,其中为与λn互素且小于λn的自然数构成的乘法群;
生成的交易发送方公钥


4.如权利要求3所述的一种基于Paillier的同态加密方法,其特征在于,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易接受方私钥的过程为:选择随机数x2作为交易发送方私钥,其中为与λn互素且小于λn的自然数构成的乘法群;
生成的交易接受方公钥


5.如权利要求4所述的一种基于Paillier的同态加密方法,其特征在于,所述基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文,其中:
计算得到的交易发送方交易金额密文



计算得到的交易接受方交易金额密文



计算得到的交易发送方账户原始金额密文



计算得到的交易发送方交易后账户余额密文



其中,T表示交易金额,A表示交易发送方账户原始金额,r1和r2均为随机数,且r1<n,r2<n。


6.如权利要求5所述的一种基于Paillier的同态加密方法,其特征在于,所述调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据,其中,构造的合法性证据为:



其中,CipherTextProofT表示给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据。


...

【专利技术属性】
技术研发人员:孟庆树许元锎王飞董逢华王丽
申请(专利权)人:武汉天喻聚联科技有限公司武汉天喻信息产业股份有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1