扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:赛迪网 来源:赛迪网安全社区 2007年10月16日
关键字:
在本页阅读全文(共5页)
例如,若系统中有n个用户,其中每两个用户之间需要建立密码通信,则系统中每个用户须掌握(n-1)/2个密钥,而系统中所需的密钥总数为n*(n-1)/2 个。对10个用户的情况,每个用户必须有9个密钥,系统中密钥的总数为45个。对100个用户来说,每个用户必须有99个密钥,系统中密钥的总数为4950个。这还仅考虑用户之间的通信只使用一种会话密钥的情况。如此庞大数量的密钥生成、管理、分发确实是一个难处理的问题。
本世纪70年代,美国斯坦福大学的两名学者迪菲和赫尔曼提出了一种新的加密方法--公开密钥加密队PKE方法。与传统的加密方法不同,该技术采用两个不同的密钥来对信息加密和解密,它也称为"非对称式加密方法。每个用户有一个对外公开的加密算法E和对外保密的解密算法D,
它们须满足条件:
(1)D是E的逆,即D[E(X)]=X;
(2)E和D都容易计算。
(3)由E出发去求解D十分困难。
从上述条件可看出,公开密钥密码体制下,加密密钥不等于解密密钥。加密密钥可对外公开,使任何用户都可将传送给此用户的信息用公开密钥加密发送,而该用户唯一保存的私人密钥是保密的,也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种算法设计在实际上是不可能的,或者虽然能够推算出,但要花费很长的时间而成为不可行的。所以将加密密钥公开也不会危害密钥的安全。
数学上的单向陷门函数的特点是一个方向求值很容易,但其逆向计算却很困难。许多形式为Y=f(x)的函数,对于给定的自变量x值,很容易计算出函数Y的值;而由给定的Y值,在很多情况下依照函数关系f(x)计算x值十分困难。例如,两个大素数p和q相乘得到乘积n比较容易计算,但从它们的乘积n分解为两个大素数p和q则十分困难。如果n为足够大,当前的算法不可能在有效的时间内实现。
正是基于这种理论,1978年出现了著名的RSA算法。这种算法为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。
RSA算法的加密密钥和加密算法分开,使得密钥分配更为方便。它特别符合计算机网络环境。对于网上的大量用户,可以将加密密钥用电话簿的方式印出。如果某用户想与另一用户进行保密通信,只需从公钥簿上查出对方的加密密钥,用它对所传送的信息加密发出即可。对方收到信息后,用仅为自己所知的解密密钥将信息脱密,了解报文的内容。由此可看出,RSA算法解决了大量网络用户密钥管理的难题。
RSA并不能替代DES,它们的优缺点正好互补。 RSA的密钥很长,加密速度慢,而采用DES,正好弥补了RSA的缺点。即DES用于明文加密,RSA用于DES密钥的加密。由于DES加密速度快,适合加密较长的报文;而RSA可解决DES密钥分配的问题。美国的保密增强邮件(PEM)就是采用了RSA 和DES结合的方法,目前已成为E-MAIL保密通信标准。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。