[发明专利]一种适合区块链隐私保护的零知识证明方法和介质有效
申请号: | 201711241178.5 | 申请日: | 2017-11-30 |
公开(公告)号: | CN108418689B | 公开(公告)日: | 2020-07-10 |
发明(设计)人: | 邓燚;马顺利;何德彪;张江;陈泌文;谢翔;李升林;孙立林 | 申请(专利权)人: | 矩阵元技术(深圳)有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L29/06;G06Q20/38;G06Q20/40 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 施浩 |
地址: | 518054 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适合 区块 隐私 保护 知识 证明 方法 介质 | ||
1.一种适合区块链隐私保护的零知识证明方法,其特征在于,包括:
在初始化阶段生成系统参数,其中在初始化阶段生成系统参数为:PP=(p,G1,G2,GT,e,g1,h,g2,gT,vk,σ,T),其中(p,G1,G2,GT,e,g1,g2)←Gbp(1n)是双线性组,是另外一个G1的生成元且gT=e(g1,g2)是GT的生成元,签名密钥为sk=x而验证密钥为计算在0到2ε-1的签名:计算双线性映射其中p是群G1、G2、GT的阶,g1、g2分别是群G1、G2的生成元,e是一个双线性映射,$Zp是阶为p的整数群,μ←$Zp表示μ是从整数群Zp中随机选出;
在用户配置阶段生成交易节点公私钥对并定义加密方式,其中在用户配置阶段进行交易的参与方使用paillier加密体系;
在证明生成阶段,生成证明节点的余额密文以及分别使用证明节点和验证节点公钥加密的转账金额密文,证明节点生成随机参数并以初始化阶段得到的系统参数作为通用输入,计算得到相关证明参数,以此生成非交互式零知识证明π;
在验证阶段,证明节点将π发送给验证节点,验证节点结合系统参数,对π进行解析后验证是否满足条件,若满足则允许交易。
2.根据权利要求1所述的适合区块链隐私保护的零知识证明方法,其特征在于,在证明生成阶段,拥有余额tA的用户A在向用户B转账金额为t时,执行以下操作:
步骤1:用户A从账本中得到tA的密文:其中r为随机数,NA为用户A的公钥;
步骤2:为得到存在证据生成参数的方式包括步骤(1)至(3):
(1)而且即,Ct,是相同的明文用不同公钥加密得到的密文,并由CMt做出pederson承诺,其中NA为用户A的公钥,NB为用户B的公钥,rt和为生成的随机数,l为使用在pederson承诺中的随机数;
(2)而且其中l′为使用在pederson承诺中的随机数,以及
(3)t∈[0,(2ε)γ],t′=tA-t∈[0,(2ε)γ),其中
ε和γ是表示方案明文空间的两参数,方案的明文空间为[0,2β],其中β=ε·γ,若β≠ε·γ则可以通过适当放大范围以使β=ε·γ成立;
步骤3:使用系统参数PP作为通用输入,A使用私密输入生成能证明步骤2中(1)、(2)、(3)的计算的论断的证据,生成证明的方式包括以下步骤:
设置N=NA·NB;
随机样本其中j=0,1,2..,γ-1,计算:
再对应于j=0,1,2,..,γ-1随机选取样本vj,v'j,qj,mj,u←$ZN*p,计算:
根据以上的定义和公式,计算
其中H表示密码学中的哈希函数;代表一个随机预言;
根据c,计算出以及
zl=rl-c·lmod(N*p)
zl′=rl′-c·l′mod(N*p)
z3=r3/(r/rt)c modNA
对于j=0,1,2,..,γ-1计算:
最后,A发送零知识证明π给B:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于矩阵元技术(深圳)有限公司,未经矩阵元技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711241178.5/1.html,转载请声明来源钻瓜专利网。