[发明专利]利用零知识证明协议证明交易金额处于某个区间的方法在审
申请号: | 201910098240.2 | 申请日: | 2019-01-31 |
公开(公告)号: | CN109903158A | 公开(公告)日: | 2019-06-18 |
发明(设计)人: | 王志鹏;杨敏;孟庆树 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06F21/60;G06F21/62;G06F21/64 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 魏波 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 知识证明 交易 承诺 区块 验证 链系统 密文 密文状态 协议构造 知识验证 秘密 证据 相等 运算 隐私 合法 保证 | ||
本发明公开了一种利用零知识证明协议证明交易金额处于某个区间的方法。交易发起者首先把交易金额用FO承诺进行隐藏,所述承诺作为交易密文的一部分。然后利用该承诺、一个承诺所隐藏秘密为平方数的零知识证明协议,两个承诺隐藏相等秘密的零知识证明协议,CFT范围零知识证明协议构造交易金额处于某个区间的零知识证据,之后把上述承诺及证据发送给区块链系统。区块链的节点利用接收的数据,执行零知识验证协议,验证交易金额处于声称的区间内。如果一切验证合法,则把交易记载到区块链系统,如果验证不合格,则交易不合格。该发明在支持密文同态运算的同时,能够零知识证明密文状态的交易金额处于某个区间内,保证交易金额的隐私。
技术领域
本发明属于信息安全技术领域,涉及一种零知识证明协议及证明交易金额处于某个区间方法,特别设计一种零知识证明协议及利用该协议证明区块链中加密的交易金额x处于某个区间[a,b]的方法。
背景技术
零知识证明(Zero-Knowledge Proof),是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。大量事实证明,零知识证明在密码学中非常有用。如果能够将零知识证明用于验证,将可以有效解决许多问题。
零知识证明起源于最小泄露证明。设P表示掌握某些信息,并希望证实这一事实的实体,设V是证明这一事实的实体。假如某个协议向V证明P的确掌握某些信息,但V无法推断出这些信息是什么,我们称P实现了最小泄露证明。不仅如此,如果V除了知道P能够证明某一事实外,不能够得到其他任何知识,我们称P实现了零知识证明,相应的协议称作零知识协议。
假设A想向警察局证明他很年轻可以考驾证,但又不想泄露自己的实际年龄。A可以提交一个承诺以说明他的年龄确实属于一个合法的区间。这是一个零知识证明某个数字属于一个区间的问题。目前已经有许多的工具与方法用于实现上述目的。下面我们设n是一个正的大合数,其素数分解未知,g是中阶数很大的一个元素,h是由g生成的一个元素,且满足以h为底g的对数,以g为底h的对数都未知。
Fujisaki-Okamoto承诺:定义基于(g,h,n)的(x,r)的F0承诺为E(x,r)=gxhr modn,其中r是从[-2sn+1,2sn-1]随机选择的一个随机数,x表示待隐藏的数,n是系统参数,如上定义,s是安全参数,是一个大小确定的自然数。
用于证明两个承诺E、F里包含同一个秘密的证据PK(x,r1,r2:E and F):A拥有x∈[0,b],令E=E1(x,r1),F=E2(x,r2)是两个对x的承诺,A想向其他人证明他知道生成两个承诺E,F的x,r1,r2。证据如下生成:
(1)A随机生成整数ω∈[1,2l+tb-1],计算其中,l,t,s1,s2是四个安全参数,是大小确定的自然数;
(2)A计算c=H(W1||W2),其中H()表示hash计算;
(3)A计算D=ω+cx,D1=η1+cr1,D2=η2+cr2;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910098240.2/2.html,转载请声明来源钻瓜专利网。