公钥密码体制精讲ppt课件.ppt
《公钥密码体制精讲ppt课件.ppt》由会员分享,可在线阅读,更多相关《公钥密码体制精讲ppt课件.ppt(78页珍藏版)》请在三一办公上搜索。
1、1,第6章,非对称密码体制,2,学习要点:了解非对称密码体制的提出背景、基本思想了解非对称密码体制的基本应用方向了解三种典型的公钥密码体制 DH密钥交换算法RSA,3,61概述,问题的提出: 密钥管理困难传统密钥管理两两分别用一对密钥时,则n 个用户需要C( n, 2)= n( n- 1)/ 2 个密钥,当用户量增大时密钥空间急剧增大。如:n= 100 时C( 100,2)= 4,995n= 5000 时C( 5000,2)= 12,497,500陌生人间的保密通信问题 数字签名的问题传统加密算法无法实现抗抵赖的需求,4,5,6.1.1 公钥密码体制,公钥密码又称为双钥密码、非对称密码公钥密码
2、体制提出的标志性文献:W.Diffie and M.E.Hellman, New Directions in Cryptography, IEEE Transaction on Information Theory, V.IT-22.No.6, Nov 1976, PP.644-654,6,7,6.1.2 对公钥密码体制的要求,(1)参与方B容易通过计算产生一对密钥(公开密钥KUb和私有密钥KRb)。(2)在知道公开密钥和待加密报文M的情况下,对于发送方A,很容易通过计算产生对应的密文:CEKUb(M)(3)接收方B使用私有密钥容易通过计算解密所得的密文以便恢复原来的报文:MDKRb(C)DK
3、Rb(EKUb(M),8,(4)敌对方即使知道公开密钥KUb,要确定私有密钥KRb在计算上是不可行的。(5)敌对方即使知道公开密钥KUb和密文C,要想恢复原来的报文M在计算上也是不可行的。(6)加密和解密函数可以以两个次序中的任何一个来使用: (这条不是所有公开密钥体系都适用,如DSA只用于数字签名) M = DKRb(EKUb(M) M = EKUb(DKRb (M),9,6.1.3 单向陷门函数,满足公钥密码体制,要设计一单向陷门函数单向陷门函数是满足下列条件的函数f:(1)给定x,计算y=fpk(x)是容易的(2)给定y, 计算x使x=f-1sk(y)是困难的(3)知道密钥Sk的情况下,
4、反向计算是容易的 x=f-1sk(y),注:1 仅满足(1)、(2)两条的称为单向函数;第(3)条称为陷门性,Sk称为陷门信息。 2 当用陷门函数f作为加密函数时,可将加密密钥pk公开。f函数的设计者将Sk保密,用作解密密钥。由于加密函数是公开的,任何人都可以将信息X加密成y=fpk(x) ,然后送给函数的设计者(当然可以通过不安全信道传送);由于设计者拥有Sk,他自然可以解出x=f-1sk(y) 。 3 单向陷门函数的第(2)条性质表明窃听者由截获的密文y=fpk(x)推测x是不可行的。,11,12,生活中的例子将挤出的牙膏弄回管子里比把牙膏挤出来困难得多;燃烧一张纸要比使它从灰烬中再生容易
5、得多把盘子打碎成数千片碎片很容易,把所有这些碎片再拼成为一个完整的盘子则很难。,13,数学上(有很多函数看起来和感觉像单向函数,能够有效地计算它们,但我们至今未找到有效的求逆算法。)将许多大素数相乘要比将其乘积因式分解容易得多。 我们把离散对数函数、RSA函数作为单向函数来使用,但是,目前还没有严格的数学证明表明所谓这些单向函数真正难以求逆,即单向函数是否存在还是未知的,14,单向函数不能用作加密。因为用单向函数加密的信息是无人能解开它的。但我们可以利用具有陷门信息的单向函数构造公开密钥密码。,15,6.1.4 公开密钥密码系统的分析方法,强行攻击(对密钥)。公开密钥算法本身可能被攻破。可能报
6、文攻击(对报文本身的强行攻击)。,16,6.1.5 公钥密码系统的应用,加密/解密数字签名会话密钥交换,17,18,19,6-2 Diffie-Hellman密钥交换算法,Diffie-Hellman密钥交换算法的有效性依赖于计算有限域中离散对数的困难性。本原元离散对数,20,本原元(原根),对于一个素数q,如果数值: , ,是各不相同的整数,并且以某种排列方式组成了从1到q-1的所有整数则称整数a是素数q的一个本原元,21,离散对数,对于一个整数b和素数q的一个本原元a, 可以找到一个唯一的指数i,使得: b=ai mod q (0 i q-1) 成立,则指数i称为b的以a为底数的模q的离散
7、对数。,22,23,一个素数q和一个整数a(均公开),a是q的一个原根用户A选择一个随机数XAq,计算 用户B选择一个随机数XBq,计算 每一方都对X的值保密存放而使得Y的值对于另一方可以公开得到用户A计算密钥: 用户B计算密钥:双方以K作为加、解密密钥,以对称密钥算法进行保密通信,Diffie-Hellman密钥交换算法,24,DH例子,素数q=97,它的一个本原元a=5A和B分别选择随机数Xa=36和Xb=58A计算公开密钥:Ya=536 mod 97=50 mod 97 B计算公开密钥:Yb=558 mod 97=44 mod 97 A计算会话密钥:K= 4436 mod 97=75 m
8、od 97B计算会话密钥:K= 5058 mod 97=75 mod 97,25,63RSA,由Rivest,Shamir和Adleman在1978年提出来的数学基础:Euler定理,并建立在大整数因子分解的困难性之上,26,明文空间P 密文空间C = Zn (剩余类集合)密钥的生成为了产生两个密钥,选取两个大素数,p和q。为了获得最大程度的安全性,两数的长度一样。计算乘积: n = pq,RSA密码体制描述,27,然后随机选取加密密钥e,使e和(p-1)(q-1)互素。最后用欧几里德扩展算法计算解密密钥d,以满足: ed1 mod (p-1)(q-1)则 d= e-1 mod ( (p-1)
9、(q-1) )注意:e和n是公开的,公钥KU=e,np和q不再需要,但不可泄露 私钥KR=d,n,28,加密 (用e,n)明文:Mn 密文:C=Me (mod n)解密 (用d,n)密文:C 明文:M=Cd (mod n),29,RSA加密/解密,30,算法分析,密钥生成时,要求n很大,攻击者要将其成功的分解为p*q是困难的。(大因子分解困难性)RSA的加密函数 C=Me mod n 是一个单向函数接收方,拥有私钥,解密容易,证明:M=Cd mod n=(Me mod n)d mod n=M 在ed=1 mod (n) 条件下成立M = Cd mod n= (Me mod n)d mod n=
10、Med mod n = M1+k (n) mod n= M (M(n)k mod n= M (M(n) mod n) k mod n (根据欧拉定理注5)= M 1k mod n= M ( Mn),ed=1 mod (n),k为整数 ed-1=k (n)ed=k (n)+1,31,若Bob选择了p=7和q17则n=119, (n)=61696253,一个正整数e能用作加密指数,当且仅当e不能被2,3所整除假设Bob选择e=5,那么用辗转相除法将求得: d=e -1 77(mod 96)Bob的解密密钥d=77,119,公开5,119 现假设Alice想发送明文19给Bob,RSA的例子,32,
11、Alice能否直接发送1234给Bob?,例2:p=47, q=61, (n)=(47-1)(61-1)=2760时,SK=167是否为秘密密钥的候选者? 用欧氏算法计算:gcd(2760,167)=1即可证明。,用RSA算法加密与解密的过程:例:明文=“RSA ALGORITHM”(1) 明文用数字表示 空白=00, A=01, B=02, , Z=26 (两位十进制数表示)1819 0100 0112 0715 1809 2008 1300(2) 利用加密变换公式 C=mPK mod r, 即C = 18191223 mod 2867=2756PK=1223=10011000111 =21
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码 体制 ppt 课件

链接地址:https://www.31ppt.com/p-1314852.html