欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

如何面对最强算法MD5被破译

程序员文章站 2022-06-28 08:29:43
一、MD5是何方神圣? 所谓MD5,即"Message-Digest Algorithm 5(信息-摘要算法)",它由MD2、MD3、MD4发展而来的一种单向函数算法(也就是HASH算法),它是国际著名的公... 08-10-08...
一、md5是何方神圣?
所谓md5,即"message-digest algorithm 5(信息-摘要算法)",它由md2、md3、md4发展而来的一种单向函数算法(也就是hash算法),它是国际著名的公钥加密算法标准rsa的第一设计者r.rivest于上个世纪90年代初开发出来的。md5的最大作用在于,将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前"压缩"成一种保密的格式,关键之处在于——这种"压缩"是不可逆的。
为了让读者朋友对md5的应用有个直观的认识,笔者以一个比方和一个实例来简要描述一下其工作过程:
大家都知道,地球上任何人都有自己独一无二的指纹,这常常成为*机关鉴别罪犯身份最值得信赖的方法;与之类似,md5就可以为任何文件(不管其大小、格式、数量)产生一个同样独一无二的"数字指纹",如果任何人对文件做了任何改动,其md5值也就是对应的"数字指纹"都会发生变化。
我们常常在某些软件下载站点的某软件信息中看到其md5值,它的作用就在于我们可以在下载该软件后,对下载回来的文件用专门的软件(如windows md5 check等)做一次md5校验,以确保我们获得的文件与该站点提供的文件为同一文件。利用md5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。 笔者上面提到的例子只是md5的一个基本应用,实际上md5还被用于加密解密技术上,如unix、各类bsd系统登录密码(在md5诞生前采用的是des加密算法,后因md5安全性更高,des被淘汰)、通信信息加密(如大家熟悉的即时通信软件myim)、数字签名等诸多方面。
二、md5的消亡之路
实际上,从md5诞生之日起,来自美国名为van oorschot和wiener的两位密码学专家就发现了一个暴力搜寻冲突的函数,并预算出"使用一个专门用来搜索md5冲突的机器可以平均每24天就找到一个冲突"。不过由于该方案仅仅从理论上证明了md5的不安全性,且实现的代价及其夸张(当时要制造这种专门的计算机,成本需要100万美元),于是md5自其诞生十多年来一直未有新版本或者被其它算法彻底取代。
在接下来的日子里,有关md5的破译又诞生了"野蛮攻击",也就是用"穷举法"从所有可能产生的结果中找到被md5加密的原始明文,不过由于md5采用128位加密方法,即使一台机器每秒尝试10亿条明文,那么要破译出原始明文大概需要10的22次方年,而一款名为"md5爆破工具"的软件,每秒进行的运算仅仅为2万次!
经过无数md5算法研究专家的努力,先后又诞生了"生日攻击"、"微分攻击"等多种破译方法(相关信息大家可以参考研究成果,大大推进了md5算法消亡的进程。尽管在研究报告中并没有提及具体的实现方法,我们可以认为,md5被彻底攻破已经扫除了技术上的障碍,剩下的仅仅是时间和精力上的问题。/" target=_blank>http://www.md5crk.com)。此次山东大学几位教授的最新研究成果,大大推进了md5算法消亡的进程。尽管在研究报告中并没有提及具体的实现方法,我们可以认为,md5被彻底攻破已经扫除了技术上的障碍,剩下的仅仅是时间和精力上的问题。
三、md5完蛋了,放在银行的存款还安全吗?
由于md5应用极其广泛,即使是在银行数字签名证书中,它依然占据着比较重要的地位,此次md5被成ζ埔氲男挛湃貌簧俨幻魉缘娜烁械?恐惧",认为这是对整个密码界的彻底颠覆,甚至有人开始担心"自己放在银行或者网络银行账户中的存款也有被盗取的可能"。
其实这种忧虑完全是杞人忧天,以目前主流的网络银行的加密技术为例,它们都构建于pki(pubic key infrastructure,公钥加密技术)平台之上,与公钥成对的私钥只掌握在与之通信的另一方,这一"信任关系"是通过公钥证书来实现的。pki的整个安全体系由加密、数字签名、数据完整性机制等技术来共同保障,其密码算法包括对称密码算法(如des、3des)、公开密钥密码算法(如ecc、rsa),即使在同样有应用的hash算法方面,目前网络银行所采用的大多是sha-1算法,该算法与md5的128位加密相比,使用了160位加密方式,比md5安全性高不少。
其实,就目前网络银行的安全隐患来看,更多的是来自客户接入端(如web入口),而非银行的加密技术本身。
四、md5的继承者们
"天下没有不透风的墙",实际上任何一种算法都会有其漏洞,即使是目前大行其道的md5和sha-1,当对漏洞的研究发展到其能够被有效利用时,则标志着该算法灭亡的时候到了。所谓"天下无不散之筵席",md5逐渐退出历史舞台后,下一个接任者又会是谁呢?
实际上,长期以来,密码界一直在致力于对新加密算法的研究,而且在高度机密的安全领域,所采用的加密算法也绝非md5,各国*、各大公司都在研究拥有独立技术的加密算法,其中比较出色的代表有sha-1、sha-224等。此次md5破译报告发表后,美国国家技术与标准局(nist)表示,鉴于md5被破译以及sha-1漏洞被发现,他们将逐渐放弃目前使用的sha-1,于2010年前逐步推广更安全的sha-224、sha-256、sha-384和sha-512。这些算法与md5的128位加密相比,加密位数和安全性能都提高了很多倍。
尽管md5被淘汰已经成为必然,不过鉴于它开源以及免费的特性,而且目前还没有真正有效的快速破解方法,因此它还将继续在历史舞台活跃一段时间。