王小云破解了美国密码吗?

王小云院士破译美国密码的消息曾经被传播得铺天盖地,这事是真的吗?

王小云确实是很了不起,她的科研成果也绝对是世界级的重大成就。但是,与破译美国密码毫不沾边。

王小云的工作成果是实现了MD5和SHA1两种Hash算法的碰撞,即“给定一个Hash值,可以构造出一个文件,其Hash值刚好等于事先给定的数据”,如果称为破解了这两种Hash算法还算说得过去,但不能称为破解了密码。Hash是数字摘要算法,并不是加密算法,破解Hash算法对签名验证构成威胁,但是对破译出数据明文毫不相关。

破解Hash算法的威胁在于:对于一个人签名的文件,通过制造Hash碰撞“编造”出另一个文件,也可以顺利通过验签,从而认定这个人也对这个新文件做了签名。但这个破解也没有表面上看起来那么严重。例如,如果用MD5算法对一个word文件计算Hash值用于签名,MD5倍破解后可以编造出另一个文件具有相同的MD5值,但新文件就不可能也是一个能被Word打开的文件了。所以对于一般的文档文件还是风险不大的。如果想要让编造出的文件具有特定的内容(例如篡改美军作战指令),那就更做不到了。

王小云的工作成果是十几年前就产生的,当时我跟她有过交流,她本人也认同以上的观点。王小云成果的最大意义是证实了学术界对这MD5/SHA1这两个Hash算法安全性的担忧。也就是说,在王小云取得这项成果之前,密码学界已经普遍认识到这两个Hash算法可能是不够安全的,很多专业的密码安全体系设计人员早就弃用这两个Hash算法,王小云的成果是证实了这两个算法确实如大家所担忧的那样不够安全。

当然,也不能走另外一个极端认为“破解Hash算法”没有实用价值。如果被破解的Hash算法是用于对密钥计算Hash值,由于密钥可以是任意随机数,就可以编造出新的密钥通过认证,对数字证书、密钥管理都会构成严重的安全威胁。这就是当年得知她的工作成果后我立即跟她交流讨论的原因。我们当时讨论的结论有两个:

  1. 用SHA256算法较为安全,这也是中本聪的选择
  2. 双Hash方法更为安全(要让第一个hash值碰撞后还能做到第2个hash值也同时碰撞,那就比碰撞出一个能打开的Word文件还要难),这就是YottaChain采用不同Hash算法分别计算数据的明文Hash值和密文Hash值的原因之一(另一个原因是为了防止假冒数据攻击)

你可能感兴趣的:(数据安全,密码学)