CN112785306A - 基于Paillier的同态加密方法及应用系统 - Google Patents
基于Paillier的同态加密方法及应用系统 Download PDFInfo
- Publication number
- CN112785306A CN112785306A CN202110118517.0A CN202110118517A CN112785306A CN 112785306 A CN112785306 A CN 112785306A CN 202110118517 A CN202110118517 A CN 202110118517A CN 112785306 A CN112785306 A CN 112785306A
- Authority
- CN
- China
- Prior art keywords
- transaction
- sender
- ciphertext
- commitment
- evidence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于Paillier的同态加密方法及应用系统,涉及信息安全技术领域,包括计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;给交易金额构造承诺,为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;给交易发送方交易后账户余额构造承诺,为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;构造交易金额和交易发送方交易后账户余额的聚合范围证据;基于密文、证据和承诺对交易的合法性进行验证。本发明能够直接支持余额的范围证明。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于Paillier的同态加密方法及应用系统。
背景技术
区块链技术来自于比特币,具有去中心化、集体维护、公开透明、不可篡改、准匿名性等突出特点而受到广泛关注,是价值互联网的基础,是信任产生的机器,是新的协作机制,能够为自治组织提供支撑。
当前区块链技术平台中,公链以比特币、以太坊为代表,联盟链以超级账本(Hyperledger Fabric)、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。
在上述技术方案的基础上,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
在上述技术方案的基础上,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
在上述技术方案的基础上,所述基于生成的系统参数和公私钥,并结合预设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协议验证交易发送方交易金额密文的合法性和相等性,以及验证交易接受方交易金额密文的合法性和相等性;
计算C_td=C_ts/C_ta,并基于C_td、PedersenC2、EquaProofB,进行第二次验证,所述第二次验证为调用sigma协议验证交易发送方交易后账户余额的相等性;
基于EquaRangeProof,进行第三次验证,所述第三次验证为调用bulletproof协议的验证功能验证交易金额和交易发送方交易后账户余额范围的论断成立;
进行交易是否合法的判断,当且仅当第一次验证、第二次验证和第三次验证均成立时,则交易合法,则获取交易接受方账户原始金额密文和交易金额,得到交易接受方交易后账户余额密文,并将交易发送方交易后账户余额、交易接受方交易后账户余额密文和其它交易数据写入账本,反之,则交易不合法,交易失败。
本发明提供的一种基于Paillier的应用系统,包括:
生成模块,其用于基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥;
计算模块,其用于基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;
第一构造模块,其用于调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;
第二构造模块,其用于给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;
第三构造模块,其用于给交易发送方交易后账户余额构造Pedersen承诺,并调用sigma协议为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;
第四构造模块,其用于基于bulletproof协议构造交易金额和交易发送方交易后账户余额的聚合范围证据;
发送模块,其用于将计算得到的密文、构造的证据和构造的承诺发送至区块链节点;
验证模块,其用于驱使区块链节点的智能合约基于发送模块发送的密文、证据和承诺对交易的合法性进行验证。
与现有技术相比,本发明的优点在于:通过以Paillier算法为基础,并对Paillier算法进行改进以支持全网用户密文数据的同态,且密文可以直接解密,无需穷举,直接支持余额的范围证明,无需再解密重加密等繁杂流程。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种基于Paillier的同态加密方法的流程图。
具体实施方式
本发明实施例提供一种基于Paillier的同态加密方法,通过以Paillier算法为基础,并对Paillier算法进行改造以支持全网用户密文数据的同态,且密文可以直接解密,无需穷举,直接支持余额的范围证明,无需再解密重加密等繁杂流程。本发明实施例相应地还提供了一种基于Paillier的应用系统。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了将Paillier算法与基于FO承诺的零知识范围证明相结合,本发明对Paillier算法进行改造,改造后的Paillier算法为:
1、对于系统参数的产生
g的生成方式:随机选取两个大素数p和q,计算n=pq和λ=lcm(p-1,q-1),lcm表示最小公倍数计算,选取随机数g,且满足(L(gλmodn2))-1modn存在,mod表示取余数计算,为与n2互素且小于n2的自然数构成的乘法群,L(gλmodn2)=(gλmodn2-1)/n;
h的生成方式:选择随机数r<n2,计算h=grmodn2,且满足gcd(L(hλmodn2),n)==1存在,gcd表示最大公约数计算,其中,L(hλmodn2)=(hλmodn2-1)/n,λ=lcm(p-1,q-1);
k的生成方式:k=gλmodn2;
则系统参数sysPrm=(h,k,n,n2)。
2、公私钥的产生
公钥y=h1/x modλnmodn2。
3、明文的加密过程
对于明文m,m∈Zn,选择随机数r<n,加密过程为:
E=kmhrmodn2
C=yrmodn2
则对明文m加密,得到的密文为(E,C)。
4、密文的解密过程
对于密文(E,C),解密过程为:
Cm=E/cx=kmmodn2
其中,L(cmmodn2)=(cmmodn2-1)/n,L(kmodn2)=(kmodn2-1)/n。
5、加法同态属性
设有明文ma和mb,对其加密得到密文Encrpt(ma)=(Ea,Ca)和Encrpt(mb)=(Eb,Cb),其中Encrpt表示加密。
定义Encrpt(ma)Encrpt(mb)=(E',C'),其中,E'=EaEb mod n2,C'=cacb mod n2。
解密过程为:
对于账户模型,本发明实施例的同态加密方法用于区块链的交易的加密及范围证明时,密文(E,C)由两部分组成,其全体用于解密,E用于各种零知识证明。
对于一个正确的交易,需要证明如下三个声明成立:(1)转出金额和接受金额相等;(2)交易的金额处于某个合适的范围;(3)账户余额处于某个合适的范围。
对于第一个声明,由于E与用户无关,只与具体的金额有关,所以转账人转出的金额承诺E可以直接作为接收方的接受金额的承诺。因为g和h互相不能求出离散对数,很难购造出(m1,r1)≠(m2,r2)满足所以只要承诺相等,则所承诺的值必相等,故不必做相等性证明。
对于第二个声明,只需证明承诺E所隐藏的值处于某个合适的范围即可。
对于第三个声明,假设转出账户原始金额为ms,转出金额为mr,则转出账户的余额为ms-mr。相应的同态密文分别为:cs、cr、cs/cr,由于可从cs和cr解密金额,容易知道余额ms-mr,可以利用这些数据和cd=cs/cr中的E进行范围证明。
需要说明的是,对于Fujisaki-Okamoto承诺(简称FO承诺)。假设交易发送方和交易接受方不知n的分解,h∈g,g和h的阶是足够的素数,使得生成循环群中计算离散对数的计算不可行。交易发送方不知logg h和logh g,随机选取r∈R{-2sn+1,2sn-1},计算E(x,r)=gxhrmodn,发送E(x,r)给交易接受方作为对x的承诺。交易发送方在不知道n的分解和loggh的情况下,不可能找到x1≠x2满足E(x1,r1)=E(x2,r2),交易接受方也不可能从E(x,r)中获得关于x的任何信息,该协议是统计安全的,称该承诺方案为Fujisaki-Okamoto承诺,简称FO承诺。
零知识证明是指证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的,分为交互和非交互两类。零知识证明可用于解决区块链隐私保护,交易合法性验证等问题。
当前效率、证据大小比较优的范围证明协议是bulletproof。由于本发明中用于范围证明的交易金额密文E是一种FO承诺且随机数已知,而非Pedersen承诺,所以需要构造一个Pedersen形式承诺,然后采用sigma协议来证明FO承诺E和构造的Pedersen承诺隐藏了同一个值;采用bulletproof且该值位于[0,2l]内。对于用于范围证明的余额密文E是一种FO承诺且随机数不可解,需要利用用户私钥来构造一个Pedersen形式承诺,然后采用sigma协议来证明余额密文E和构造的Pedersen承诺隐藏了同一个值;采用bulletproof该值位于[0,2l]内。并且由于多个bulletproof协议可聚合,因此本发明利用相同参数来构造交易金额和账户余额对应的Pedersen承诺,然后采用聚合的bulletproof协议来证明它们隐藏的值位于[0,2l]内。2l表示验证范围的上界。
参见图1所示,本发明实施例提供的一种基于Paillier的同态加密方法,具体包括以下步骤:
S1:基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥;
S2:基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文。当用户加入本发明实施例的应用系统时,铸币方根据情况给用户初始化密文形式的余额,并写到链上,由用户读取到本地,且交易发送方交易前账户余额密文在本地存放或者从链上读取。
S3:调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;
S4:给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;
S5:给交易发送方交易后账户余额构造Pedersen承诺,并调用sigma协议给交易发送方交易后账户余额构造相等性证据;当然,还可以调用sigma协议为交易发送方交易后账户余额密文构造合法性证据。
S6:基于bulletproof协议构造交易金额和交易发送方交易后账户余额的聚合范围证据;
S7:将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证。
本发明实施例中,基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥,其中:
生成的系统参数
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。
本发明实施例中,基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
本发明实施例中,基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
本发明实施例中,基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文,其中:
计算得到的交易发送方交易金额密文
计算得到的交易接受方交易金额密文
计算得到的交易发送方账户原始金额密文
计算得到的交易发送方交易后账户余额密文
其中,T表示交易金额,A表示交易发送方账户原始金额,r1和r2均为随机数,且r1<n,r2<n。由于C_ta和C_tb包含相同的承诺E1,故不需要证明两个承诺里包含相同的值。
本发明实施例中,调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据,其中,构造的合法性证据为:
其中,CipherTextProofT表示给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据。
本发明实施例中,给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据,其中,调用sigma协议为交易金额承诺和交易发送方交易金额密文中的承诺构造相等性证据,具体为:调用sigma协议,为交易金额承诺和E1构造相等性证据。给交易金额构造的承诺属于Pedersen承诺。
本发明实施例中,将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,具体为:
将交易发送方交易金额密文C_ta、交易接受方交易金额密文C_tb、给交易发送方交易金额密文和交易接受方交易金额密文构造的合法性证据CipherTextProofT、给交易金额构造的承诺PedersenC1、调用sigma协议为交易金额承诺和交易发送方交易金额密文中承诺构造的相等性证据EquaProofT、给交易发送方交易后账户余额构造的承诺PedersenC2、给交易发送方交易后账户余额和PedersenC2构造的相等性证据EquaProofB,以及聚合范围证据EquaRangeProof发送至区块链节点。给交易发送方交易后账户余额构造的承诺属于Pedersen承诺。
本发明实施例中,区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证,具体步骤包括:
S701:获取sysPrm、y1、y2、pedPrm,从账本中读取C_ts,从交易数据中读取C_ta、C_tb、PedersenC1、PedersenC2、CipherTextProofT、EquaProofT、EquaProofB和EquaRangeProof;
S702:基于C_ta、PedersenC1、y1、pedPrm、sysPrm、CipherTextProofT和EquaProofT,进行第一次验证,所述第一次验证为调用sigma协议验证交易发送方交易金额密文的合法性和相等性,以及验证交易接受方交易金额密文的合法性和相等性;
S703:计算C_td=C_ts/C_ta,并基于C_td、PedersenC2、EquaProofB,进行第二次验证,所述第二次验证为调用sigma协议,以及交易发送方交易后账户余额的相等性;
S704:基于EquaRangeProof,进行第三次验证,所述第三次验证为调用bulletproof协议的验证功能验证交易金额和交易发送方交易后账户余额范围的论断成立;
S705:进行交易是否合法的判断,当且仅当第一次验证、第二次验证和第三次验证均成立时,则交易合法,则获取交易接受方账户原始金额密文和交易金额,得到交易接受方交易后账户余额密文,并将交易发送方交易后账户余额、交易接受方交易后账户余额密文和其它交易数据写入账本,反之,则交易不合法,交易失败。
本发明的基于Paillier的同态加密方法,通过以Paillier算法为基础,并对Paillier算法进行改造以支持全网用户密文数据的同态,且密文可以直接解密,无需穷举,直接支持余额的范围证明,无需再解密重加密等繁杂流程。
本发明实施例提供的一种基于Paillier的应用系统,包括生成模块、计算模块、第一构造模块、第二构造模块、第三构造模块、第四构造模块、发送模块和验证模块。
生成模块用于基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥;计算模块用于基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;第一构造模块用于调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;第二构造模块用于给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;第三构造模块用于给交易发送方交易后账户余额构造Pedersen承诺,并调用sigma协议为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;第四构造模块用于基于bulletproof协议构造交易金额和交易发送方交易后账户余额的聚合范围证据;发送模块用于将计算得到的密文、构造的证据和构造的承诺发送至区块链节点;验证模块用于驱使区块链节点的智能合约基于发送模块发送的密文、证据和承诺对交易的合法性进行验证。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
Claims (10)
1.一种基于Paillier的同态加密方法,其特征在于,包括以下步骤:
基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥;
基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;
调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;
给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;
给交易发送方交易后账户余额构造Pedersen承诺,并调用sigma协议为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;
基于bulletproof协议构造交易金额和交易发送方交易后账户余额的聚合范围证据;
将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证。
2.如权利要求1所述的一种基于Paillier的同态加密方法,其特征在于,所述基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥,其中:
生成的系统参数
sysPrm=(h,k,n,n2);
生成的承诺参数
pedPrm=(G,p,g1,h1)
7.如权利要求7所述的一种基于Paillier的同态加密方法,其特征在于,所述给交易金额构造承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据,其中,调用sigma协议为交易金额承诺和交易发送方交易金额密文中的承诺构造相等性证据,具体为:调用sigma协议,为交易金额承诺和E1构造相等性证据。
8.如权利要求7所述的一种基于Paillier的同态加密方法,其特征在于,所述将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,具体为:
将交易发送方交易金额密文C_ta、交易接受方交易金额密文C_tb、给交易发送方交易金额密文和交易接受方交易金额密文构造的合法性证据CipherTextProofT、给交易金额构造的承诺PedersenC1、调用sigma协议为交易金额承诺和交易发送方交易金额密文中承诺构造的相等性证据EquaProofT、给交易发送方交易后账户余额构造的承诺PedersenC2、给交易发送方交易后账户余额和PedersenC2构造的相等性证据EquaProofB,以及聚合范围证据EquaRangeProof发送至区块链节点。
9.如权利要求8所述的一种基于Paillier的同态加密方法,其特征在于,所述区块链节点的智能合约基于密文、证据和承诺对交易的合法性进行验证,具体步骤包括:
获取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协议验证交易发送方交易金额密文的合法性和相等性,以及验证交易接受方交易金额密文的合法性和相等性;
计算C_td=C_ts/C_ta,并基于C_td、PedersenC2、EquaProofB,进行第二次验证,所述第二次验证为调用sigma协议验证交易发送方交易后账户余额的相等性;
基于EquaRangeProof,进行第三次验证,所述第三次验证为调用bulletproof协议的验证功能验证交易金额和交易发送方交易后账户余额范围的论断成立;
进行交易是否合法的判断,当且仅当第一次验证、第二次验证和第三次验证均成立时,则交易合法,则获取交易接受方账户原始金额密文和交易金额,得到交易接受方交易后账户余额密文,并将交易发送方交易后账户余额、交易接受方交易后账户余额密文和其它交易数据写入账本,反之,则交易不合法,交易失败。
10.一种基于Paillier的应用系统,其特征在于,包括:
生成模块,其用于基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥;
计算模块,其用于基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;
第一构造模块,其用于调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;
第二构造模块,其用于给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;
第三构造模块,其用于给交易发送方交易后账户余额构造Pedersen承诺,并调用sigma协议为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;
第四构造模块,其用于基于bulletproof协议构造交易金额和交易发送方交易后账户余额的聚合范围证据;
发送模块,其用于将计算得到的密文、构造的证据和构造的承诺发送至区块链节点;
验证模块,其用于驱使区块链节点的智能合约基于发送模块发送的密文、证据和承诺对交易的合法性进行验证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110118517.0A CN112785306B (zh) | 2021-01-28 | 2021-01-28 | 基于Paillier的同态加密方法及应用系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110118517.0A CN112785306B (zh) | 2021-01-28 | 2021-01-28 | 基于Paillier的同态加密方法及应用系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112785306A true CN112785306A (zh) | 2021-05-11 |
CN112785306B CN112785306B (zh) | 2023-08-15 |
Family
ID=75759422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110118517.0A Active CN112785306B (zh) | 2021-01-28 | 2021-01-28 | 基于Paillier的同态加密方法及应用系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112785306B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113159762A (zh) * | 2021-01-28 | 2021-07-23 | 武汉天喻信息产业股份有限公司 | 基于Paillier和博弈论的区块链交易方法 |
CN116389164A (zh) * | 2023-05-26 | 2023-07-04 | 建信金融科技有限责任公司 | 数据的检测方法及装置 |
CN117035776A (zh) * | 2023-08-22 | 2023-11-10 | 上海零数众合信息科技有限公司 | 一种数据共享方法、装置、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090182667A1 (en) * | 2006-05-05 | 2009-07-16 | Parkes David C | Practical secrecy-preserving, verifiably correct and trustworthy auctions |
CN110011781A (zh) * | 2019-03-04 | 2019-07-12 | 华中科技大学 | 一种用于交易金额加密且支持零知识证明的同态加密方法 |
WO2019195989A1 (en) * | 2018-04-09 | 2019-10-17 | Huawei Technologies Co., Ltd. | Zero-knowledge range proof with reversible commitment |
CN110414981A (zh) * | 2019-07-04 | 2019-11-05 | 华中科技大学 | 一种支持ZKPs的同态加密方法和区块链交易金额加密方法 |
US20190385162A1 (en) * | 2018-12-29 | 2019-12-19 | Alibaba Group Holding Limited | System and method for information protection |
CN113159762A (zh) * | 2021-01-28 | 2021-07-23 | 武汉天喻信息产业股份有限公司 | 基于Paillier和博弈论的区块链交易方法 |
CN115549891A (zh) * | 2022-11-24 | 2022-12-30 | 北京信安世纪科技股份有限公司 | 同态加密方法、同态解密方法、同态计算方法及设备 |
-
2021
- 2021-01-28 CN CN202110118517.0A patent/CN112785306B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090182667A1 (en) * | 2006-05-05 | 2009-07-16 | Parkes David C | Practical secrecy-preserving, verifiably correct and trustworthy auctions |
WO2019195989A1 (en) * | 2018-04-09 | 2019-10-17 | Huawei Technologies Co., Ltd. | Zero-knowledge range proof with reversible commitment |
US20190385162A1 (en) * | 2018-12-29 | 2019-12-19 | Alibaba Group Holding Limited | System and method for information protection |
CN110011781A (zh) * | 2019-03-04 | 2019-07-12 | 华中科技大学 | 一种用于交易金额加密且支持零知识证明的同态加密方法 |
CN110414981A (zh) * | 2019-07-04 | 2019-11-05 | 华中科技大学 | 一种支持ZKPs的同态加密方法和区块链交易金额加密方法 |
CN113159762A (zh) * | 2021-01-28 | 2021-07-23 | 武汉天喻信息产业股份有限公司 | 基于Paillier和博弈论的区块链交易方法 |
CN115549891A (zh) * | 2022-11-24 | 2022-12-30 | 北京信安世纪科技股份有限公司 | 同态加密方法、同态解密方法、同态计算方法及设备 |
Non-Patent Citations (3)
Title |
---|
YANG LI ET AL.: "KPH: A Nover Blockchain Privacy Preserving Scheme Based on Paillier and FO Commitment", DATA SCIENCE * |
张育明;: "分布式账本技术的实践与思考", 金融电子化, no. 04 * |
贺东博: "基于同态加密和零知识证明的区块链隐私保护研究", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 3 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113159762A (zh) * | 2021-01-28 | 2021-07-23 | 武汉天喻信息产业股份有限公司 | 基于Paillier和博弈论的区块链交易方法 |
CN113159762B (zh) * | 2021-01-28 | 2024-04-09 | 武汉天喻信息产业股份有限公司 | 基于Paillier和博弈论的区块链交易方法 |
CN116389164A (zh) * | 2023-05-26 | 2023-07-04 | 建信金融科技有限责任公司 | 数据的检测方法及装置 |
CN116389164B (zh) * | 2023-05-26 | 2023-09-12 | 建信金融科技有限责任公司 | 数据的检测方法及装置 |
CN117035776A (zh) * | 2023-08-22 | 2023-11-10 | 上海零数众合信息科技有限公司 | 一种数据共享方法、装置、电子设备和存储介质 |
CN117035776B (zh) * | 2023-08-22 | 2024-05-14 | 上海零数众合信息科技有限公司 | 一种数据共享方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112785306B (zh) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108418689B (zh) | 一种适合区块链隐私保护的零知识证明方法和介质 | |
CN110011781B (zh) | 用于交易金额加密且支持零知识证明的同态加密方法和介质 | |
EP3783831B1 (en) | Selectivity in privacy and verification with applications | |
US5606617A (en) | Secret-key certificates | |
US5493614A (en) | Private signature and proof systems | |
US8654975B2 (en) | Joint encryption of data | |
CN110545279A (zh) | 兼具隐私和监管功能的区块链交易方法、装置及系统 | |
CN110414981B (zh) | 一种支持ZKPs的同态加密方法和区块链交易金额加密方法 | |
CN113159762B (zh) | 基于Paillier和博弈论的区块链交易方法 | |
CN102255729B (zh) | 一种基于媒介数字证书的ibe数据加密系统 | |
CN112785306A (zh) | 基于Paillier的同态加密方法及应用系统 | |
Liao et al. | Analysis of a mobile payment protocol with outsourced verification in cloud server and the improvement | |
CN103444128B (zh) | 密钥pv签名 | |
US20230336567A1 (en) | Selectivity in privacy and verification with applications | |
CN115396115B (zh) | 区块链数据隐私保护方法、装置、设备及可读存储介质 | |
CN102301643A (zh) | 数据处理系统中的密码证书的管理 | |
CN112819465B (zh) | 基于Elgamal的同态加密方法及应用系统 | |
CN112632636B (zh) | 一种密文数据比较结果的证明与验证方法及装置 | |
Singh et al. | Cryptanalysis of blind signature schemes | |
Al-Saidi et al. | A new idea in zero knowledge protocols based on iterated function systems | |
Terada et al. | Improved Verifiable Delegated Private Set Intersection | |
Bultel | Delegation mechanisms for public key cryptographic primitives | |
Chain et al. | Improved digital signature schemes based on dual-complexities | |
Yeung | Digital signatures: a survey of undeniable signatures | |
Sheedy | Privacy Enhancing Protocols using Pairing Based Cryptography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |