[发明专利]利用零知识证明协议证明交易金额处于某个区间的方法在审
申请号: | 201910098240.2 | 申请日: | 2019-01-31 |
公开(公告)号: | CN109903158A | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 王志鹏;杨敏;孟庆树 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06F21/60;G06F21/62;G06F21/64 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 魏波 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 知识证明 交易 承诺 区块 验证 链系统 密文 密文状态 协议构造 知识验证 秘密 证据 相等 运算 隐私 合法 保证 | ||
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′)andm3′∈[-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].
以上任何一个校验不通过即为失败。
2.根据权利要求1所述的利用零知识证明协议证明交易金额处于某个区间的方法,其特征在于:步骤1中,如果b-a<22(t+1)+1,记e=[22(t+1)+1]/(b-a),对于x∈[a,b],得ex∈[ea,eb],e(b-a)=22(t+l)+1,即x′=ex能满足步骤1所要求的条件;在相同的(g,h,N)基础下,E(x′)=E(x)e;使用E(x),e和PK(xe,re:E=E(xe,re)and xe∈[ae,be])证明x∈[a,b]。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910098240.2/1.html,转载请声明来源钻瓜专利网。