资源描述:
《信息安全-知识的零知识证明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、我们表示知识的零知识证明是一个证明者通过使一个论述的P满足于PoK{(a1,a2......an)
2、P(a1,........an)}使得一个核实者信服。这个概念是从Camenish和Stadler上汲取过来的(修改他们的理论使得PoK代替PK)。B、主要的架构我们把知识的零知识证明当做是在构造块以及以单独的模块来描述它们。知识的零知识证明显示这里的非交互式证明在随机预言模块是安全的。在这个安全的证明里,我们表示这些协议的交互式模式的使用是不需要依靠随机预言模块并且能够使零知识使用协议的正常执行,这也就意味着零知识证明的顺序执行。当交互式的知识的零知识证明用
3、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=
4、σ.cur
5、
6、,next=
7、σ.next
8、。注册:(φ,sk)←1、客户端选择从Zq处选择d,r.用它们来构建M=(g^d)*(Z^r)并且将他们送到服务器端。1、这个客户端以证明着的角色以及服务器端以核实者的角色存在与知识的零知识证明。PoK{(d,r)
9、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、客户端通过以下公式验证收
10、到的是否是为合法的注册号: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输出。5.客户端设置sk=(s,d,r).登陆((σ’,cur’),φ)←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
11、、客户端利用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)如果不符合上述等式,则登录失败。6.服务器端和客户端分别进行如下计算:v=e(g,C)vx=e(X,A)vxy=e(X,B)v’xy=e(X,ZB)7、客户端以证明者的身份并且服务器端以核实者的身份存在于知识的零知识证明当中。PoK={(d,r,r’)
12、v^r’=(vx)(vxy)^d(v’xy)^r∧Yd(t)=gT^(1
13、/(d+t))}.(这个客户端利用的r’=1/r2)如果证明失败,则登录失败。8、服务器端设置σ’=(σ.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、客户端以证明者的身份并且服务器端以核实者的身份存在于知识的零知识证明
14、当中。PoK{d
15、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,那么上面的构建方法是健全的。理论(匿名性):如果DDHI的假设支持G,那么上面的构建方法是匿名的。C、有效的改进我们的协议包含了几个已经进行了有效改进的基础原始协议,它用到的方法
16、是:改进了的CL注册:这个基础的CL注册包含了第五个