- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
我们表示知识的零知识证明是一个证明者通过使一个论述的P 满足于
PoK{(a1,a2......an)|P(a1,........an)}
使得一个核实者信服。这个概念是从Camenish和Stadler上汲取过来的(修改他们的理论使得PoK代替PK)。
B、主要的架构
我们把知识的零知识证明当做是在构造块以及以单独的模块来描述它们。知识的零知识证明显示这里的非交互式证明在随机预言模块是安全的。在这个安全的证明里,我们表示这些协议的交互式模式的使用是不需要依靠随机预言模块并且能够使零知识使用协议的正常执行,这也就意味着零知识证明的顺序执行。当交互式的知识的零知识证明用Fiat-Shamir 启发式理论在随机预言模式下实例化和协议在同时执行时,我们的证明就因为技术的原因被瓦解了,但是我们任然将我们的证明当做是为了执行的安全儿做的启发式的证明。
构建(spk,ssk,σ)
服务器在Zq集合中选择x,y,z以及使得X=g^x,Y=g^y,Z=g^z.这个服务公共秘钥是spk=(q,G,GT,g, X,Y,Z),服务的私有秘钥是ssk=(x,y,z).服务器的状态σ是由一对集合组成。它们初始化状态下是为NULL。就像这样σ=({},{})。我们把第一个组件成为σ.cur以及第二个组件称为σ.next.在所有的组件中,cur=|σ.cur|,next=|σ.next|。
注册:(φ,sk)←RegS(ssk),RegC(spk)
客户端选择从Zq处选择d,r.用它们来构建M=(g^d)*(Z^r)并且将他们送到服务器端。
这个客户端以证明着的角色以及服务器端以核实者的角色存在与知识的零知识证明。
PoK{(d,r)|M=(g^d)*(Z^r)}.
如果上述证明失败,则注册失败。
3、服务器端从Zq*产生一个a值,并且使得A=g^a.然后它形成了这个注册号s=(A,B=A^y,Zb=Z^ay(=B^z),C=(A^x)*(M^axy)并且将产生的注册号返回给客户端。
4、客户端通过以下公式验证收到的是否是为合法的注册号:
A!=1,e(g,B)=e(Y,A),e(g,ZB)=e(Z,B),e(g,C)=e(X,A)*e(X,B)^d*e(X,ZB)^r.
否则,RegC输出。
客户端设置sk=(s,d,r).
登陆((σ’,cur’),φ)←LoginS(ssk,σ.cur,t),LoginC(sk,spk,t)
1、客户端利用它的私有秘钥(s=(A,B,ZB,C),d,r)来创建一个不知情的注册号。这个客户端选择从Zq*中选择r1,r2,并且创建盲注册名s=(A,B,ZB,C),使得A=A^r1,B=B^r1,ZB=ZB^r1,C=C^r1r2.
2、客户端利用Yd(t)=gT^(1/(d+t))创建登录号。
3、客户端提交s,Yd(t)到服务器端。
4、如果Yd(t)∈σ.cur,则登录失败。
5.否则,服务器通过如下方程进行验证:
e(g,B)=e(Y,A),e(g,ZB)=e(Z,B)
如果不符合上述等式,则登录失败。
服务器端和客户端分别进行如下计算:
v=e(g,C)
vx=e(X,A)
vxy=e(X,B)
v’xy=e(X,ZB)
7、客户端以证明者的身份并且服务器端以核实者的身份存在于知识的零知识证明当中。
PoK={(d,r,r’)|v^r’=(vx)(vxy)^d(v’xy)^r∧Yd(t)=gT^(1/(d+t))}.
(这个客户端利用的r’=1/r2)如果证明失败,则登录失败。
服务器端设置σ’=(σ.cur∨{Yd(t)},σ.next).
连接:((σ’,next’),φ) ←(Re-UpS(ssk,σ,next,t),Re-UpC(sk,spk,t))
1、客户端利用sk=(s,d,r)提交Yd(t)=gT^(1/(d+t)),Yd(t+1)=gT^(1/(d+t+1))到服务器端。
2、服务器端验证收到的Yd(t)∈σ.cur并且Yd(t+1)?σ.next.如果不是,则连接失败。
3、客户端以证明者的身份并且服务器端以核实者的身份存在于知识的零知识证明当中。
PoK{d|Yd(t)=gT^(1/(d+t))∧Yd(t+1)=gT^(1/(d+t+1))}.
如果证明失败,则连接失败
4、这个服务器端增加Yd(t+1)到σ.next.。
下一个响应时间:(σ’,cur’,next’)←EndEpoch(σ,cur,next)
σ’=(σ.next,{}).
接下来的证明能够在这个论文的全部的版本下找到。
理论(健全性):如果LRSW的假设支持G,那么上面的构建方法是健全的。
原创力文档


文档评论(0)