CN110011781B - 用于交易金额加密且支持零知识证明的同态加密方法和介质 - Google Patents

用于交易金额加密且支持零知识证明的同态加密方法和介质 Download PDF

Info

Publication number
CN110011781B
CN110011781B CN201910160273.5A CN201910160273A CN110011781B CN 110011781 B CN110011781 B CN 110011781B CN 201910160273 A CN201910160273 A CN 201910160273A CN 110011781 B CN110011781 B CN 110011781B
Authority
CN
China
Prior art keywords
ciphertext
transaction
plaintext
amount
transaction amount
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.)
Expired - Fee Related
Application number
CN201910160273.5A
Other languages
English (en)
Other versions
CN110011781A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201910160273.5A priority Critical patent/CN110011781B/zh
Publication of CN110011781A publication Critical patent/CN110011781A/zh
Application granted granted Critical
Publication of CN110011781B publication Critical patent/CN110011781B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种用于交易金额加密且支持零知识证明的同态加密方法,属于信息安全技术领域。包括:根据零知识证明要求和Paillier算法,生成公钥、私钥和零知识参数;根据给定的明文,使用加密算法和公钥、零知识参数进行加密,输出密文(E,c1,c2);根据给定的密文,使用解密算法和私钥进行解密,输出明文。本发明改进了Paillier同态算法,把密文分成了3个部分(E,c1,c2),3个部分整体上可以用于保密交易金额,承诺部分E还可用于交易金额的零知识范围证明,使得Paillier算法与基于FO承诺的零知识范围证明相结合,支持密文的范围证明。既可用于账户模型的交易金额加密与范围证明,也可用于UTXO模型的交易金额加密与范围证明。

Description

