|

楼主 |
发表于 2019-9-8 15:08
|
显示全部楼层
本帖最后由 luyuanhong 于 2019-9-8 15:18 编辑
破解SHA-1
问 :您又是如何破解 SHA-1 的?
王 :2004年 11月,多伯丁请我去他那里访问。他是德国波鸿大学的教授,当时欧洲密码工程的总体负责人。多伯丁是研究 Hash 函数的著名专家,就是他首次给出 MD4 的碰撞结果,他评估过 SHA-0,所以比较了解 SHA-0 和 SHA-1 的安全性。和我交流时,他预测了2005年密码领域的两个重要工作,其中一个工作他希望 SHA-1 可以被破到 57 步,当时其他人只能破到 40 步。我当时心想自己肯定能找到 57 步的碰撞,便随口说了回去试试。其实破解 SHA-1 我们只用了不到 3 个月,这期间发生了很多有趣和不可思议的事情。当时美国国家标准与技术研究院(NIST) 密码的技术负责人公开说 MD5 虽然被破解了,但是 SHA-1 还没发现任何安全隐患,结果没过几天就被我们给破解了。
从德国回来后我对于红波说要把 SHA-1 分析到 57 步。SHA-1 有一个不好的地方,它存在不可能差分。有一些看似很好的攻击路线(差分路线),但是会在某个比特产生矛盾,这样的路线是行不通的,因为不可能一个比特方程等于 1 和 0 同时并存。后来有一天我跟学生聊天说,如果把不可能变成可能就好了,学生说这是不可能的事。后来学生走了,我花了两周时间什么都不干,把不可能差分变为可能差分,这样整个攻击就成功了,剩下的就是编程找到一个 57 步的实例了,并给出全算法的攻击路线。
在山东大学工作(2005年)
问 :后面应该很顺利了吧。
王 :也不尽然。我开始让学生协助编程,编好后把山大数学院的机房的所有电脑停下来运行 SHA-1。当时寒假已经开始,我让学生把程序弄好后回家,由我来负责监督计算机的运行。春节前的一天,我陪爱人去看望了他的导师曲音波老师,曲老师已经知道我破解 MD5 的事情非常高兴。那时济南已经冰天雪地,曲老师非要出门送我们回去,一直送到了高架桥上,我说还要回山大查看程序运行结果,那些程序已经运行 8 天了。按照道理,那么多电脑一天就可以运行出来。结果到了山大以后,我发现一个结果都没有出来,我失望之下便把所有电脑都给关了,然后就回家了。
回家之后我开始检测程序的问题。我一步一步地检测,一般是满足 32 个方程需要运行计算 2 的 32 次算法,它的运算速度与我的分析完全不吻合,肯定是编程出问题了。后来我发现 4 个自由变量,x1是 32 个比特的自由变量,x2 是 32 个比特的自由变量,x3 是 32 个比特的自由变量,x4也是 32 个比特的自由变量,这样一共是 2^128 的信息量。编程出现的问题是,x1 赋予 a,x2 赋予 b,x3 赋予 c,x4 则是 x1, x2, x3 的组合,这样其实还是 3 个自由变量,等于浪费了 32 个比特的信息。由于还有很多其它方程,这些方程也要占据一些信息量,所以合在一起信息量可能只有 2 的 40-50次方,这样肯定搜索不出来结果。
我把信息量改过来之后,所有程序的运行就如我估计的那样。一开始十分钟出一个缩短轮的破解结果,一个小时出一个更多轮的破解结果,如果一个小时出的结果没问题,那说明后面的攻击路线就不会有问题了。我利用自己仅有的一台电脑,用大量的数学方程控制它出我想要的结果。比如我设 47 步,15 分钟就出来了结果;再比如我设 49 步,半个小时就出来了我想要的结果;我又挑战 50 步,我判断一个小时的运行时间,结果一个小时出来两三个。在等待这些结果的时候,我就在那里玩“蜘蛛纸牌”。说来奇怪,那天晚上每一局我都赢了。第二天我在有 64 个 CPU 的计算机上运行计算所有步数的结果。
问 :您又是如何公布破解 SHA-1 结果的?
王 :最后就是写论文了。展涛校长知道我们破解 SHA-1 后,对此事非常关心,在论文完成的最后阶段和投稿期间给予高度关注。
我们是在 05 年 2 月 14 号投稿给美密会,把论文发给了沙米尔与李维斯特。这之后还有一个故事,2 月 15 日正好世界 RSA 大会召开,这个会议的规模很庞大,有上万人参加,正式注册的有几千人。比尔盖茨等一些公司的总裁都要作演讲。其中有一个密码讨论板块,由五位顶级的密码专家(包括三位图灵奖得主沙米尔、李维斯特和迪菲),基本上都是现代密码学的奠基人,要介绍密码学的最新进展,SHA-1 自然是要讨论的。沙米尔收到我们的论文后,便给我们(王小云、于红波、尹伊群)写信,询问是否允许他们帮我们宣布这一破解结果。尹伊群打电话找我,表示她已经同意,我也表示了同意,那时我正在农村老家休息,也不怎么上网,结果又翻天了,全世界都在报道。事后从发布的视频得知宣布时间 7 分钟。沙米尔认为 SHA-1 的破解将引起轩然大波。
与比哈姆教授讨论 Hash 函数(2005年欧密会)
问 :Hash 函数破解对业界带来的影响以及国际同行的评价是什么?
王 :针对 MD5 和 SHA-1 的破解,美国 NIST 于 2005 年和 2006 年专门举办两次研讨会探讨 MD5 和 SHA-1 破解带来的安全威胁,研究征集新的 Hash 函数标准的竞争策略,并出台了 Hash 函数新标准 SHA-3 的五年设计工程。针对我们对 SHA-1 破解的进一步改进结果,NIST 发文宣布王教授确实发现了 SHA-1 的实际碰撞攻击。2006 年 3 月 15 日,NIST 出台了 Hash 函数新政策, 规定美国联邦机构应该停止 SHA-1 在数字签名、数字时间戳以及其他基于 SHA-1 无碰撞特性的密码应用,并在 2010 年以后使用 SHA-2。美国数学会发表“数学与网络安全”专栏文章,介绍了 14 世纪以来包括图灵,沙米尔等五位图灵奖得主在内的 19 位密码学家的工作,我是其中之一。
2005年获得欧密会最佳论文
国际密码专家也对我们的工作给予了高度评价,如图灵奖得主李维斯特评价“鉴于哈希函数毁灭性攻击,必须采用新的算法取代 SHA-1”;国际密码学会前主席 Preneel 等多篇论文给予评价:“王等攻击暴露了当前被广泛采纳和部署的 Hash 函数 SHA-1 的安全漏洞”;“王等突破性工作引发了该领域理论研究与结构设计的研究热潮”。AES 的发明者之一 Vincent Rijmen 评价“对 Hash 函数攻击结果的公布,重新唤起了该类密码算法设计与分析的兴趣”;沙米尔评价“MD5 的破解成果是 2004 年度密码学研究领域中最了不起的发展,并对该领域的理论研究及实际应用产生了极大的影响”;Arjen K.Lenstra 评价:“全世界的其他密码学家现在仍然在努力试图跟上王教授,理解她的结果和方法,这对于正确地估价其影响是至关重要的。”
2005年受聘成为杨振宁讲座教授(左起:杨振宁、王小云、顾秉林)
十年坚守,方得始终。面对这些褒奖,虽然它们是对我研究成果的认可,但我更认为这是对我团队的肯定,是对我国密码学界工作的肯定。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|