[发明专利]利用零知识证明协议证明交易金额处于某个区间的方法在审
申请号: | 201910098240.2 | 申请日: | 2019-01-31 |
公开(公告)号: | CN109903158A | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 王志鹏;杨敏;孟庆树 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06F21/60;G06F21/62;G06F21/64 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 魏波 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种利用零知识证明协议证明交易金额处于某个区间的方法。交易发起者首先把交易金额用FO承诺进行隐藏,所述承诺作为交易密文的一部分。然后利用该承诺、一个承诺所隐藏秘密为平方数的零知识证明协议,两个承诺隐藏相等秘密的零知识证明协议,CFT范围零知识证明协议构造交易金额处于某个区间的零知识证据,之后把上述承诺及证据发送给区块链系统。区块链的节点利用接收的数据,执行零知识验证协议,验证交易金额处于声称的区间内。如果一切验证合法,则把交易记载到区块链系统,如果验证不合格,则交易不合格。该发明在支持密文同态运算的同时,能够零知识证明密文状态的交易金额处于某个区间内,保证交易金额的隐私。 | ||
搜索关键词: | 知识证明 交易 承诺 区块 验证 链系统 密文 密文状态 协议构造 知识验证 秘密 证据 相等 运算 隐私 合法 保证 | ||
【主权项】:
1.一种利用零知识证明协议证明交易金额处于某个区间的方法,其特征在于,包括以下步骤:步骤1:设待加密的交易金额为x,已知x∈[a,b]且x为整数,b‑a≥22(t+l)+1,其中,安全参数t、1是大小确定的自然数;N为一个正的合数且其素数分解未知,
且g有一个大阶数,乃是由g生成的一个元素,且满足以乃为底g的对数,以g为底乃的对数都未知;基于(g,乃,N)为(x,r)构造承诺E(x,r)=gxhr mod N,其中随机整数r∈[‑(2s N+1),(2s N+1)],安全参数s是一个确定大小的自然数;步骤2:零知识范围证明的构造;计算c1=g‑aE(x,r)mod N=gx‑ahr mod N,c2=gbE(x,r)‑1 mod N=gb‑xh‑r mod N;Xlower=x‑a;Xupper=b‑x;
其中,cprime与c2隐藏了同样的秘密Xupper,其证据为PK(Xupper,r1,r2:cprime and c2),其中r1=rXupper+rprime,r2=‑r,g1=gXlower,g2=g,h1=h2=h,随机整数rprime∈[‑(2sN+1),(2sN+1)];记:m=(x‑a)(b‑x)=XupperXlower;
其中
表示不大于
的最大整数;
其中
m3=m‑mi‑m2;r=rXupper+rprime;r′=r1+r2+r3,其中,r1,r2∈[‑N,N];基于(g,h,N)构造cprime1=E(mi,r1),cprime2=E(m2,r2),cprime3=E(m3,r3);为证明承诺cprime1,cprime2各自隐藏一个平方数,分别构造证据PK(m0,r1:cprime1),PK(mm0,r2:cprime2);T=b‑a‑1;m′3=m32t+l;r3′=r32t+l;基于(g,h,N)构造PKcft(m′3,r′3:E=E(m′3,r′3)and m′3∈[‑2t+lT,2t+lT]),以证明m3∈[‑T,T]的范围;步骤3:在构造完成之后,将用于证明PK(x,r:E=E(x,r)and x∈[a,b]的所有证据发送给校验方;PK(Xupper,r1,r2:cprime and c2),PK(m0,r1:cprimel),PK(mm0,r2:cprime2),PKcft(m′3,r′3:E=E(m′3,r′3)and m′3∈[‑2t+lT,2t+lT]),cprime,cprimel=E(m1,r1),cprime2=E(m2,r2),cprime3=E(m3,r3);区间参数a,b,以及承诺E(x,r);步骤4:校验方校验;步骤4.1:利用a,b,E(x,r)及参数(g,h,N)计算c1,c2;步骤4.2:使用c2,cprime,PK(Xupper,r1,r2:cprime and c2)校验c2与cprime隐藏同样的秘密Xupper,从而证明cprime所承诺的数具有格式(x‑a)(b‑x);步骤4.3:c_prime_verify=cprime1cprime2cprime3mod N,校验c_prime_verify与cprime相等,从而证明m1+m2+m3=(x‑a)(b‑x);步骤4.4:使用cprime1,PK(m0,r1:cprime1)证明承诺cprime1隐藏了一个平方数,使用cprime2,PK(mm0,r2:cprime2)证明承诺cprime2隐藏了一个平方数;步骤4.5:计算
使用cprime3,,PK(m′3,r′3:E=E(m′3,r3′)and m3′∈[‑2t+lT,2t+lT])证明m3∈[‑(b‑a‑1),(b‑a‑1)]的区间范围;如果通过以上步骤的检查,说明(x‑a)(b‑x)=ml+m2+m3,m1,m2都是平方数,所构造m3满足m3∈[‑(b‑a‑1),(b‑a‑1)],根据数学原理,可以得出x∈[a,b].以上任何一个校验不通过即为失败。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910098240.2/,转载请声明来源钻瓜专利网。