用于交易金额加密且支持零知识证明的同态加密方法和介质
技术领域
本发明属于信息安全技术领域,更具体地,涉及一种用于交易金额加密且支持零知识证明的同态加密方法。
背景技术
区块链技术的实质是,由多方参与共同维护的一个持续增长的分布式数据库,由于其去中心化、集体维护、公开透明、不可篡改、准匿名性等突出特点受到广泛关注。当前区块链技术平台中,以比特币、以太坊和超级账本(Hyperledger Fabric)最具代表性。
Hyperledger Fabric是一个开源的带许可的联盟链,整个网络由共识服务和众多channel构成,所有channel共享一套共识服务,该共识服务称作 order。每个channel维护自己的账本,账本在channel的成员peer之间共享。因为诸多功能模块可插拔,比如共识服务,加密算法等都可以插拔,Fabric 是一个通用的联盟链框架,目前成为事实上的联盟链标准,如京东,阿里,华为的区块链服务平台。但因为账本的公开透明或者一定范围内的公开透明,以及准匿名性,明文的交易金额造成用户隐私的泄露。为此出现了多种隐藏交易金额的项目,如zerocash、monero、RingCT等项目。
加法同态算法也有很多,Paillier同态加密算法综合性能最好,然而它不支持密文的范围证明。
发明内容
针对现有技术的缺陷,本发明的目的在于解决现有技术Paillier同态加密算法不支持密文的范围证明的技术问题。
为实现上述目的,第一方面,本发明实施例提供了一种支持零知识证明的同态加密方法,该方法包括以下步骤:
S1.根据零知识证明要求和Paillier算法,生成公钥、私钥和零知识参数;
S2.根据给定的明文,使用加密算法和公钥、零知识参数进行加密,输出密文(E,c1,c2);
S3.根据给定的密文,使用解密算法和私钥进行解密,输出明文。
具体地,步骤S1具体包括以下步骤:
S101.以Paillier算法中生成g的方式生成g1
S102.选择随机数r<n2,计算g2=g1 rmod n2,且要满足 gcd(L(g2 λmod n2),n)==1,L(u)=(u-1)/n,λ=lcm(p-1,q-1);
S103.选择随机数x<n,计算h=g2 xmod n2
其中,n=pq,p和q为随机选取两个大素数,lcm(·)为两个参数的最小公倍数,gcd(·)为两个参数的最大公约数;
此时,生成的公钥PaillierPub为(g1,g2,h,n),私钥PaillierPrv为(λ,x),零知识参数zkpPrm为(g1,h,n2)。
具体地,明文加密过程Encrypt(m,PaillierPub,zkpPrm,r0,r1)具体为:对于明文m,m∈Zn,选择随机数r0<n2,r1<n,加密过程为:
Figure BDA0001984385510000021
Figure BDA0001984385510000022
c2=r1 nmod n2,所得密文为(E,c1,c2)。
具体地,密文解密过程Decrypt((E,c1,c2),PaillierPrv)具体为:对于密文 (E,c1,c2),解密过程为
Figure BDA0001984385510000023
具体地,密文随机数解密具体为:
对于c1,c2,密文随机数
Figure BDA0001984385510000024
明文随机数
Figure BDA0001984385510000031
第二方面,本发明实施例提供了一种区块链交易金额加密方法,其特征在于,交易金额加密使用第一方面所述的支持零知识证明的同态加密方法。
具体地,所述同态加密方法既可用于账户模型的交易金额加密与范围证明,也可用于UTXO模型的交易金额加密与范围证明。
具体地,Alice向Bob转账,交易金额为T,发起交易的Alice应用端的数据处理流程如下:
步骤S1.获取Alice的参数PaillierPubA、PaillierPrvA、zkpPrmA和Bob 的参数PaillierPubB、zkpPrmB;
步骤S2.根据PaillierPrvA和zkpPrmA,用支持零知识证明的同态加密方法解密输入的UTXO金额(inputl,input2),验证UTXO金额,并计算找零 B:
步骤S3.成功验证UTXO金额后,分别根据PaillierPubA和zkpPrmA、 PaillierPubB和zkpPrmB,用支持零知识证明的同态加密方法加密交易金额 T,得到密文交易金额c_ta和c_tb;
步骤S4.产生证据ElproofT,以证明c_ta.E和c_tb.E这两个承诺里包含同一个数据T;
步骤S5.根据PaillierPubA和zkpPrmA,用支持零知识证明的同态加密方法对找零进行加密,返回给Alice;
步骤S6.计算密文utxo input1、input2的和得到交易的总输入金额 c_inputsum,利用c_tb和c_ba计算出交易的总输出金额c_outputsum;
步骤S7.产生交易输入与交易输出金额相等的证据ElproofB;
步骤S8.产生证据ZkpRangeProofT用于证明T大于0,产生证据 ZkpRangeProofB用于证明B大于0。
具体地,步骤S2具体为:
Decrypt(inputl,PaillierPrvA,zkpPrmA)解密得到明文inputlBalance、明文随机数r0inputl;
Decrypt(input2,PaillierPrvA,zkpPrmA)解密得到明文input2Balance、明文随机数r0input2;
验证输入金额是否大于等于输出金额T: check(inputlBalance+input2Balance≥T),如果是,计算余额B=inputlBalance +input2Balance-T,进入步骤S3;否则,交易失败,结束。
第三方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的支持零知识证明的同态加密方法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明改进了Paillier同态算法,把密文分成了3个部分(E,c1,c2),3 个部分整体上可以用于保密交易金额,承诺部分E还可用于交易金额的零知识范围证明,使得Paillier算法与基于FO承诺的零知识范围证明相结合,支持密文的范围证明。
附图说明
图1为本发明实施例提供的Alice应用端的数据处理流程示意图;
图2为本发明实施例提供的智能合约处理流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
Paillier同态加密算法是一种加法同态算法。
1.密钥产生
(1)随机选取两个大素数p和q。
(2)计算n=pq和λ=lcm(p-1,q-1),lcm(·)为两个参数的最小公倍数。
(3)选取随机数g,
Figure BDA0001984385510000051
且满足μ=(L(gλmod n2))-1mod n存在,其中,
Figure BDA0001984385510000052
为不大于n2的自然数构成的乘法群,L(u)=(u-1)/n。
此时,公钥为(n,g),私钥为(λ,μ)。
2.加密过程
对于明文m,m∈Zn,选择随机数r<n,加密过程为c=gmrnmod n2
3.解密过程
对于密文c,解密过程为
Figure BDA0001984385510000053
Fujisaki-Okamoto承诺(Fujisaki-Okamoto Commitment)
设Alice和Bob不知n的分解,g∈Zn *,h∈(g),g、h的阶是大于160bit 的素数,这使得在他们生成循环群中计算离散对数是不可行的。Alice不知 loggh和loghg,随机选取r∈R{-2sn+1,2sn-1},计算E(x,r)=gxhrmod n,发送E(x,r)给Bob作为对x的承诺。Alice在不知道n的分解和loggh的情况下,不可能找到x1≠x2满足E(x1,r1)=E(x2,r2);Bob也不可能从E(x,r)中获得关于x的任何信息,该协议是统计安全的,称该承诺方案为 Fujisaki-Okamoto承诺,简称FO承诺。
零知识证明
零知识证明是指证明者能够在不向验证者提供任何有用信息的情况下,使验证者相信某个论断是正确的,分为交互和非交互两类。零知识证明可用于解决区块链隐私保护,交易合法性验证等问题。
为了将Paillier算法与基于FO承诺的零知识范围证明相结合,本发明对Paillier算法进行了改进。
1.密钥产生
g1的生成方式与原始Paillier算法中g的生成方式相同。
g2的生成方式:选择随机数r<n2,计算g2=g1 rmod n2,且要满足 gcd(L(g2 λmodn2),n)==1,L(u)=(u-1)/n,λ=lcm(p-1,q-1)。
h的生成方式:选择随机数x<n,计算h=g2 xmod n2
此时,同态算法公钥PaillierPub为(g1,g2,h,n),私钥PaillierPrv为(λ,x),零知识参数zkpPrm为(g1,h,n2)。
2.明文加密过程Encrypt(m,PaillierPub,zkpPrm,r0,r1)
对于明文m,m∈Zn,选择随机数r0<n2,r1<n,加密过程为:
Figure BDA0001984385510000061
c2=r1 nmod n2,所得密文为(E,c1,c2)。
3.密文解密过程Decrypt((E,c1,c2),PaillierPrv)
对于密文(E,c1,c2),解密过程为
Figure BDA0001984385510000062
Figure BDA0001984385510000063
4.密文随机数解密过程
对于c1,c2,密文随机数
Figure BDA0001984385510000064
明文随机数
Figure BDA0001984385510000065
5.加法同态属性
设有明文ma,mb,对它们加密分别得出密文Encrpt(ma)=(Ea,c1a,c2a)、 Encrpt(mb)=(Eb,c1b,c2b)。
定义Encrpt(ma)Encrpt(mb)=(E,c1,c2),其中,E=EaEbmod n2, c1=c1ac1bmod n2,c2=c2ac2bmod n2
解密过程如下:
Figure BDA0001984385510000071
,获得
Figure BDA0001984385510000072
其中,r0a,r0b分别是计算Ea,Eb时用到的随机数,r1a,r1b分别是计算c2a,c2b时用到的随机数。
本发明提出的一种改进Paillier同态加密算法,不但可以用于对交易金额进行加密,而且支持具有零知识证明的密文范围检查。本发明不但可以用于账户模型的交易金额加密与范围证明,也可以用于UTXO模型(Unspent Transaction Output,未花费过的交易输出)的交易金额加密与范围证明。
UTXO模型
每笔交易都有若干交易输入,也就是资金来源,也都有若干笔交易输出,也就是资金去向。一般来说,每一笔交易都要花费(spend)一笔输入,产生一笔输出,而其所产生的输出,就是“未花费过的交易输出”,也就是 UTXO。UTXO(Unspent Transaction Outputs)是未花费的交易输出,它是比特币交易生成及验证的一个核心概念。交易构成了一组链式结构,所有合法的比特币交易都可以追溯到前向一个或多个交易的输出,这些链条的源头都是挖矿奖励,末尾则是当前未花费的交易输出。
本发明以UTXO模型为例具体描述了加解密过程,以及加密金额大于 0的零知识证明过程。本发明的密文(E,c1,c2)由三部分构成,其全体用于解密,其中,E用于各种零知识证明,视不同的情景,可以用于交易金额相等的证明,交易的输入与交易的输出相等性证明,找零和交易金额大于0的证明。
这些FO承诺及零知识范围证明协议是已有结果,本发明不展开描述,仅描述用到的函数的功能。
函数ElproofGenerator用于产生Elproof,可用于证明两个承诺中隐藏着同一个数据的证据。
函数ZKPRangeProofGenerator用于产生范围证据ZkpRangeProof,可用于证明FO承诺中隐藏的数据位于[a,b]区间内的证据。
函数ElproofValidator用于利用Elproof,证明两个承诺里确实隐藏了同一个数据。
函数ZKPRangeProofValidator用于利用范围证据ZkpRangeProof,证明 FO承诺中所隐藏的数据确实位于[a,b]区间内。
一个典型的描述如下:Alice向Bob转账,交易金额为T(tokens),输入的密文utxo为input1、input2,找零为B。我们以上述交易为例说明客户端和链上的chaincode如何工作。
如图1所示,Alice应用端的数据处理流程如下:
步骤S1.获取Alice的参数PaillierPubA、PaillierPrvA、zkpPrmA和Bob 的参数PaillierPubB、zkpPrmB。
步骤S2.根据PaillierPrvA和zkpPrmA,用改进的Paillier算法解密输入的UTXO金额(inputl,input2),验证UTXO金额,并计算找零。
Decrypt(inputl,PaillierPrvA,zkpPrmA)解密得到明文input1Balance、明文随机数r0input1。
Decrypt(input2,PaillierPrvA,zkpPrmA)解密得到明文input2Balance、明文随机数r0input2。
验证输入金额是否大于等于输出金额T: check(input1 Balance+input2Balance≥T),如果是,计算余额B=input1Balance +input2Balance-T,进入步骤S3;否则,交易失败,结束。
步骤S3.分别根据PaillierPubA和zkpPrmA、PaillierPubB和zkpPrmB,用改进的Paillier算法加密交易金额T,得到密文交易金额c_ta和c_tb。
选择随机数r0_ta<PaillierpubA.n2,选择随机数r1_ta<PaillierpubA.n。采用Encrypt(T,PaillierPubA,zkpPrmA,r0_ta,r1_ta),为Alice产生密文交易金额c_ta。
选择随机数r0_tb<PaillierpubB.n2,选择随机数r1_tb<PaillierpubB.n。采用Encrypt(T,PaillierPubB,zkpPrmB,r0_tb,r1tb),为Bob产生密文交易金额c_tb。
步骤S4.产生证据ElproofT,以证明c_ta.E和c_tb.E这两个承诺里包含同一个数据T。
ElproofGenerator(T,r0_ta,r0_tb,PaillierPubA,PaillierPubB,zkpPrmB,zkpPr mA,c_ta.E,c_tb.E)产生证据Elproof(c_ta,c_tb)=ElproofT。
步骤S5.根据PaillierPubA和zkpPrmA,用改进的Paillier算法对找零进行加密,返回给Alice。
选择随机数r0_ba<PaillierpubA.n2,r1_ba<PaillierpubA.n。采用Encrypt(B,PaillierPubA,zkpPrmA,r0_ba,r1_ba)产生密文找零c_ba。
步骤S6.计算密文utxo input1、input2的和得到交易的总输入金额 c_inputsum,利用c_tb和c_ba计算出交易的总输出金额c_outputsum。
步骤S7.产生交易输入与交易输出金额相等的证据ElproofB。
r0_input=r0input1+r0input2。
r0_output=r0_ba+r0_ta。
sum=input1 Balance+input2Balance。
产生证据ElproofGenerator(sum,r0_input,r0_output,PaillierPubA,PaillierPubA,zkpPrmA,zkpPrmA,c_inputsum.E,c_outputsum.E)=ElproofB。
步骤S8.产生证据,以证明T和B都大于0。
ZKPRangeProofGenerator(T,r0_ta,c_ta.E,PaillierPubA,zkpPrmA,range[0,b])产生证据ZkpRangeProofT用于证明T大于0。
ZKPRangeProofGenerator(B,r0_ba,c_ba.E,PaillierPubA,zkpPrmA,range[0,b])产生证据ZkpRangeProofB用于证明B大于0。
把有关数据组成交易放到区块链链上,具体包括:交易金额的密文 c_ta,c_tb,交易后的密文余额c_ba,ElproofT,ElproofB,ZkpRangeProofT, ZkpRangeProofB,用于供区块链节点进行验证。
本发明的密文(E,c1,c2)由三部分构成,其全体用于解密,其中,E用于各种零知识证明,视不同的情景,可以用于交易金额相等的证明,交易的输入与交易的输出相等性证明,找零和交易金额大于0的证明。
如图2所示,智链码端的智能合约用于验证交易的合法性,智能合约处理流程如下:
步骤S1.获取Alice的参数PaillierPubA、zkpPrmA,获取Bob的参数PaillierPubB、zkpPrmB,从客户端发来的交易里获取ElproofT、ElproofB、ZkpRangeProofT、ZkpRangeProofB、input1、input2、c_ta、c_tb、c_ba。
步骤S2.验证承诺c_ta.E与c_tb.E隐藏了同样的数字T。
ElproofValidator(c_ta.E,c_tD.E,PaillierPubA,PaillierPubB,zkpPrmA,zkpPr mB,ElproofT)。
步骤S3.验证交易输入金额与交易输出金额相等。
E_output=c_ta.E*c_ba.E mod PaillierPubA.n2
E_input=Inputl.E*Input2.E mod PaillierPubA.n2
ElproofValidator(E_output,E_input,PaillierPubA,PaillierPubA,zkpPrmA,zk pPrmA,ElproofB)。
步骤S4.验证承诺c_ta.E与c_ba.E所隐藏的数据值大于0。ZKPRangeProofValidator(ZkpRangeProofT,c_ta.E,PaillierPubA,zkpPrmA)。ZKPRangeProofValidator(ZkpRangeProofB,c_ba.E,PaillierPubA,zkpPrmA)。
每一次验证,如果验证失败则交易失败;否则,继续后续步骤。如果上述所有验证通过,则说明链码端(区块链节点处)验证交易合法。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (6)

