第9章公钥密码学与RSA.ppt

上传人:本田雅阁 文档编号:2553304 上传时间:2019-04-07 格式:PPT 页数:26 大小:671.01KB
返回 下载 相关 举报
第9章公钥密码学与RSA.ppt_第1页
第1页 / 共26页
第9章公钥密码学与RSA.ppt_第2页
第2页 / 共26页
第9章公钥密码学与RSA.ppt_第3页
第3页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第9章公钥密码学与RSA.ppt》由会员分享,可在线阅读,更多相关《第9章公钥密码学与RSA.ppt(26页珍藏版)》请在三一文库上搜索。

1、第9章 公钥密码学与RSA,公钥密码学,是密码学一次伟大的革命 1976年,Diffie和Hellman 在“密码学新方向”一文中提出 使用两个密钥:公密钥、私密钥 加解密的非对称性 利用数论的方法 是对对称密码的重要补充,公钥密码学解决的基本问题,密钥交换 对称密码进行密钥交换的要求: 已经共享一个密钥 利用密钥分配中心 数字签名 与传统的签名比较,公钥密码体制,重要特点 仅根据密码算法和加密密钥来确定解密密钥在计算上不可行 两个密钥中的任何一个都可用来加密,另一个用来解密。 六个组成部分: 明文、密文;公钥、私钥; 加密、解密算法,公钥密码体制,公钥密码体制的加密功能,A向B发消息X, B

2、的公钥为KUb,私钥为KRb 加密 Y = EKUb(X) 解密 X = DKRb(Y),公钥密码体制的加密,公钥密码体制的认证,A向B发送消息X A的公钥为KUa,私钥为KRa “加密”: Y = EKRa(X) (数字签名) “解密”: X = DKUa(Y) 注意:不能保证消息的保密性,公钥密码体制的认证,具有保密与认证的公钥体制,对称密码 公钥密码,关于公钥密码的几种误解,公钥密码比传统密码安全? 公钥密码是通用方法,所以传统密码已经过时? 公钥密码实现密钥分配非常简单?,RSA算法,由MIT的 Rivest, Shamir & Adleman 在 1977 提出 最著名的且被广泛应用

3、的公钥加密体制 明文、密文是0到n-1之间的整数,通常n的大小为1024位或309位十进制数,RSA算法描述,加密: C=Me mod N, where 0MN 解密: M=Cd mod N 公钥为(e,N), 私钥为(d,N) 必须满足以下条件: Med = M mod N 计算Me和Cd是比较容易的 由e和n确定d是不可行的,RSA 密钥产生过程,随机选择两个大素数 p, q 计算 N=p.q 注意 (N)=(p-1)(q-1) 选择 e使得1e(N),且gcd(e,(N)=1 解下列方程求出 d e.d=1 mod (N) 且 0dN 公布公钥: KU=e,N 保存私钥: KR=d,p,

4、q,RSA 的使用,发送方要加密明文M: 获得接收方的公钥 KU=e,N 计算: C=Me mod N, where 0MN 接收方解密密文C: 使用自己的私钥 KR=d,N 计算: M=Cd mod N 注意:M必须比N小,为什么RSA 可以加解密,因为 Euler 定理的一个推论: Mk(n)1 = M mod N RSA 中: N=p.q (N)=(p-1)(q-1) 选择 e & d 使得ed1 mod (N) 因此 存在k使得e.d=1+k.(N) 因此 Cd = (Me)d = M1+k.(N) = M mod N,RSA Example,Select primes: p=17 c

5、hoose e=7 Determine d: de=1 mod 160 and d 160 Value is d=23 since 237=161= 10160+1 Publish public key KU=7,187 Keep secret private key KR=23,17,11,RSA Example cont,sample RSA encryption/decryption is: given message M = 88 (nb. 88187) encryption: C = 887 mod 187 = 11 decryption: M = 1123 mod 187 = 88

6、,模幂运算,模幂运算是RSA中的主要运算 (a mod n) (b mod n) mod n = (a b) mod n 利用中间结果对n取模,实现高效算法,Exponentiation,RSA 密钥生成,必须做 确定两个大素数: p, q 选择e或者d,并计算d或者e 素数测试是重要的算法 由e求d要使用到扩展Euclid算法,RSA 的安全性,三种攻击 RSA的方法: 强力穷举密钥 数学攻击 :实质上是对两个素数乘积的分解 时间攻击:依赖解密算法的运行时间,因子分解问题,三种数学攻击方法 分解 N=p.q, 因此可计算出 (N),从而确定d 直接确定(N),然后找到d 直接确定d 大家相信

7、:由N确定(N)等价于因子分解,Timing Attacks,developed in mid-1990s exploit timing variations in operations eg. multiplying by small vs large number or IFs varying which instructions executed infer operand size based on time taken RSA exploits time taken in exponentiation countermeasures use constant exponentiation time add random delays blind values used in calculations,Summary,have considered: principles of public-key cryptography RSA algorithm, implementation, security,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1