cnspp-ch10-Key Management; Other Public Key Cryptosystems

上传人:油条 文档编号:47555905 上传时间:2018-07-02 格式:PPT 页数:31 大小:738.50KB
返回 下载 相关 举报
cnspp-ch10-Key Management; Other Public Key Cryptosystems_第1页
第1页 / 共31页
cnspp-ch10-Key Management; Other Public Key Cryptosystems_第2页
第2页 / 共31页
cnspp-ch10-Key Management; Other Public Key Cryptosystems_第3页
第3页 / 共31页
cnspp-ch10-Key Management; Other Public Key Cryptosystems_第4页
第4页 / 共31页
cnspp-ch10-Key Management; Other Public Key Cryptosystems_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《cnspp-ch10-Key Management; Other Public Key Cryptosystems》由会员分享,可在线阅读,更多相关《cnspp-ch10-Key Management; Other Public Key Cryptosystems(31页珍藏版)》请在金锄头文库上搜索。

1、实验安排周五17:3021:30 数据库实验室(三层) ftp:/211.87.234.171;1114周下载用户名user 密码是:123456 上传用户是upload 密码是:123456 Download文件夹下有实验说明及部分安装程序实验二 Sniffer 网络侦听 实验十 OPENSSL 软件包的使用 实验三 对称加密算法实验 实验四 公钥算法实验 实验八 安全电子邮件的配置和使用 实验3,4完成后,按照以下例子的文件名格式压缩打包上传到指 定ftp的目录upload 文件名例子: 200620244_王薇_实验3.rar 公钥密码体制的应用 加密/解密:发送方用接收方的公钥对消息加