1.一种支持零知识证明的同态加密方法,其特征在于,该方法包括以下步骤:
S1.根据零知识证明要求和Paillier算法,生成公钥、私钥和零知识参数;
S2.在明文加密时,根据给定的明文,使用加密算法和公钥、零知识参数进行加密,输出密文;在密文解密时,根据给定的密文,使用解密算法和私钥进行解密,输出明文;
步骤S1具体包括以下步骤:
S101.以Paillier算法中生成g的方式生成g1
S102.选择随机数r<n2,计算g2=g1 rmodn2,且要满足gcd(L(g2 λmodn2),n)=1,L(u)=(u-1)/n,λ=lcm(p-1,q-1);
S103.选择随机数x<n,计算h=g2 xmodn2
其中,n=pq,p和q为随机选取两个大素数,lcm(.)为两个参数的最小公倍数,gcd(.)为两个参数的最大公约数;
此时,生成的公钥PaillierPub为(g1,g2,h,n),私钥PaillierPrv为(λ,x),零知识参数zkpPrm为(g1,h,n2);
明文加密过程Encrypt(m,PaillierPub,zkpPrm,r0,r1)具体为:对于明文m,m∈Zn,选择随机数r0<n2,r1<n,加密过程为:
Figure FDA0002409253800000011
Figure FDA0002409253800000012
c2=r1 nmodn2,所得密文为(E,c1,c2)。
2.如权利要求1所述的同态加密方法,其特征在于,密文解密过程Decrypt((E,c1,c2),PaillierPrv)具体为:对于密文(E,c1,c2),解密过程为
Figure FDA0002409253800000021
3.如权利要求1所述的同态加密方法,其特征在于,密文随机数解密具体为:
对于c1,c2,密文随机数
Figure FDA0002409253800000022
明文随机数
Figure FDA0002409253800000023
4.一种区块链交易金额加密方法,其特征在于,交易金额加密使用权利要求1-3任一项所述的支持零知识证明的同态加密方法,具体地,
Alice向Bob转账,交易金额为T,发起交易的Alice应用端的数据处理流程如下:
步骤S1.获取Alice的参数PaillierPubA、PaillierPrvA、zkpPrmA和Bob的参数PaillierPubB、zkpPrmB;
步骤S2.根据PaillierPrvA和zkpPrmA,用支持零知识证明的同态加密方法解密输入的UTXO金额input1、input2,验证UTXO金额,并计算找零B;
步骤S3.成功验证UTXO金额后,分别根据PaillierPubA和zkpPrmA、PaillierPubB和zkpPrmB,用支持零知识证明的同态加密方法加密交易金额T,得到密文交易金额c_ta和c_tb;
步骤S4.产生证据ElproofT,以证明密文交易金额c_ta的密文E对明文的Fujisaki-Okamoto承诺和密文交易金额c_tb的密文E对明文的Fujisaki-Okamoto承诺这两个承诺里包含相同的交易金额T;
步骤S5.根据PaillierPubA和zkpPrmA,用支持零知识证明的同态加密方法对找零B进行加密,返回给Alice;
步骤S6.计算密文UTXO金额input1、input2的和得到交易的总输入金额c_inputsum,利用c_tb和c_ba计算出交易的总输出金额c_outputsum;
步骤S7.产生交易输入金额c_inputsum与交易输出金额c_outputsum相等的证据ElproofB;
步骤S8.产生证据ZkpRangeProofT用于证明交易金额T大于0,产生证据ZkpRangeProofB用于证明找零B大于0。
5.如权利要求4所述的区块链交易金额加密方法,其特征在于,步骤S2具体为:
Decrypt(input1,PaillierPrvA,zkpPrmA)解密得到明文input1Balance、明文随机数r0input1;
Decrypt(input2,PaillierPrvA,zkpPrmA)解密得到明文input2Balance、明文随机数r0input2;
验证输入金额是否大于等于交易金额T:check(input1Balance+input2Balance≥T),如果是,计算余额B=input1Balance+input2Balance–T,进入步骤S3;否则,交易失败,结束。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的支持零知识证明的同态加密方法。
CN201910160273.5A 2019-03-04 2019-03-04 用于交易金额加密且支持零知识证明的同态加密方法和介质 Expired - Fee Related CN110011781B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910160273.5A CN110011781B (zh) 2019-03-04 2019-03-04 用于交易金额加密且支持零知识证明的同态加密方法和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910160273.5A CN110011781B (zh) 2019-03-04 2019-03-04 用于交易金额加密且支持零知识证明的同态加密方法和介质

