当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

复旦大学:《信息安全原理》课程教学资源(PPT课件)第4章 密码应用(4/4)

资源类别:文库,文档格式:PDF,文档页数:83,文件大小:756.67KB,团购合买
点击下载完整版文档(PDF)

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

2 Differ-Hellman协议 Diffie-Hellman密钥交换协议: 设p为素数g是Z的生成元,都公开; i)A随机选择数x,向B发送信息( g mod p) (2)B随机选择数y,向A回送信息( gy mod p); A完成计算( gy mod p),B完成计算( g mod p)Y 显然,( gy mod p)x=( gmod p)y= g mod pi 便是共享密钥; 对于入侵者,他可以截获以上信息,但是无法利用2 g mod n计算x 即计算上不可行;但此算法仍有缺点,考虑以下情况: A,B是通信双方,T是入侵者,x为A的随机数,y为B的随机数,z为T的 随机数, (1)A向B发送信息( g mod p); (2)入侵者T截获了信息并向B发送( g'mod p); (3)T接着将此随机数 gmod p发送给A,A与T产生共享密钥 gmod p (4)B向A发送的 g mod p也被T截获并与B产生共享密钥 gy'mod p; 由于A、B都把T看作为合法的B和A,因此A用 g mod p作为与B 通信的共享密钥,而B把 gyz mod p作为与A通信的共享密钥, 实质上,A与B的通信结果都是通过T完成的这样,A和B之间的通信总会 被T捕获,这种攻击被称为中间人拦截攻击

 2.Differ-Hellman 协议  Diffie-Hellman密钥交换协议:  设p 为素数,g 是 Z p的生成元,都公开;  ( 1 ) A随机选择数 x,向 B发送信息( g xmod p);  ( 2 ) B随机选择数 y,向 A回送信息( g y mod p);  A完成计算(g y mod p) x, B完成计算 (g xmod p) Y  显然,(g y mod p) x =(g xmod p) y= gxymod p便是共享密钥;  对于入侵者,他可以截获以上信息,但是无法利用p, g, g x mod n 计算 x, 即计算上不可行;但此算法仍有缺点,考虑以下情况:  A,B是通信双方, T是入侵者, x 为 A的随机数, y 为 B的随机数, z 为 T 的 随机数,  (1) A 向 B发送信息( g xmod p);  (2)入侵者 T截获了信息并向 B发送 ( g zmod p );  (3) T接着将此随机数 g zmod p 发送给 A,A 与 T产生共享密钥 gxzmod p ;  (4) B 向 A发送的 g ymod p也被 T截获并与 B产生共享密钥 gyzmod p;  由于 A 、 B都把 T看作为合法的 B 和A, 因此, A 用 gxz mod p 作为与 B 通信的共享密钥, 而 B 把 gyz mod p作为与 A通信的共享密钥,  实质上, A 与 B的通信结果都是通过 T完成的,这样,A 和 B之间的通信总会 被 T捕获,这种攻击被称为中间人拦截攻击

增加一个签名方案Sig,ver 引进可信中心 每个用户有自己的证书C(V)=(ID(D,Vert, SigA(D(U), veru (1)A随机选择数x,向B发送信息( g mod p); (2)B随机选择数y,计算(g) )mod p和 YB= Sigr(gx,gy),向A回送信息(C(B), synod p,Yg) (3)A计算(g) Xmod p,YA=SigA(g2g),使用ver验证 YB,使用ver验证C(B),通过验证后A向B回送信 息(C(A,YA (4)B使用verA验证YA,使用ver验证C(A)

 增加一个签名方案Sig, Ver  引进可信中心.  每个用户 I有自己的证书C(V)=(ID(I),Ver U, SigTA(ID(U),Ver U )  (1)A随机选择数 x,向 B发送信息( g Xmod p);  (2)B随机选择数 y,计算(g X ) Ymod p 和  Y B=Sig B(g X,g Y), 向 A回送信息(C(B),g ymod p, Y B )  (3)A计算(g Y ) Xmod p, Y A=Sig A(g X,g Y),使用Ver B验证 Y B,使用VerTA验证C(B), 通过验证后 A 向 B回送信 息(C(A), Y A) ;  (4)B使用Ver A验证 Y A,使用VerTA验证C(A)

46CA与数字证书 在网络安全和电子商务等实际应用中, 通常用公钥密码算法来协商会话密钥 每次通信时临时产生密钥 而用对称密钥密码算法来加密要秘密传 输的数据 数字信封

4.6 CA与数字证书  在网络安全和电子商务等实际应用中, 通常用公钥密码算法来协商会话密钥  每次通信时临时产生密钥  而用对称密钥密码算法来加密要秘密传 输的数据  数字信封

例1:A要与B通信 A的动作: 1)A从公钥库中得到B的公钥PKB; 2)A随机产生一个会话密钥K; 3)A用B的公钥PK对K加密产生C1; 4)A用K加密要传输的数据DATA,得到C2 5)A将C1|C2发送给B B的动作: 1)B接收到C1C2 2)B用自己的私钥SK对C1解密,得到K; 3)B用K对C2解密得到DATA

 例1:A要与B通信  A的动作:  1)A从公钥库中得到B的公钥PKB;  2)A随机产生一个会话密钥K;  3)A用B的公钥PKB对K加密产生C1;  4)A用K加密要传输的数据DATA,得到C2;  5)A将C1||C2发送给B  B的动作:  1)B接收到C1||C2;  2)B用自己的私钥SKB对C1解密,得到K;  3)B用K对C2解密得到DATA

为了防止这种攻击,必须有一个大家都 信任的第三方机构将公钥库中用户名字 与用户的公钥绑定起来 大家都信任的第三方结构就是CA 绑定后的公钥就构成了用户的数字证书, 简称证书 绑定的途径就是数字签名技术

 为了防止这种攻击,必须有一个大家都 信任的第三方机构将公钥库中用户名字 与用户的公钥绑定起来。  大家都信任的第三方结构就是CA  绑定后的公钥就构成了用户的数字证书, 简称证书  绑定的途径就是数字签名技术

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共83页,可试读20页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有