CN110414981A - 一种支持ZKPs的同态加密方法和区块链交易金额加密方法 - Google Patents

一种支持ZKPs的同态加密方法和区块链交易金额加密方法 Download PDF

Info

Publication number
CN110414981A
CN110414981A CN201910599674.0A CN201910599674A CN110414981A CN 110414981 A CN110414981 A CN 110414981A CN 201910599674 A CN201910599674 A CN 201910599674A CN 110414981 A CN110414981 A CN 110414981A
Authority
CN
China
Prior art keywords
sysprm
ciphertext
transaction 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.)
Granted
Application number
CN201910599674.0A
Other languages
English (en)
Other versions
CN110414981B (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 CN201910599674.0A priority Critical patent/CN110414981B/zh
Publication of CN110414981A publication Critical patent/CN110414981A/zh
Application granted granted Critical
Publication of CN110414981B publication Critical patent/CN110414981B/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/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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种支持ZKPs(零知识证明)的同态加密方法和区块链交易金额加密方法,属于信息安全技术领域。包括:根据零知识证明要求和Paillier算法,生成公钥、私钥和系统参数;根据给定的明文,使用加密算法和公钥、系统参数进行加密,输出密文(E,c1,c2,c3);根据给定的密文,使用解密算法和私钥进行解密,输出明文。本发明改进了Paillier同态算法,4个部分的密文整体上可以用于保密交易金额,承诺部分E还可用于交易金额的零知识范围证明,使得Paillier算法与基于FO承诺的零知识范围证明相结合,支持密文的范围证明。由于将私钥λ隐藏到系统参数k中,每个用户拥有自己的公私钥,使用起来也更加方便,安全性能更好。

Description

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

Claims (10)

1.一种支持ZKPs的同态加密方法,其特征在于,该方法包括以下步骤:
S1.根据零知识证明要求和Paillier算法,生成公钥、私钥和系统参数sysPrm;
S2.根据给定的明文,使用加密算法和公钥、系统参数进行加密,输出密文(E,c1,c2,c3);
S3.根据给定的密文,使用解密算法和私钥、系统参数进行解密,输出明文。
2.如权利要求1所述的同态加密方法,其特征在于,步骤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);基于g1生成k=g1 λmod n2
S103.选择随机数x<n,计算h=g2 xmod n2
其中,n=pq,p和q为随机选取两个大素数,lcm(·)为两个参数的最小公倍数,gcd(·)为两个参数的最大公约数;
此时,同态算法公钥PaillierPub为h,私钥PaillierPrv为x,系统参数sysPrm为(g2,k,n,n2)。
3.如权利要求2所述的同态加密方法,其特征在于,明文加密过程Encrypt(m,PaillierPub,sysPrm,r0,r1)具体为:
对于明文m,m∈Zn,选择随机数r0<n,r1<n,
加密过程为: 所得密文为(E,c1,c2,c3)。
4.如权利要求2所述的同态加密方法,其特征在于,密文解密过程Decrypt((E,c1,c2,c3),PaillierPrv)具体为:
对于密文(E,c1,c2,c3),解密过程为
5.如权利要求2所述的同态加密方法,其特征在于,密文随机数解密具体为:
对于c2,c3,密文随机数明文随机数
6.一种区块链交易金额加密方法,其特征在于,交易金额加密使用权利要求1至5任一项所述的支持ZKPs的同态加密方法。
7.如权利要求6所述的区块链交易金额加密方法,其特征在于,所述同态加密方法既可用于账户模型的交易金额加密与范围证明,也可用于UTXO模型的交易金额加密与范围证明。
8.如权利要求6所述的区块链交易金额加密方法,其特征在于,Alice向Bob转账,交易金额为T,发起交易的Alice应用端的数据处理流程如下:
步骤S1.获取Alice的参数PaillierPubA、PaillierPrvA和Bob的参数PaillierPubB,获取系统参数sysPrm;
步骤S2.根据PaillierPrvA和sysPrm,用所述同态加密方法解密输入的UTXO金额(input1,input2),验证UTXO金额,并计算找零B;
步骤S3.成功验证UTXO金额后,分别根据PaillierPubA和sysPrm、PaillierPubB和sysPrm,用所述同态加密方法加密交易金额T;
步骤S4.产生证据ElproofT,以证明c_ta.E和c_tb.E这两个承诺里包含同一个数据T;
步骤S5.根据PaillierPubA和sysPrm,用所述同态加密方法对找零进行加密,返回给Alice;
步骤S6.产生交易输入与交易输出金额相等的证据ElproofIO。
步骤S7.产生证据ZkpRangeProofT用于证明T大于0,产生证据ZkpRangeProofB用于证明B大于0。
9.如权利要求8所述的区块链交易金额加密方法,其特征在于,步骤S2具体为:
Decrypt(input1,PaillierPrvA,sysPrm)解密得到明文input1Balance、明文随机数r0input1;
Decrypt(input2,PaillierPrvA,sysPrm)解密得到明文input2Balance、明文随机数r0input2;
验证输入金额是否大于等于交易金额T:check(input1Balance+input2Balance≥T),如果是,计算找零B=input1Balance+input2Balance–T,进入步骤S3;否则,交易失败,结束。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的支持ZKPs的同态加密方法,或者,如权利要求6至9任一项所述的区块链交易金额加密方法。
CN201910599674.0A 2019-07-04 2019-07-04 一种支持ZKPs的同态加密方法和区块链交易金额加密方法 Active CN110414981B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910599674.0A CN110414981B (zh) 2019-07-04 2019-07-04 一种支持ZKPs的同态加密方法和区块链交易金额加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910599674.0A CN110414981B (zh) 2019-07-04 2019-07-04 一种支持ZKPs的同态加密方法和区块链交易金额加密方法