Publications (2)

Publication Number Publication Date
CN110011781A CN110011781A (zh) 2019-07-12
CN110011781B true CN110011781B (zh) 2020-05-19

Family

ID=67166369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910160273.5A Expired - Fee Related CN110011781B (zh) 2019-03-04 2019-03-04 用于交易金额加密且支持零知识证明的同态加密方法和介质

Country Status (1)

Country Link
CN (1) CN110011781B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110473105B (zh) * 2019-08-20 2024-01-16 深圳市迅雷网络技术有限公司 一种区块链交易结算方法、系统及相关设备
CN110855631B (zh) * 2019-10-24 2022-05-17 南京可信区块链与算法经济研究院有限公司 一种区块链中可监管的零知识验证方法、系统及存储介质
WO2021081866A1 (zh) * 2019-10-31 2021-05-06 深圳市网心科技有限公司 基于账户模型的交易方法、装置、系统和存储介质
CN110991655B (zh) * 2019-12-17 2021-04-02 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN111429138A (zh) * 2020-03-25 2020-07-17 中国工商银行股份有限公司 区块链节点数据安全交互方法及第一交互节点
CN111552736A (zh) * 2020-03-30 2020-08-18 深圳壹账通智能科技有限公司 加密数据对等关系比对方法、装置及存储介质
CN112418857B (zh) * 2020-11-30 2023-06-30 北京八分量信息科技有限公司 基于utxo模型的隐藏交易方法、装置及相关产品
CN112785306B (zh) * 2021-01-28 2023-08-15 武汉天喻聚联科技有限公司 基于Paillier的同态加密方法及应用系统
CN113159762B (zh) * 2021-01-28 2024-04-09 武汉天喻信息产业股份有限公司 基于Paillier和博弈论的区块链交易方法
CN112765667B (zh) * 2021-01-29 2022-04-26 北京市计算中心有限公司 基于区块链的隐私保护方法、装置及系统
CN112765668B (zh) * 2021-01-31 2023-01-03 西安电子科技大学 一种零知识证明隐私保护方法、系统、存储介质、设备
CN112989390A (zh) * 2021-04-15 2021-06-18 深圳前海移联科技有限公司 一种基于可插拔同态加密的区块链同质数据共享方法
CN113222758A (zh) * 2021-05-08 2021-08-06 华中科技大学 以隐私为前提的联盟链交易信息监管方法、系统、终端
CN115203749B (zh) * 2022-09-16 2023-01-17 天聚地合(苏州)科技股份有限公司 一种基于区块链的数据交易方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491006A (zh) * 2015-11-13 2016-04-13 河南师范大学 云外包密钥共享装置及方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7360080B2 (en) * 2000-11-03 2008-04-15 International Business Machines Corporation Non-transferable anonymous credential system with optional anonymity revocation
EP2930877A1 (en) * 2014-04-11 2015-10-14 Thomson Licensing Paillier-based blind decryption methods and devices
US9819650B2 (en) * 2014-07-22 2017-11-14 Nanthealth, Inc. Homomorphic encryption in a healthcare network environment, system and methods
SG10201701044SA (en) * 2017-02-09 2018-09-27 Huawei Int Pte Ltd System and method for computing private keys for self certified identity based signature schemes
CN107682151B (zh) * 2017-10-30 2021-02-02 武汉大学 一种gost数字签名生成方法及系统
CN108418689B (zh) * 2017-11-30 2020-07-10 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
CN108667626B (zh) * 2018-07-20 2020-03-03 陕西师范大学 安全的两方协作sm2签名方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491006A (zh) * 2015-11-13 2016-04-13 河南师范大学 云外包密钥共享装置及方法

