CN112785306B - 基于Paillier的同态加密方法及应用系统 - Google Patents

基于Paillier的同态加密方法及应用系统 Download PDF

Info

Publication number
CN112785306B
CN112785306B CN202110118517.0A CN202110118517A CN112785306B CN 112785306 B CN112785306 B CN 112785306B CN 202110118517 A CN202110118517 A CN 202110118517A CN 112785306 B CN112785306 B CN 112785306B
Authority
CN
China
Prior art keywords
transaction
ciphertext
sender
amount
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.)
Active
Application number
CN202110118517.0A
Other languages
English (en)
Other versions
CN112785306A (zh
Inventor
孟庆树
许元锎
王飞
董逢华
王丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Tianyu Julian Technology Co ltd
Wuhan Tianyu Information Industry Co Ltd
Original Assignee
Wuhan Tianyu Julian Technology Co ltd
Wuhan Tianyu Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Tianyu Julian Technology Co ltd, Wuhan Tianyu Information Industry Co Ltd filed Critical Wuhan Tianyu Julian Technology Co ltd
Priority to CN202110118517.0A priority Critical patent/CN112785306B/zh
Publication of CN112785306A publication Critical patent/CN112785306A/zh
Application granted granted Critical
Publication of CN112785306B publication Critical patent/CN112785306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Abstract

本发明公开了一种基于Paillier的同态加密方法及应用系统,涉及信息安全技术领域,包括计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;给交易金额构造承诺,为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;给交易发送方交易后账户余额构造承诺,为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;构造交易金额和交易发送方交易后账户余额的聚合范围证据;基于密文、证据和承诺对交易的合法性进行验证。本发明能够直接支持余额的范围证明。

Description

基于Paillier的同态加密方法及应用系统
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于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。
在上述技术方案的基础上,所述基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易发送方私钥的过程为:选择随机数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协议验证交易发送方交易金额密文的合法性和相等性,以及验证交易接受方交易金额密文的合法性和相等性;
计算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、公私钥的产生
选择随机数x作为私钥,其中为与λn互素且小于λn的自然数构成的乘法群;
公钥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表示验证范围的上界。
需要说明的是,对于本发明实施例中的Pedersen承诺。设g1和h1是阶为素数p的群G的两个生成元,设m1∈Zp,r1∈Zp,称为m1的Pedersen承诺。
参见图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。
本发明实施例中,基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易发送方私钥的过程为:选择随机数x1作为交易发送方私钥,其中为与λn互素且小于λn的自然数构成的乘法群;
生成的交易发送方公钥
本发明实施例中,基于预设算法生成系统参数以及交易发送方和交易接受方的公私钥,其中:
生成交易接受方私钥的过程为:选择随机数x2作为交易发送方私钥,其中为与λn互素且小于λ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 (6)

1.一种基于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。
2.如权利要求1所述的一种基于Paillier的同态加密方法,其特征在于,所述调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据,其中,构造的合法性证据为:
CipherTextProofT={(T,r1,y1,y2,sysPrm):
其中,CipherTextProofT表示给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据。
3.如权利要求2所述的一种基于Paillier的同态加密方法,其特征在于,所述给交易金额构造承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据,其中,调用sigma协议为交易金额承诺和交易发送方交易金额密文中的承诺构造相等性证据,具体为:调用sigma协议,为交易金额承诺和E1构造相等性证据。
4.如权利要求3所述的一种基于Paillier的同态加密方法,其特征在于,所述将计算得到的密文、构造的证据和构造的承诺发送至区块链节点,具体为:
将交易发送方交易金额密文C_ta、交易接受方交易金额密文C_tb、给交易发送方交易金额密文和交易接受方交易金额密文构造的合法性证据CipherTextProofT、给交易金额构造的承诺PedersenC1、调用sigma协议为交易金额承诺和交易发送方交易金额密文中承诺构造的相等性证据EquaProofT、给交易发送方交易后账户余额构造的承诺PedersenC2、给交易发送方交易后账户余额和PedersenC2构造的相等性证据EquaProofB,以及聚合范围证据EquaRangeProof发送至区块链节点。
5.如权利要求4所述的一种基于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协议的验证功能验证交易金额和交易发送方交易后账户余额范围的论断成立;
进行交易是否合法的判断,当且仅当第一次验证、第二次验证和第三次验证均成立时,则交易合法,则获取交易接受方账户原始金额密文和交易金额,得到交易接受方交易后账户余额密文,并将交易发送方交易后账户余额、交易接受方交易后账户余额密文和其它交易数据写入账本,反之,则交易不合法,交易失败。
6.一种基于Paillier的应用系统,用于实现权利要求1至5任一项所述基于Paillier的同态加密方法,其特征在于,包括:
生成模块,其用于基于预设算法生成系统参数、承诺参数以及交易发送方和交易接受方的公私钥;
计算模块,其用于基于生成的系统参数和公私钥,并结合预设Paillier加密算法,计算得到交易发送方交易金额密文、交易发送方账户原始金额密文、交易发送方交易后账户余额密文和交易接受方交易金额密文;
第一构造模块,其用于调用sigma协议,给交易发送方交易金额密文和交易接受方交易金额密文构造合法性证据;
第二构造模块,其用于给交易金额构造Pedersen承诺,并调用sigma协议为该承诺和交易发送方交易金额密文中的承诺构造相等性证据;
第三构造模块,其用于给交易发送方交易后账户余额构造Pedersen承诺,并调用sigma协议为交易发送方交易后账户余额密文构造合法性证据,给交易发送方交易后账户余额构造相等性证据;
第四构造模块,其用于基于bulletproof协议构造交易金额和交易发送方交易后账户余额的聚合范围证据;
发送模块,其用于将计算得到的密文、构造的证据和构造的承诺发送至区块链节点;
验证模块,其用于驱使区块链节点的智能合约基于发送模块发送的密文、证据和承诺对交易的合法性进行验证。
CN202110118517.0A 2021-01-28 2021-01-28 基于Paillier的同态加密方法及应用系统 Active CN112785306B (zh)

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 CN112785306A (zh) 2021-05-11
CN112785306B true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113159762B (zh) * 2021-01-28 2024-04-09 武汉天喻信息产业股份有限公司 基于Paillier和博弈论的区块链交易方法
CN116389164B (zh) * 2023-05-26 2023-09-12 建信金融科技有限责任公司 数据的检测方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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的同态加密方法和区块链交易金额加密方法
CN113159762A (zh) * 2021-01-28 2021-07-23 武汉天喻信息产业股份有限公司 基于Paillier和博弈论的区块链交易方法
CN115549891A (zh) * 2022-11-24 2022-12-30 北京信安世纪科技股份有限公司 同态加密方法、同态解密方法、同态计算方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8024274B2 (en) * 2006-05-05 2011-09-20 President And Fellows Of Harvard College Practical secrecy-preserving, verifiably correct and trustworthy auctions
JP6871380B2 (ja) * 2018-12-29 2021-05-12 アドバンスド ニュー テクノロジーズ カンパニー リミテッド 情報保護のシステム及び方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019195989A1 (en) * 2018-04-09 2019-10-17 Huawei Technologies Co., Ltd. Zero-knowledge range proof with reversible commitment
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 (1)

* Cited by examiner, † Cited by third party
Title
KPH: A Nover Blockchain Privacy Preserving Scheme Based on Paillier and FO Commitment;Yang Li et al.;Data science;全文 *

Also Published As

Publication number Publication date
CN112785306A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
AU2017223133B2 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
CN109858281B (zh) 一种基于零知识证明的区块链账户模型隐私保护方法
CN110011781B (zh) 用于交易金额加密且支持零知识证明的同态加密方法和介质
US5606617A (en) Secret-key certificates
CA2976795C (en) Implicitly certified digital signatures
Gennaro et al. RSA-based undeniable signatures
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
CN113159762B (zh) 基于Paillier和博弈论的区块链交易方法
CN110414981B (zh) 一种支持ZKPs的同态加密方法和区块链交易金额加密方法
US20140089670A1 (en) Unique code in message for signature generation in asymmetric cryptographic device
KR20030008182A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 방법
Au et al. Compact e-cash from bounded accumulator
GB2490407A (en) Joint encryption using base groups, bilinear maps and consistency components
JP2002534701A (ja) 寄託されない署名専用キーを用いた自動回復可能な自動可能暗号システム
CN112785306B (zh) 基于Paillier的同态加密方法及应用系统
KR20030008183A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 원형서명 방법
Chen et al. A Certificateless Strong Designated Verifier Signature Scheme with Non-delegatability.
Rastegari et al. Efficient Certificateless Signcryption in the standard model: Revisiting Luo and Wan’s scheme from wireless personal communications (2018)
KR20030062401A (ko) 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법
Damgård et al. Stronger security and constructions of multi-designated verifier signatures
CN111340488B (zh) 一种可监管的密态交易金额的生成方法和装置
Tso A new way to generate a ring: Universal ring signature
CN112819465B (zh) 基于Elgamal的同态加密方法及应用系统
TW202318833A (zh) 臨界簽章方案
WO2023016729A1 (en) Generating digital signature shares

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