2、密 数字签名:发送方用其私钥对消息签名,可以对整 体消息签名或对消息的摘要签名 密钥交换:通信双方交换会话密钥公钥密码体制实现认证RSA签名的具体过程(1)密钥生成:先选取两个互素的大素数P和Q, 令N=PQ,(N) =(P-1)(Q-1),接着寻求加密密钥e ,使e满足(e, (N))=1,另外,再寻找解密密钥d ,使其满足gcd(d,(N)=1,ed=1(mod (N)。这里 的(N, e)就是公钥。(N, d)就是私钥。(2)签名(S,M):对消息M签名,其签名过程是:S=Sig(M)=Md (mod N) (3)验证签名:对S按下式进行验证:M=Se (mod N),如果M=M,则签名

3、为真。公钥密码体制实现保密和认证|X密钥管理与 Diffie-Hellman密钥交换协议Key Management 密钥管理 公钥密码算法的主要作用之一是解决密钥分配 问题 公钥密码实际上可以用于以下两个不同的方面 distribution of public keys 分配公钥 use of public-key encryption to distribute secret keys 分配传统密码体制的密钥公钥的分配 公开发布 Public announcement 公开可访问的目录Publicly available directory 公钥授权 Public-key authorit

4、y 公钥证书 Public-key certificates公开发布 任一通信方可将公钥发送或广播给其他通 信方 eg. PGP用户在给诸如Usenet新闻组和Internet 邮件列表发送消息时,将公钥附加在要发送的 消息之后 最大问题在于任何人都可以伪造这种公钥的 发布 维护一个动态可访问的公钥目录可以获得更大程度 的安全性 一个可信实体或组织负责这个公开目录的维护和分 配 目录包含name, public-key等项 每一通信方通过目录管理员以安全的方式注册一个公钥 通信方在任何时刻可以用新的密钥替代当前的密钥 目录可通过管理员到用户的安全认证通信实现远程访问 重放攻击 一旦攻击者获得目

5、录管理员私钥,则可传递伪造的 公钥,可以假冒任何通信方以窃取消息,或者修改 已有的记录公开可访问的目录公开可访问的目录E(kRd, Kub)E(kRd, Kua)公钥授权 更加严格的控制目录中的公钥分配,使得 公钥分配更加安全 和公开可访问的目录类似,假定中心管理 员负责维护各方公钥的动态目录 每一通信方可靠的知道目录管理员的公钥 每一通信方分别与目录管理员通信以安全 获得其他通信方的公钥 缺点:需要与目录管理员实时通信公钥授权 有了公钥证书使得不通过实时访问公钥授权部门而实现公钥 交换成为可能 公钥证书将一个通信方的身份与他的公开密钥绑定在一起, 通常还包括有效期和使用方法等 证书的所有内容

6、必须经由可信公钥授权方或者证书授权方 (CA)签名后方可生效 知道公钥授权当局公开密钥的任何人都可以验证一个用户的 公开密钥证书的有效性;任何人都可以读取证书并确定证书 拥有者的身份和公钥 对于申请者A,管理员提供的证书为: CA = EKRauth T, IDA, PUa 其他人读取并验证: DKUauthCA=DKUauth EKRauth T, IDA, PUa=(T, IDA, PUa)公钥证书公钥证书 安全信道 分配公钥 分配传统密码体制的密钥 采用前述方法获得的公开密钥可以实现保密和认证 公钥密码算法速度较慢,因此更适合作为传统密码中 实现秘密密钥分配的一种手段 利用传统密码加密传

7、输的消息,而利用公钥密码算法 产生传统密码算法加密需要的会话密钥 已经有一些方法用来协商产生会话密钥利用公钥密码分配传统密码体制的 密钥一种简单的秘密密钥分配方法 Merkle在1979提出一种简单的方法 A产生公/私钥对KUa, KRa, 将含有KUa和标识IDA的消息 发给B B产生秘密密钥(会话密钥)Ks, 并用A的公钥加密后发给A A解密D(KRa,E(KUa,Ks), 得到Ks, 这样双方即可通信 这个协议不安全,因为会受到中间人攻击中间人攻击 problem is that an opponent can intercept and impersonate both halves

8、of protocol Attacker E in the middle1. AB: KUa|IDa2. EB: replace KUa|IDa with KUe| IDa3. BA: EKUeKs4. EA: replace EKUeKs with EKUaKs具有保密性和真实性的密钥分配 假定已实现了公钥的安全交换E(PRa, Ks)混合方法KUkdc/KRkdc 仅利用公钥实现主密钥MKa, MKb的分配 会话密钥仍由KDC利用对称密码算法进行分配ABKDCKUa/KRaKUb/KRbEMKb(SKab)EMKa(SKab)ESKab(message )Diffie-Hellman密钥交

9、换 Diffie和Hellman在1976年首次提出了公钥算法,给出了 公钥密码学的定义,该算法通常被称为Diffie-Hellman密 钥交换算法 note: now know that James Ellis (UK CESG) secretly proposed the concept in 1970 是一种广泛使用的公钥分发机制 它不是用来加密消息的 所生成的是通信双方共享的会话密钥,必须保密,其值取决 于通信双方的私钥和公钥信息离散对数问题 如果是素数p的一个原根(本原元素),则 mod p, 2 mod p, ., p-1 mod p,生成模p的完全剩余集 1, 2, ., p-1

10、 对于所有素数,其原根必定存在,即对于一个整数b和素数p的一个原根,可以找到唯一的指数 i, 使得 b = i mod p, 其中 0= i = p-1指数i称为b的以为基数的模p的离散对数或者指数。Diffie-Hellman密钥交换 一个公钥分配方案 不能用于消息的保密传输 仅用于协商密钥 只有通信双方知道 密钥值取决于通信双方的公私钥对 安全性基于离散对数问题 (DLP) Given a,x,p, compute b=axmod p is easy Given a,b,p, compute x, s.t. b=axmod p is generally a hard problemDiff

11、ie-Hellman密钥交换 通信双方约定全局参数: q:一个大素数(或多项式) :q的本原根 通信双方产生公开密钥,如用户A: 选择一个私钥: xA q 计算对应的公钥: yA = xA mod q 通信双方公开各自的公钥yA, yB 双方用对称密码通信时共享的会话密钥KAB可以如 下算出 : A 计算 KAB= yBxA mod q B 计算 KAB= yAxB mod q Diffie-Hellman Example users Alice & Bob who wish to swap keys: agree on prime q=353 and =3 select random sec

12、ret keys: A chooses xA=97, B chooses xB=233 compute public keys: yA=397 mod 353 = 40(Alice) yB=3233 mod 353 = 248(Bob) compute shared session key as: KAB= yBxA mod 353 = 24897 = 160(Alice) KAB= yAxB mod 353 = 40233 = 160(Bob)习题 假设Eve窃听到Alice和Bob的如下对话: Bob:我们不要DH协议里的素数了,也就是说不 作模运算了,那样会更简单 Alice:好吧,但我

13、们仍需要一个基,取3如何? Bob:好,我的公钥是27 Alice:我的是243 Alice和Bob的私钥是多少?共享密钥是多少?Diffie-Hellman密钥交换协议 本协议不能抵抗中间人攻击 需对公钥进行认证椭圆曲线密码学ECC 大多数公开密钥密码系统如RSA, D-H都使用具有非常大数 目的整数或多项式, 计算量大, 密钥和报文存储量也极大。 因此, 可以使用椭圆曲线密码系统ECC, 达到同样安全但位 数要小得多。 Symmetric scheme (key size in bits)ECC-based scheme (size of n in bits)RSA/DSA (modulus size in bits) 56112512 801601024 1122242048 1282563072 1923847680 25651215360 ECC的点加类似于模乘,ECC的倍乘类似于模 指数 ECC需要有对应于DLP的难解问题 Q=kP, Q, P属于Ep(a, b), kP 给定k, P, 容易计算Q=kP 但是给定Q, P, 求k难 这就是椭圆曲线上的离散对数问题 例如,给定曲线 y2=x3+ax+b mod p 及其上一点P,我们 可以通过连续自加k-1次计算 Q=kP。目前存在这样的快 速算法。 当Q已知时计算k,是一个难题。椭圆曲线密码学

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号