Also Published As

Publication number Publication date
CN110011781A (zh) 2019-07-12

Similar Documents

Publication Publication Date Title
CN110011781B (zh) 用于交易金额加密且支持零知识证明的同态加密方法和介质
CN110414981B (zh) 一种支持ZKPs的同态加密方法和区块链交易金额加密方法
CN106961336B (zh) 一种基于sm2算法的密钥分量托管方法和系统
Jiang et al. Public integrity auditing for shared dynamic cloud data with group user revocation
Abadi et al. O-PSI: delegated private set intersection on outsourced datasets
US10846372B1 (en) Systems and methods for trustless proof of possession and transmission of secured data
EP3751783A1 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
KR20200125980A (ko) 디지털 자산의 제어를 전송하기 위한 컴퓨터 구현된 방법 및 시스템
CN113159762B (zh) 基于Paillier和博弈论的区块链交易方法
CN115396115B (zh) 区块链数据隐私保护方法、装置、设备及可读存储介质
Yang et al. Improved outsourced private set intersection protocol based on polynomial interpolation
CN113554436A (zh) 一种区块链系统用户身份匿名方法、追踪方法和系统
CN112785306A (zh) 基于Paillier的同态加密方法及应用系统
CN118160275A (zh) 阈值签名方案
Liu et al. Identity-based remote data integrity checking of cloud storage from lattices
KR20230002941A (ko) 비밀 공유를 갖는 (ec)dsa 임계값 서명
Pei et al. Smart contract based multi-party computation with privacy preserving and settlement addressed
CN114066449A (zh) 多中心协同监管的区块链用户身份匿名和追踪方法及系统
Goldwasser New directions in cryptography: twenty some years later (or cryptograpy and complexity theory: a match made in heaven)
GB2610560A (en) Generating shared cryptographic keys
CN113746829B (zh) 多源数据的关联方法、装置、设备及存储介质
Li et al. Bilinear‐map accumulator‐based verifiable intersection operations on encrypted data in cloud
Wu et al. Generic Construction of Chameleon Hash to Group Elements.
GB2609907A (en) Generating digital signatures
Bultel Delegation mechanisms for public key cryptographic primitives

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200519