Okamoto身份识别方案 Okamoto对 Schnorr方案进行了改进,保证在假设Z中一 个特定的离散对数问题是难解的条件下,改进方案是安全 的。 案等参数外,还要选择两个阶为q的元素1,02E TA在 Okamoto方案中除了要确定p,q,和散列函数、签 Sender在计算v时将选择两个秘密参数a1和a210≤a1a2≤q-1), 且v=a1la2(modp)o 身份识别时,随机数k的选择也由一个变为两个:k1和 k2(1≤k1,k2≤q-1),且r=a1a22(modp) 在 Receiver选定随机数r后, Sender将计算两个Y: Y=(k+a, r)mod q, Y2=(k2+a,r)mod q t #A Receiver Receiver最后的验证相应地变为:r=a1Ya2v(modp) Okamoto将一个秘密参数a扩展成两个a1和a2,这样的改进 看似不大,但却从根本上解决了安全性的证明
Okamoto身份识别方案 Okamoto 对Schnorr方案进行了改进,保证在假设 Z p中一 个特定的离散对数问题是难解的条件下,改进方案是安全 的。 TA 在Okamoto方案中除了要确定p,q,t和散列函数、签名方 案等参数外,还要选择两个阶为 q的元素 1, 2 Zp*, Sender在计算 v时将选择两个秘密参数 a 1 和 a 2(0 ≤ a 1,a 2 ≤q-1), 且v= 1 -a1 2 -a2(mod p) 。 身份识别时,随机数 k的选择也由一个变为两个: k 1 和 k 2(1 ≤ k 1,k 2 ≤q-1),且 = 1 k1 2 k2(mod p) 。 在 Receiver 选定随机数 r 后 , Sender 将计算两个 Y: Y 1=(k 1+a 1r)mod q,Y 2=(k 2+a 2r)mod q 送 给 Receiver, Receiver最后的验证相应地变为: = 1 Y1 2 Y2 v r(mod p) 。 Okamoto将一个秘密参数 a扩展成两个 a 1 和 a 2,这样的改进 看似不大,但却从根本上解决了安全性的证明
定理:假设 Cheater知道一个值r,对这个r成功模仿 Sender的 概率E(2-1),那么 Cheater和 Sender合伙以概率1—1/q能够 在多项式时间计算oga1a2 Sender选择了两个秘密参数而不是一个,所有可能的秘 密参数有序对构成一个集合,这个集合中有q个对,它与 Sender的(a1a2)是“等价的”。 知道这个集合中两个不同的对就提供了计算离散对数c的 有效算法。 Sender知道其中一个对,如果 Cheater能够冒充 Sender, 那么就能计算出集合中的一个对,并且与 Sender的对不 同的概率几乎为1。 因而 Sender.与 Cheater一起能够找到两个不同的对,从而 计算出c,也就产生了与TA假设的矛盾。 尽管 Okamoto方案是安全的,但与 Schnorr方案相比,执 行时间几乎翻倍
定理:假设Cheater知道一个值 ,对这个 成功模仿Sender 的 概率 ≥(2t -1)-1,那么Cheater 和Sender合伙以概率 1 -1/q能够 在多项式时间计算loga1 a 2 Sender选择了两个秘密参数而不是一个,所有可能的秘 密参数有序对构成一个集合,这个集合中有 q个对,它与 Sender 的(a 1,a 2 )是“等价的”。 知道这个集合中两个不同的对就提供了计算离散对数 c 的 有效算法。 Sender知道其中一个对,如果Cheater能够冒充Sender, 那么就能计算出集合中的一个对,并且与Sender的对不 同的概率几乎为 1 。 因而Sender 与Cheater一起能够找到两个不同的对,从而 计算出 c,也就产生了与TA假设的矛盾。 尽管Okamoto方案是安全的,但与Schnorr方案相比,执 行时间几乎翻倍
45密钥交换协议 1Blom协议 p是素数,k是一个整数,k是使得网络 中的任何k个用户合伙,方案仍是安全的 最大值.即安全性条件为:至多k个不同 用户的任何用户集必须不能确定两个用 户间的密钥 下面给出k=1的方案
4.5 密钥交换协议 1.Blom 协议 p 是素数,k是一个整数,k是使得网络 中的任何k个用户合伙,方案仍是安全的 最大值.即安全性条件为:至多k个不同 用户的任何用户集必须不能确定两个用 户间的密钥. 下面给出k=1的方案
①每个用户任选一个公开的rn∈Zp这些元素互不相 (2)可信中心选择三个随机元素a,b,C∈Zn, f(x, y=(a+b(x+y)+cxy)mod (3)对每个用户∪,可信中心计算 g,(x)=f(x, r=(a+b(x+ru+crux)mod p 并在安全信道上送给U (4)如果U和V要通信,只要计算 U计算K=gn(r),V计算K=g(r K=K 定理:k=1时的Bom方案对任何单个用户是无条件 安全的
(1)每个用户任选一个公开的 r u Z p ,这些元素互不相 同. (2)可信中心选择三个随机元素a,b,c Z p, f(x,y)=(a+b(x+y)+cxy)mod p (3)对每个用户U,可信中心计算 g u(x)=f(x, r u)=(a+b(x+r u)+cr ux)mod p 并在安全信道上送给U ( 4 )如果 U 和 V要通信,只要计算 U计算 Kuv=g u(r v ),V计算 Kvu=g v(r u ) Kuv=Kvu . 定理:k=1时的Blom方案对任何单个用户是无条件 安全的
下面推广为k个情况 把函数改为、 ∑∑anxy 这里aa对任意的
下面推广为k个情况 把函数改为 k i k j i j ij a x y 0 0 这里aij=aji,对任意的i,j