资源描述:
《Okamoto身份识别方案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Okamoto身份识别方案Okamoto对Schnorr方案进行了改进,保证在假设Z中一p个特定的离散对数问题是难解的条件下,改进方案是安全的。TA在Okamoto方案中除了要确定p,q,t和散列函数、签名方案等参数外,还要选择两个阶为q的元素,Zp*,12Sender在计算v时将选择两个秘密参数a和a(0≤a,a≤q-1),1212且v=-a1-a2(modp)。12身份识别时,随机数k的选择也由一个变为两个:k和1k(1≤k,k≤q-1),且=k1k2(modp)。21212在Receiver选
2、定随机数r后,Sender将计算两个Y:Y=(k+ar)modq,Y=(k+ar)modq送给Receiver,111222Receiver最后的验证相应地变为:=Y1Y2vr(modp)。12Okamoto将一个秘密参数a扩展成两个a和a,这样的改进12看似不大,但却从根本上解决了安全性的证明。定理:假设Cheater知道一个值,对这个成功模仿Sender的概率≥(2t-1)-1,那么Cheater和Sender合伙以概率1-1/q能够在多项式时间计算logaa12Sender选择了两个秘密参数而不是一个,
3、所有可能的秘密参数有序对构成一个集合,这个集合中有q个对,它与Sender的(a,a)是“等价的”。12知道这个集合中两个不同的对就提供了计算离散对数c的有效算法。Sender知道其中一个对,如果Cheater能够冒充Sender,那么就能计算出集合中的一个对,并且与Sender的对不同的概率几乎为1。因而Sender与Cheater一起能够找到两个不同的对,从而计算出c,也就产生了与TA假设的矛盾。尽管Okamoto方案是安全的,但与Schnorr方案相比,执行时间几乎翻倍。4.5密钥交换协议1.Blom协议p是
4、素数,k是一个整数,k是使得网络中的任何k个用户合伙,方案仍是安全的最大值.即安全性条件为:至多k个不同用户的任何用户集必须不能确定两个用户间的密钥.下面给出k=1的方案(1)每个用户任选一个公开的rZ,这些元素互不相up同.(2)可信中心选择三个随机元素a,b,cZ,pf(x,y)=(a+b(x+y)+cxy)modp(3)对每个用户U,可信中心计算g(x)=f(x,r)=(a+b(x+r)+crx)modpuuuu并在安全信道上送给U(4)如果U和V要通信,只要计算U计算K=g(r),V计算K=g(r
5、)uvuvvuvuK=K.uvvu定理:k=1时的Blom方案对任何单个用户是无条件安全的下面推广为k个情况把函数改为kkijaijxyi00j这里a=a,对任意的i,jijji2.Differ-Hellman协议Diffie-Hellman密钥交换协议:设p为素数,g是Z的生成元,都公开;p(1)A随机选择数x,向B发送信息(gxmodp);(2)B随机选择数y,向A回送信息(gymodp);A完成计算(gymodp)x,B完成计算(gxmodp)Y显然,(gymodp)x=(gxmodp)y=
6、gxymodp便是共享密钥;对于入侵者,他可以截获以上信息,但是无法利用p,g,gxmodn计算x,即计算上不可行;但此算法仍有缺点,考虑以下情况:A,B是通信双方,T是入侵者,x为A的随机数,y为B的随机数,z为T的随机数,(1)A向B发送信息(gxmodp);(2)入侵者T截获了信息并向B发送(gzmodp);(3)T接着将此随机数gzmodp发送给A,A与T产生共享密钥gxzmodp;(4)B向A发送的gymodp也被T截获并与B产生共享密钥gyzmodp;由于A、B都把T看作为合法的B和A,因此,A用gx
7、zmodp作为与B通信的共享密钥,而B把gyzmodp作为与A通信的共享密钥,实质上,A与B的通信结果都是通过T完成的,这样,A和B之间的通信总会被T捕获,这种攻击被称为中间人拦截攻击增加一个签名方案Sig,Ver引进可信中心.每个用户I有自己的证书C(V)=(ID(I),Ver,USig(ID(U),Ver)TAU(1)A随机选择数x,向B发送信息(gXmodp);(2)B随机选择数y,计算(gX)Ymodp和Y=Sig(gX,gY),向A回送信息(C(B),gymodp,Y)BBB(3)A计算(gY)Xmo
8、dp,Y=Sig(gX,gY),使用Ver验证AABY,使用Ver验证C(B),通过验证后A向B回送信BTA息(C(A),Y);A(4)B使用Ver验证Y,使用Ver验证C(A)AATA4.6CA与数字证书在网络安全和电子商务等实际应用中,通常用公钥密码算法来协商会话密钥