Publications (2)

Publication Number Publication Date
CN110414981A true CN110414981A (zh) 2019-11-05
CN110414981B CN110414981B (zh) 2023-05-09

Family

ID=68360425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910599674.0A Active CN110414981B (zh) 2019-07-04 2019-07-04 一种支持ZKPs的同态加密方法和区块链交易金额加密方法

Country Status (1)

Country Link
CN (1) CN110414981B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110991655A (zh) * 2019-12-17 2020-04-10 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN112418857A (zh) * 2020-11-30 2021-02-26 北京八分量信息科技有限公司 基于utxo模型的隐藏交易方法、装置及相关产品
CN112733163A (zh) * 2021-01-04 2021-04-30 北京航空航天大学 基于离散对数相等性证明的可监管零知识证明方法及装置
CN112785306A (zh) * 2021-01-28 2021-05-11 武汉天喻聚联科技有限公司 基于Paillier的同态加密方法及应用系统
CN112953712A (zh) * 2021-02-19 2021-06-11 昆明理工大学 一种基于零知识证明和同态加密的区块链数据跨链共享方法
CN112950367A (zh) * 2019-12-11 2021-06-11 支付宝(杭州)信息技术有限公司 生成和执行智能合约交易的方法及装置
CN113011894A (zh) * 2021-03-29 2021-06-22 昆明理工大学 一种基于可信计算与智能合约的金融衍生品数字交易系统
CN113159762A (zh) * 2021-01-28 2021-07-23 武汉天喻信息产业股份有限公司 基于Paillier和博弈论的区块链交易方法
CN113254954A (zh) * 2021-04-30 2021-08-13 中核武汉核电运行技术股份有限公司 一种基于区块链的核电数据安全方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177591A1 (en) * 2007-10-30 2009-07-09 Christopher Thorpe Zero-knowledge proofs in large trades
US20170161829A1 (en) * 2015-12-02 2017-06-08 Michael MAZIER Method and cryptographically secure peer-to-peer trading platform
JP2018007168A (ja) * 2016-07-07 2018-01-11 株式会社日立製作所 監査装置、監査機能付匿名送金方法及びプログラム
CN107666388A (zh) * 2016-07-28 2018-02-06 郑珂威 基于完全同态加密方法的区块链信息加密方法
CN108418689A (zh) * 2017-11-30 2018-08-17 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
CN108681583A (zh) * 2018-05-11 2018-10-19 北京奇虎科技有限公司 基于区块链的数据持有证明方法、装置及可读存储介质
CN109670801A (zh) * 2018-12-10 2019-04-23 华中科技大学 一种针对区块链的数字加密货币转移方法
CN109903158A (zh) * 2019-01-31 2019-06-18 武汉大学 利用零知识证明协议证明交易金额处于某个区间的方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090177591A1 (en) * 2007-10-30 2009-07-09 Christopher Thorpe Zero-knowledge proofs in large trades
US20170161829A1 (en) * 2015-12-02 2017-06-08 Michael MAZIER Method and cryptographically secure peer-to-peer trading platform
JP2018007168A (ja) * 2016-07-07 2018-01-11 株式会社日立製作所 監査装置、監査機能付匿名送金方法及びプログラム
CN107666388A (zh) * 2016-07-28 2018-02-06 郑珂威 基于完全同态加密方法的区块链信息加密方法
CN108418689A (zh) * 2017-11-30 2018-08-17 矩阵元技术(深圳)有限公司 一种适合区块链隐私保护的零知识证明方法和介质
CN108681583A (zh) * 2018-05-11 2018-10-19 北京奇虎科技有限公司 基于区块链的数据持有证明方法、装置及可读存储介质
CN109670801A (zh) * 2018-12-10 2019-04-23 华中科技大学 一种针对区块链的数字加密货币转移方法
CN109903158A (zh) * 2019-01-31 2019-06-18 武汉大学 利用零知识证明协议证明交易金额处于某个区间的方法

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112950367A (zh) * 2019-12-11 2021-06-11 支付宝(杭州)信息技术有限公司 生成和执行智能合约交易的方法及装置
CN112950367B (zh) * 2019-12-11 2021-09-14 支付宝(杭州)信息技术有限公司 生成和执行智能合约交易的方法及装置
CN110991655B (zh) * 2019-12-17 2021-04-02 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN110991655A (zh) * 2019-12-17 2020-04-10 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN112418857A (zh) * 2020-11-30 2021-02-26 北京八分量信息科技有限公司 基于utxo模型的隐藏交易方法、装置及相关产品
CN112418857B (zh) * 2020-11-30 2023-06-30 北京八分量信息科技有限公司 基于utxo模型的隐藏交易方法、装置及相关产品
CN112733163A (zh) * 2021-01-04 2021-04-30 北京航空航天大学 基于离散对数相等性证明的可监管零知识证明方法及装置
CN113159762A (zh) * 2021-01-28 2021-07-23 武汉天喻信息产业股份有限公司 基于Paillier和博弈论的区块链交易方法
CN112785306A (zh) * 2021-01-28 2021-05-11 武汉天喻聚联科技有限公司 基于Paillier的同态加密方法及应用系统
CN112785306B (zh) * 2021-01-28 2023-08-15 武汉天喻聚联科技有限公司 基于Paillier的同态加密方法及应用系统
CN113159762B (zh) * 2021-01-28 2024-04-09 武汉天喻信息产业股份有限公司 基于Paillier和博弈论的区块链交易方法
CN112953712A (zh) * 2021-02-19 2021-06-11 昆明理工大学 一种基于零知识证明和同态加密的区块链数据跨链共享方法
CN112953712B (zh) * 2021-02-19 2022-10-18 昆明理工大学 一种基于零知识证明和同态加密的数据跨链共享方法
CN113011894A (zh) * 2021-03-29 2021-06-22 昆明理工大学 一种基于可信计算与智能合约的金融衍生品数字交易系统
CN113254954A (zh) * 2021-04-30 2021-08-13 中核武汉核电运行技术股份有限公司 一种基于区块链的核电数据安全方法和装置

