第9章钥密码学与RSA_第1页
第9章钥密码学与RSA_第2页
第9章钥密码学与RSA_第3页
第9章钥密码学与RSA_第4页
第9章钥密码学与RSA_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、ub,私钥为krbn加密 y = ekub(x)n解密 x = dkrb(y) 公钥密码体制的加密公钥密码体制的认证na向b发送消息xna的公钥为kua,私钥为kran“加密”: y = ekra(x) (数字签名)n“解密”: x = dkua(y) n注意:不能保证消息的保密性公钥密码体制的认证具有保密与认证的公钥体制 对称密码 公钥密码一般要求:一般要求:1、加密解密用相同的密钥2、收发双方必须共享密钥安全性要求:安全性要求:1、密钥必须保密2、没有密钥,解密不可行3、知道算法和若干密文不足以确定密钥一般要求:一般要求:1、加密解密算法相同,但使用不同的密钥2、发送方拥有加密或解密密钥,

3、而接收方拥有另一个密钥安全性要求:安全性要求:1、两个密钥之一必须保密2、无解密密钥,解密不可行3、知道算法和其中一个密钥以及若干密文不能确定另一个密钥关于公钥密码的几种误解n公钥密码比传统密码安全?n公钥密码是通用方法,所以传统密码已经过时?n公钥密码实现密钥分配非常简单?rsa算法n由mit的 rivest, shamir & adleman 在 1977 提出n最著名的且被广泛应用的公钥加密体制 n明文、密文是0到n-1之间的整数,通常n的大小为1024位或309位十进制数rsa算法描述n加密: c=me mod n, where 0mnn解密: m=cd mod n n公钥为(

4、e,n), 私钥为(d,n)n必须满足以下条件:nmed = m mod nn计算me和cd是比较容易的n由e和n确定d是不可行的rsa 密钥产生过程n随机选择两个大素数 p, q n计算 n=p.qn注意 (n)=(p-1)(q-1) n选择 e使得1e(n),且gcd(e,(n)=1 n解下列方程求出 d ne.d=1 mod (n) 且 0dn n公布公钥: ku=e,n n保存私钥: kr=d,p,q rsa 的使用n发送方要加密明文m:n获得接收方的公钥 ku=e,n n计算: c=me mod n, where 0mnn接收方解密密文c:n 使用自己的私钥 kr=d,n n计算:

5、m=cd mod n n注意:m必须比n小为什么rsa 可以加解密n因为 euler 定理的一个推论:nmk(n)1 = m mod nnrsa 中:nn=p.qn(n)=(p-1)(q-1) n选择 e & d 使得ed1 mod (n) n因此 存在k使得e.d=1+k.(n)n因此cd = (me)d = m1+k.(n) = m mod n rsa example1.select primes: p=17 & q=112.compute n = pq =1711=1873.compute (n)=(p1)(q-1)=1610=1604.select e : gcd(e,

6、160)=1; choose e=75.determine d: de=1 mod 160 and d 160 value is d=23 since 237=161= 10160+16.publish public key ku=7,1877.keep secret private key kr=23,17,11rsa example contnsample rsa encryption/decryption is: ngiven message m = 88 (nb. 88187)nencryption:c = 887 mod 187 = 11 ndecryption:m = 1123 m

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

8、接确定dn大家相信:由n确定(n)等价于因子分解timing attacksndeveloped in mid-1990snexploit timing variations in operationsneg. multiplying by small vs large number nor ifs varying which instructions executedninfer operand size based on time taken nrsa exploits time taken in exponentiationncountermeasuresnuse constant exponentiation timenadd random delaysnblind v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论