欢迎来到天天文库
浏览记录
ID:15916276
大小:4.94 MB
页数:38页
时间:2018-08-06
《公钥密码学与rsa(ppt-38)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Chapter9公钥密码学与RSA《计算机与网络安全》2021/8/27西安电子科技大学计算机学院2§9.1公钥密码体制的基本原理传统密码体制只使用一个密钥收发双方共享这个单一的密钥密钥是对称的,双方是对等的;因此,不能确保接收方伪造信息,并声称是该信息是发送方发送的2021/8/27西安电子科技大学计算机学院3对称密码体制的缺陷2021/8/27西安电子科技大学计算机学院4公钥密码体制密码学发展历史中最伟大的一次革命采用两个密钥:一个公钥,一个私钥参与方不对等,所以是非对称的;基于数论中的结论是
2、私钥密码的补充而不是代替2021/8/27西安电子科技大学计算机学院5为什么需要公钥密码?两个考虑:密钥分配-KDC数字签名公认该发明属于StanfordUni的WhitfieldDiffie和MartinHellman,于1976年。"NewDirectionsinCryptography",IEEETrans.InformationTheory,IT-22,pp644-654,Nov1976JamesEllis(UKCESG)在1970年曾提出此概念2021/8/27西安电子科技大学计算机学院
3、6公钥密码体制公钥/双钥/非对称密码都是指使用两个密钥:公钥:可以对任何人公开的密钥,用于加密消息或验证签名。私钥:只能由接收者私存,用于解密消息或签名。非对称用于加密消息或验证签名的人不能进行消息的解密或消息的签名。2021/8/27西安电子科技大学计算机学院7公钥密码体制2021/8/27西安电子科技大学计算机学院82021/8/27西安电子科技大学计算机学院9公钥密码体制特点公钥密码算法依赖于:仅仅知道算法和加密密钥,推导解密密钥计算上是不可行的已知加解密密钥时,进行加解密运算计算上是容易的
4、两个密钥中的任何一个都可以用来加密,而另一个用来解密。2021/8/27西安电子科技大学计算机学院10公钥密码体制特点公钥密码算法应该满足的条件:产生一对密钥(公、私钥对)在计算上是容易的;已知公钥和要加密的消息,发送方产生相应的密文在计算上容易的;接收方使用其私钥对接收的密文解密以恢复明文在计算上是容易的;已知公钥时,攻击者要确定私钥在计算上不可行的;已知公钥和密文,攻击者要恢复明文在计算上不可行的;加密和解密函数的顺序可以交换(有用但非必要)。2021/8/27西安电子科技大学计算机学院11单
5、向陷门函数单向陷门函数:若k和X已知,则容易计算Y=fk(X).若k和Y已知,则容易计算X=fk-1(Y).若Y已知但k未知,则计算出X=fk-1(Y)是不可行的.寻找合适的单向陷门函数是公钥密码体制应用的关键单向陷门函数举例:离散对数大整数分解背包问题2021/8/27西安电子科技大学计算机学院12公钥密码体制:保密性和认证2021/8/27西安电子科技大学计算机学院13公钥算法分类Public-KeyDistributionSchemes(PKDS)用于交换秘密信息(依赖于双方主体)常用于对称
6、加密算法的密钥PublicKeyEncryption(PKE)用于加密任何消息任何人可以用公钥加密消息私钥的拥有者可以解密消息任何公钥加密方案能够用于密钥分配方案PKDS许多公钥加密方案也是数字签名方案SignatureSchemes用于生成对某消息的数字签名私钥的拥有者生成数字签名任何人可以用公钥验证签名2021/8/27西安电子科技大学计算机学院14公钥密码体制的应用分为三类:加密/解密(提供保密性)数字签名(提供认证)密钥交换(会话密钥)一些算法可用于上述三类,而有些只适用用于其中一类或两类
7、。2021/8/27西安电子科技大学计算机学院152021/8/27西安电子科技大学计算机学院16公钥密码体制安全性分析一样存在穷举攻击但所使用的密钥一般都非常大(>512bits)安全性基于容易(加解密)和困难(破译)之间巨大的差别许多算法没有得到证明是安全的。(包括RSA)需要采用一些特别大的数字与私钥密码体制相比,速度慢。2021/8/27西安电子科技大学计算机学院17RSA1977由MIT的Rivest,Shamir和Adleman发明已知的且被广泛使用的公钥密码方案有限域中的乘方运算乘方
8、运算需要O((logn)3)操作(容易的)使用一些大的整数(例如.1024bits)安全性基于大数的素因子分解的困难性素因子分解需要O(elognloglogn)操作(困难的)2021/8/27西安电子科技大学计算机学院182021/8/27西安电子科技大学计算机学院192021/8/27西安电子科技大学计算机学院20RSA密钥的建立每一个用户通过以下方法产生一个公钥/私钥对:随机地选择两个大的素数p,q计算方案中的模数n=p.qø(n)=(p-1)(q-1)随机地选择一个加密密钥
此文档下载收益归作者所有