破解MD5和SHA-1不意味密码破解
要问当今众生,在日常生活中什么对你最重要,什么让你最头痛?相信很多人的回答是密码。“请您输入密码,请再输一遍”,无论是在银行柜台还是在网上冲浪,这样的提示对我们已是司空见惯。银行密码、登录密码、邮箱密码、各种游戏的密码、各个用户名的密码……密码已是世人生活中不可或缺的一部分。最近有关山东大学王小云教授破解MD5和SHA-1报道频频见诸报端,使人们对电子信息的安全性颇为关注,密码真的不可靠了吗?
何谓破解
信息安全国家重点实验室教授、密码学专家翟起滨在办公室平静地告诉记者:“MD5和SHA-1属于散列算法,从设计原理来讲,就有产生碰撞的可能,王小云教授的方法缩短了找到碰撞的时间,是一项重要的成果。但她找到的是强无碰撞,要能找到弱无碰撞,才算真正破解,才有实际意义。”
根据密码学的定义,如果内容不同的明文,通过散列算法得出的结果(密码学称为信息摘要)相同,就称为发生了“碰撞”。散列算法的用途不是对明文加密,让别人看不懂,而是通过对信息摘要的比对,防止对原文的篡改。
作为中国出席“Crypto′2004”和“RSA 2005”年会的唯一正式代表,翟起滨教授特别强调:“碰撞分为‘强无碰撞’和‘弱无碰撞’。强无碰撞是无法产生有实际意义的原文的,也就无法篡改和伪造出有意义的明文。”通过强无碰撞伪造一个谁也看不懂的东西,没有实际意义。翟教授还让记者浏览了“RSA 2005”年会的会议摘要,国际密码学专家沙米尔(Shamir)在“RSA 2005”年会上就王小云教授找到一对强无碰撞发表观点:“这是个重要的事情,但不意味着密码被破解。”
现实无忧
“找到一对强无碰撞和找到有实际意义的碰撞,是有本质区别的。”翟教授认为破解的说法不确切。他介绍说:“在‘RSA 2005’年会上,专家们认为SHA-1目前绝对安全,再使用5~10年没问题,计划在2010年以后考虑更换。”
我们知道理论上破解密码的方法,如果要在现实中实现,需要通过超级计算机海量的计算,所需时间一般是成千上万年。