Also Published As

Publication number Publication date
CN110414981B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN110011781A (zh) 一种用于交易金额加密且支持零知识证明的同态加密方法
CN110414981A (zh) 一种支持ZKPs的同态加密方法和区块链交易金额加密方法
Sonnino et al. Coconut: Threshold issuance selective disclosure credentials with applications to distributed ledgers
CN106961336B (zh) 一种基于sm2算法的密钥分量托管方法和系统
Di Raimondo et al. Deniable authentication and key exchange
EP0786178B1 (en) Secret-key certificates
Di Raimondo et al. New approaches for deniable authentication
JP4639084B2 (ja) セキュア認証の暗号方法および暗号装置
US8661240B2 (en) Joint encryption of data
US10846372B1 (en) Systems and methods for trustless proof of possession and transmission of secured data
KR20180116278A (ko) 안전한 정보 교환과 계층 구조적이고 결정론적인 암호키를 위한 공통 비밀 결정
Harn et al. Verifiable secret sharing based on the Chinese remainder theorem
CN1937496A (zh) 可延展伪名证书系统和方法
Rass et al. Cryptography for security and privacy in cloud computing
Döttling et al. McFly: verifiable encryption to the future made practical
CN112785306A (zh) 基于Paillier的同态加密方法及应用系统
Boneh et al. Threshold signatures with private accountability
De La Piedra et al. Towards a full-featured implementation of attribute based credentials on smart cards
Bossuat et al. Unlinkable and invisible γ-sanitizable signatures
CN115883102B (zh) 基于身份可信度的跨域身份认证方法、系统及电子设备
Zhang et al. Privacy‐friendly weighted‐reputation aggregation protocols against malicious adversaries in cloud services
Kilciauskas et al. Authenticated key agreement protocol based on provable secure cryptographic functions
Hajny et al. Anonymous credentials with practical revocation
Chang et al. A highly efficient and secure electronic cash system based on secure sharing in cloud environment
Longo Formal Proofs of Security for Privacy-Preserving Blockchains and other Cryptographic Protocols

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