<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>阅微堂 &#187; 密码学</title>
	<atom:link href="http://zhiqiang.org/blog/tag/%e5%af%86%e7%a0%81%e5%ad%a6/feed" rel="self" type="application/rss+xml" />
	<link>http://zhiqiang.org/blog</link>
	<description>理工科背景的证券从业人员</description>
	<lastBuildDate>Sun, 05 Feb 2012 03:59:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>RSA的SecureID token数据被偷了？</title>
		<link>http://zhiqiang.org/blog/memopad/secureid-token-was-stolen.html</link>
		<comments>http://zhiqiang.org/blog/memopad/secureid-token-was-stolen.html#comments</comments>
		<pubDate>Thu, 09 Jun 2011 04:23:41 +0000</pubDate>
		<dc:creator>zhiqiang</dc:creator>
				<category><![CDATA[记事本]]></category>
		<category><![CDATA[One-Time Passport]]></category>
		<category><![CDATA[RSA]]></category>
		<category><![CDATA[密码学]]></category>

		<guid isPermaLink="false">http://zhiqiang.org/blog/?p=2249</guid>
		<description><![CDATA[博客 » 记事本 » 密码学 » WSJ报道：RSA承认其数据被偷，4000万SecureID token需要被更新。中国银行银行密钥用的就是RSA生产，就是下图这玩意儿，手里有这玩意儿的同学们要小心了（当然，如果你的账户里的钱没有6位数以上，也不用太担心，毕竟网银的安全性不全依赖于这个设备）： SecureID token是一次性密码，原理很简单，小设备和服务器上保存了公共的seed，每次需要密码时...]]></description>
			<content:encoded><![CDATA[<p id="breadcrumb" class="breadcrumb"><a href="http://zhiqiang.org/blog/">博客</a> » <a href="http://zhiqiang.org/blog/category/memopad">记事本</a> » <a href='http://zhiqiang.org/blog/tag/%e5%af%86%e7%a0%81%e5%ad%a6'>密码学</a>  » </p><p><a href="http://online.wsj.com/article/SB10001424052702304906004576369990616694366.html?mod=djemalertTECH">WSJ报道</a>：RSA承认其数据被偷，4000万SecureID token需要被更新。中国银行银行密钥用的就是RSA生产，就是下图这玩意儿，手里有这玩意儿的同学们要小心了（当然，如果你的账户里的钱没有6位数以上，也不用太担心，毕竟网银的安全性不全依赖于这个设备）：</p>
<p><img src="http://si.wsj.net/public/resources/images/MK-BM573_RSA_G_20110606193315.jpg" alt="" /></p>
<p>SecureID token是<a href="http://zhiqiang.org/blog/science/computer-science/tcs-one-time-password-and-application-of-a-one-time-password.html">一次性密码</a>，原理很简单，小设备和服务器上保存了公共的seed，每次需要密码时，小设备用当前时间和seed产生一串数字（简单的hash算法即可做到），服务器上也用同样的算法进行验证。这里最关键的数据是这一串seed。目前从各个新闻上看来，RSA泄漏的便是它的seed数据库。</p>
<div><h4>相关文章</h4><ul><li><a href="http://zhiqiang.org/blog/science/computer-science/tcs-one-time-password-and-application-of-a-one-time-password.html">TCS：One-Time Password 一次性密码及其应用</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html">理论计算机初步：从hash函数到王小云的MD5破解</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/md5-collision-application.html">MD5碰撞的新玩意儿</a></li></ul></div>    <p></p>
    <hr noshade style="margin:0;height:1px" />
    <p>&copy; zhiqiang for <a href="http://zhiqiang.org/blog">阅微堂</a>, 2011. | <a href="http://zhiqiang.org/blog/memopad/secureid-token-was-stolen.html">&#38142;&#25509;</a> | <a href="http://zhiqiang.org/blog/memopad/secureid-token-was-stolen.html#comments">2 &#26465;&#35780;&#35770;</a></p>]]></content:encoded>
			<wfw:commentRss>http://zhiqiang.org/blog/memopad/secureid-token-was-stolen.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MD5碰撞的新玩意儿</title>
		<link>http://zhiqiang.org/blog/science/computer-science/md5-collision-application.html</link>
		<comments>http://zhiqiang.org/blog/science/computer-science/md5-collision-application.html#comments</comments>
		<pubDate>Mon, 03 Dec 2007 20:00:31 +0000</pubDate>
		<dc:creator>zhiqiang</dc:creator>
				<category><![CDATA[计算机科学]]></category>
		<category><![CDATA[MD5]]></category>
		<category><![CDATA[密码学]]></category>
		<category><![CDATA[王小云]]></category>

		<guid isPermaLink="false">http://zhiqiang.org/blog/posts/md5-collision-application.html</guid>
		<description><![CDATA[博客 » 计算机科学 » 密码学 » 在从hash函数到王小云的MD5破解我们介绍了hash函数的一些基本概念和MD5碰撞的一个&#8220;应用&#8221;，最近在这个问题上又有了新的进展。 Marc Stevens, Arjen Lenstra和Benne de Weger在这篇论文里给出了寻找Chosen-prefix碰撞的有效方法，这种碰撞指对任意给定的A, B，找到x, y，使得MD5(Ax) = MD5(By)，即可以找到碰撞，使得以任意两个字符串开头。 作者给出了两个...]]></description>
			<content:encoded><![CDATA[<p id="breadcrumb" class="breadcrumb"><a href="http://zhiqiang.org/blog/">博客</a> » <a href="http://zhiqiang.org/blog/category/science/computer-science">计算机科学</a> » <a href='http://zhiqiang.org/blog/tag/%e5%af%86%e7%a0%81%e5%ad%a6'>密码学</a>  » </p></p>
<p>在<a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html">从hash函数到王小云的MD5破解</a>我们介绍了hash函数的一些基本概念和MD5碰撞的一个&#8220;应用&#8221;，最近在这个问题上又有了新的进展。</p>
<p>Marc Stevens, Arjen Lenstra和Benne de Weger在<a href="http://www.win.tue.nl/hashclash/EC07v2.0.pdf" target="_blank">这篇论文</a>里给出了寻找Chosen-prefix碰撞的有效方法，这种碰撞指对任意给定的A, B，找到x, y，使得MD5(Ax) = MD5(By)，即可以找到碰撞，使得以任意两个字符串开头。</p>
<p>作者给出了两个非常有意思的应用，一个是<a href="http://www.win.tue.nl/hashclash/Nostradamus/" target="_blank">预测2008年美国大选结果</a>。其实是建立了12个PDF文档，它们的MD5完全相同，但显示内容却互不相同。这种效果在<a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html">从hash函数到王小云的MD5破解</a>已经讨论并实现了。</p>
<p>另一个就是<a href="http://www.win.tue.nl/hashclash/SoftIntCodeSign/" target="_blank">给出了两个具有同样MD5的可执行文件</a>。以后下载文件的时候即使有MD5验证也不一定是安全的了。</p>
<p>在这个结果之前，还有一个有意思的应用，<a href="http://dankaminsky.com/2008/07/27/to-answer-a-couple-of-questions/" target="_blank">[1]</a>和<a href="http://dankaminsky.com/2008/07/27/to-answer-a-couple-of-questions/" target="_blank">[2]</a>这两个网页具有相同的MD5值，但显示内容截然不同。想知道怎么实现的看看它们的源代码即可。</p>
<div><h4>相关文章</h4><ul><li><a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html">理论计算机初步：从hash函数到王小云的MD5破解</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/tcs-one-time-password-and-application-of-a-one-time-password.html">TCS：One-Time Password 一次性密码及其应用</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-preface.html">理论计算机初步：前言</a></li><li><a href="http://zhiqiang.org/blog/memopad/secureid-token-was-stolen.html">RSA的SecureID token数据被偷了？</a></li></ul></div>    <p></p>
    <hr noshade style="margin:0;height:1px" />
    <p>&copy; zhiqiang for <a href="http://zhiqiang.org/blog">阅微堂</a>, 2007. | <a href="http://zhiqiang.org/blog/science/computer-science/md5-collision-application.html">&#38142;&#25509;</a> | <a href="http://zhiqiang.org/blog/science/computer-science/md5-collision-application.html#comments">8 &#26465;&#35780;&#35770;</a></p>]]></content:encoded>
			<wfw:commentRss>http://zhiqiang.org/blog/science/computer-science/md5-collision-application.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>TCS：One-Time Password 一次性密码及其应用</title>
		<link>http://zhiqiang.org/blog/science/computer-science/tcs-one-time-password-and-application-of-a-one-time-password.html</link>
		<comments>http://zhiqiang.org/blog/science/computer-science/tcs-one-time-password-and-application-of-a-one-time-password.html#comments</comments>
		<pubDate>Wed, 01 Nov 2006 11:19:31 +0000</pubDate>
		<dc:creator>zhiqiang</dc:creator>
				<category><![CDATA[计算机科学]]></category>
		<category><![CDATA[hash函数]]></category>
		<category><![CDATA[MD5]]></category>
		<category><![CDATA[One-Time Passport]]></category>
		<category><![CDATA[RSA]]></category>
		<category><![CDATA[密码学]]></category>
		<category><![CDATA[理论计算机其它]]></category>

		<guid isPermaLink="false">http://zhiqiang.org/blog/474.html</guid>
		<description><![CDATA[博客 » 计算机科学 » 密码学 » 题外话：此篇隶属于理论计算机(TCS)系列。 昨天，RSA实验室的首席科学家Burt Kaliski（同时也是副总裁）给我们做了一个讲座，关于最新的One-Time Password的一些应用。开始讲的时候还不觉得有啥，后来想了一下，这玩艺儿还是挺有用的，怪不得RSA Lab对之这么看重。 One-Time Password，就是给用户端一个Token（可以是一个小电子设备的形式），与服务器...]]></description>
			<content:encoded><![CDATA[<p id="breadcrumb" class="breadcrumb"><a href="http://zhiqiang.org/blog/">博客</a> » <a href="http://zhiqiang.org/blog/category/science/computer-science">计算机科学</a> » <a href='http://zhiqiang.org/blog/tag/%e5%af%86%e7%a0%81%e5%ad%a6'>密码学</a>  » </p><p>题外话：此篇隶属于<a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-preface.html">理论计算机(TCS)系列</a>。</p>
<p>昨天，RSA实验室的首席科学家Burt Kaliski（同时也是副总裁）给我们做了一个讲座，关于最新的One-Time Password的一些应用。开始讲的时候还不觉得有啥，后来想了一下，这玩艺儿还是挺有用的，怪不得RSA Lab对之这么看重。</p>
<p>One-Time Password，就是给用户端一个Token（可以是一个小电子设备的形式），与服务器段共享了一个seed，利用这个seed，双方在相同时间能产生一个相同的password（比如使用hash函数处理seed + time——hash函数介绍见<a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html">从hash函数到王小云的MD5破解</a>），用户利用Token生成的密码登录服务器，服务器进行对比验证。</p>
<p>目前密码体系的不安全之处在于数据传输可能被监听，用户客户端可能存在木马，用户可能随手写下密码造成密码泄露等等。而利用上面的One-Time Password，即使这个密码被人非法获取，也不会造成损失。所以，这玩艺儿在银行的密码管理中是非常有用的，听说有银行已经开始使用此类技术。</p>
<p>Burt Kaliski此次讲座讲了One-Time Password的四个应用：</p>
<ul>
<li>How to authenticate to a laptop computer with an OTP token -- without storing long-term secrets on the computer
</li>
<li>How to use the same token to authenticate to multiple servers -- without sharing secrets among the servers or relying on a third party
</li>
<li>How to set up a strong, shared key between parties that only share a short OTP value
</li>
<li>How to protect OTPs against malware and MITM attacks</li>
</ul>
<p>这些比较技术化，不详述。</p>
<p>关于RSA实验室：RSA即鼎鼎有名的RSA公钥密码体系，在密码界举足轻重。讲座完毕之后，有人问起RSA的前途，Burt说RSA公钥密码体系已经发明30年了，估计还能用30年，因为估计30年后量子计算机已经有所突破（量子计算机下，RSA公钥密码体系所依赖的大数分解已经被证明是不安全的）。</p>
<p>记得Yao以前也多次提到，在未来15到20年，量子计算机必有所突破，是将来的大热门啊。也许我也应该去玩这个。</p>
<p>参考：</p>
<ul>
<li><a href="http://www.rsa.com:80/rsalabs/node.asp?id=2816" target="_blank">RSA Lab上的One-Time Password主页</a>
</li>
<li><a href="http://crypto.stanford.edu/TIPPI/" target="_blank">2nd Trustworthy Interfaces for Passwords and Personal Information Workshop</a></li>
</ul>
<div><h4>相关文章</h4><ul><li><a href="http://zhiqiang.org/blog/memopad/secureid-token-was-stolen.html">RSA的SecureID token数据被偷了？</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html">理论计算机初步：从hash函数到王小云的MD5破解</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/md5-collision-application.html">MD5碰撞的新玩意儿</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/game-theory-computing-nash-equilibrium.html">TCS: Game Theory &amp; 纳什均衡的计算</a></li></ul></div>    <p></p>
    <hr noshade style="margin:0;height:1px" />
    <p>&copy; zhiqiang for <a href="http://zhiqiang.org/blog">阅微堂</a>, 2006. | <a href="http://zhiqiang.org/blog/science/computer-science/tcs-one-time-password-and-application-of-a-one-time-password.html">&#38142;&#25509;</a> | <a href="http://zhiqiang.org/blog/science/computer-science/tcs-one-time-password-and-application-of-a-one-time-password.html#comments">3 &#26465;&#35780;&#35770;</a></p>]]></content:encoded>
			<wfw:commentRss>http://zhiqiang.org/blog/science/computer-science/tcs-one-time-password-and-application-of-a-one-time-password.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>理论计算机初步：从hash函数到王小云的MD5破解</title>
		<link>http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html</link>
		<comments>http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html#comments</comments>
		<pubDate>Mon, 18 Sep 2006 12:51:01 +0000</pubDate>
		<dc:creator>zhiqiang</dc:creator>
				<category><![CDATA[计算机科学]]></category>
		<category><![CDATA[hash函数]]></category>
		<category><![CDATA[MD5]]></category>
		<category><![CDATA[SHA-1]]></category>
		<category><![CDATA[密码学]]></category>
		<category><![CDATA[王小云]]></category>
		<category><![CDATA[理论计算机初步]]></category>

		<guid isPermaLink="false">http://zhiqiang.org/blog/446.html</guid>
		<description><![CDATA[博客 » 计算机科学 » 理论计算机初步 » 系列：理论计算机初步 查看该系列所有文章 密码学是理论计算机的一个很大的方向。之前准备先写密码学概论再提在hash函数破解上做出重大贡献的王小云教授的工作，不过前两天王小云获得求是杰出科学家奖以及100万奖金，在媒体上又掀起了一轮宣传狂潮，但是有些报道极端弱智，错误百出，所以我趁机纠正一下，并介绍密码学的一...]]></description>
			<content:encoded><![CDATA[<p id="breadcrumb" class="breadcrumb"><a href="http://zhiqiang.org/blog/">博客</a> » <a href="http://zhiqiang.org/blog/category/science/computer-science">计算机科学</a> » <a href='http://zhiqiang.org/blog/tag/%e7%90%86%e8%ae%ba%e8%ae%a1%e7%ae%97%e6%9c%ba%e5%88%9d%e6%ad%a5'>理论计算机初步</a>  » </p><div class="series"><span>系列：<b>理论计算机初步</b></span><br/>
<a href="http://zhiqiang.org/blog/tag/%e7%90%86%e8%ae%ba%e8%ae%a1%e7%ae%97%e6%9c%ba%e5%88%9d%e6%ad%a5">查看该系列所有文章</a>
<div id='series'></div>
</div>  <p>密码学是理论计算机的一个很大的方向。之前准备先写密码学概论再提在hash函数破解上做出重大贡献的王小云教授的工作，不过前两天<a target="_blank" href="http://www.stdaily.com/404.htm">王小云获得求是杰出科学家奖以及100万奖金</a>，在媒体上又掀起了一轮宣传狂潮，但是有些报道极端弱智，错误百出，所以我趁机纠正一下，并介绍密码学的一个组成部分——hash函数，以及王小云在这上面的工作。</p>
<p>王小云的主要工作是关于hash函数的破解工作。她在2005一个密码学会议上宣布破解了SHA-1，震惊了全世界。所以要介绍和理解她的工作，先看一下hash函数具体是怎么回事。</p>
<p>简单的说，<strong>hash函数</strong>就是<font color="#ff0000">把任意长的输入字符串变化成固定长的输出字符串</font>的一种函数。通俗得说，hash函数用来生成信息的摘要。输出字符串的长度称为hash函数的<strong>位数</strong>。</p>
<p>目前应用最为广泛的hash函数是<strong><a href="http://en.wikipedia.org/wiki/SHA_hash_functions">SHA-1</a></strong>和<strong><a target="_blank" href="http://en.wikipedia.org/wiki/Md5">MD5</a></strong>，大多是128位和更长。</p>
<p>hash函数在现实生活中应用十分广泛。很多下载网站都提供下载文件的MD5码校验，可以用来判别文件是否完整。另外，比如在WordPress的数据库，所有密码都是保存的MD5码，这样即使数据库的管理员也无法知道用户的原始密码，避免隐私泄露（很多人在不同地方都是用的同一个密码）。</p>
<p>如果两个输入串的hash函数的值一样，则称这两个串是一个<strong>碰撞</strong>(<strong>Collision</strong>)。既然是把任意长度的字符串变成固定长度的字符串，所以，必有一个输出串对应无穷多个输入串，碰撞是必然存在的。</p>
<p>一个“优良”的hash函数 <em>f </em>应当满足以下三个条件：</p>
<ul>
<li>任意y，找x，使得f(x)=y，非常困难。</li>
<li>给定x1，找x2，使得f(x1)=f(x2)，非常困难。</li>
<li>找x1，x2，使得f(x1)=f(x2)，非常困难。</li>
</ul>
<p>上面的“非常困难”的意思是除了枚举外不可能有别的更快的方法。比如第3条，根据<a target="_blank" href="http://en.wikipedia.org/wiki/Birthday_paradox">生日定理</a>，要想找到这样的x1，x2，理论上需要大约2^(n/2)的枚举次数。</p>
<p>几乎所有的hash函数的破解，都是指的破坏上面的第三条性质，即找到一个碰撞（前两条都能被破坏的hash函数也太弱了点，早就被人抛弃了）。在密码学上还有一个概念是<strong>理论破解</strong>，指的是提出一个算法，使得可以用低于理论值得枚举次数找到碰撞。</p>
<p>王小云的主要工作是给出了MD5，<a target="_blank" href="http://en.wikipedia.org/wiki/SHA_hash_functions">SHA-0</a>的碰撞，以及SHA-1的理论破解，她证明了160位SHA-1，只需要大约2^69次计算就能找出来，而理论值是2^80次。她的寻找MD5碰撞的方法是极端高效的。传说王小云当时在会议上把碰撞写出来，结果被下面的人验证发现不对，原来她把MD5算法的一个步骤弄错了。但是她立马联系她的当时留在中国的学生，修正算法，并找到一个新的碰撞。这一个是对的。</p>
<p>看到这里，那些认为中国国安局应该将这些结果封存作为秘密武器甚至幻想用这些成果来袭击美国之徒可以停住你们的YY了。这种形式上的破解，在大多数情况下没有实际性的作用。更别提MD5早就被美国人抛弃了。</p>
<p>但是，说这种破解一点实际意义都没有，那就侮辱了广大密码学家的智商，密码学家不会无缘无故的弄出碰撞这么一个概念来。下面简单的介绍一下在特定情况下，怎么利用给定的碰撞来做坏事(翻译自<a target="_blank" href="http://th.informatik.uni-mannheim.de/people/lucks/HashCollisions/">Attacking Hash Functions</a>)：</p>
<p>Caesar给实习生Alice叫写了一封推荐信(letter)。同一天，Alice叫Caesar在推荐信上数字签名，并提供了一份推荐信的电子板。Caesar打开文件，发现和原件一模一样。所以他在文件上签了名。</p>
<p>几个月后，Caesar发现他的秘密文件被非法察看。这到底是怎么回事呢？</p>
<p align="center"><a href="http://www.cits.rub.de/imperia/md/content/magnus/letter_of_rec.ps"><img border="0" align="top" alt="letter" src="http://www.cits.rub.de/imperia/md/content/magnus/letter.png" /> </a><a href="http://www.cits.rub.de/imperia/md/content/magnus/order.ps"><img border="0" align="top" alt="order" src="http://www.cits.rub.de/imperia/md/content/magnus/order.png" /></a><br />
<img border="0" align="top" alt="(apply MD5 to both documents)" src="http://www.cits.rub.de/imperia/md/content/magnus/samehash.png" /><br />
a25f7f0b 29ee0b39 68c86073 8533a4b9</p>
<p>事实上，Alice要求Caesar签名的文件<a target="_blank" href="http://www.cits.rub.de/imperia/md/content/magnus/letter_of_rec.ps">letter</a>已经被Alice做了手脚，准确地说，Alice还准备了另外一个文件<a target="_blank" href="http://www.cits.rub.de/imperia/md/content/magnus/order.ps">order</a>，它们的MD5码完全一致。而Caesar的数字签名还依赖于MD5算法，所以Alice用order文件替换Letter文件之后，Caesar的数字签名依然有效。那封order给Alice提供了察看秘密文件的权限。</p>
<p>具体的实现方法可见<a target="_blank" href="http://www.cits.rub.de/imperia/md/content/magnus/rump_ec05.pdf">Hash Functions and the Blind Passenger Attack</a>。我在这里简单的解释一下(只是大致思路，具体实现方式，需要对文件结构信息有所了解)：</p>
<p>letter文件的内容是：</p>
<blockquote>
<p align="left">if(x1==x1) show "letter" else show "order"</p>
</blockquote>
<p>order文件的内容是：</p>
<blockquote>
<p align="left">if(x2==x1) show "letter" else show "order"</p>
</blockquote>
<p>其中字符串"letter"和"order"代表两封信实际显示的内容。x1，x2是一个MD5的碰撞。</p>
<p>上面的方法，只供参考和学术用途，实际使用所引起的后果概不负责。</p>
<p>参考：</p>
<ul>
<li><a target="_blank" href="http://th.informatik.uni-mannheim.de/people/lucks/HashCollisions/">Attacking Hash Functions by Poisoned Messages "The Story of Alice and her Boss"</a></li>
<li><a target="_blank" href="http://en.wikipedia.org/wiki/Hash_function">Hash function</a>, wikipedia</li>
<li><a target="_blank" href="http://en.wikipedia.org/wiki/SHA_hash_functions">SHA</a>, wikipedia</li>
<li>Interview with Yiqun Lisa Yin concerning the attack on SHA-1</li>
</ul>
<p>PS：我跟王小云老师的接触很少，上过俩次她的讨论班而已，亦感觉到王小云老师的严谨和耐心。在去年一个Turing奖获得者的演讲上，王小云提问的时候竟口而出“I ask who”的中式英语，在引起哄笑的同时，我也极端佩服她的勇气。也许只有这样才能做出非常好的工作吧。</p>
<p>PS2: wikipedia在国内可以通过<a target="_blank" href="http://sites.google.com/site/mathzqy/fd62.exe">free_door</a>浏览。</p>
<div><h4>相关文章</h4><ul><li><a href="http://zhiqiang.org/blog/science/computer-science/tcs-one-time-password-and-application-of-a-one-time-password.html">TCS：One-Time Password 一次性密码及其应用</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/md5-collision-application.html">MD5碰撞的新玩意儿</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-preface.html">理论计算机初步：前言</a></li><li><a href="http://zhiqiang.org/blog/memopad/secureid-token-was-stolen.html">RSA的SecureID token数据被偷了？</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-p-vs-np-an-overview-of-the-problem.html">理论计算机初步：P vs NP - 问题概述</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-p-vs-np-past-present-and-future.html">理论计算机初步：P vs NP - 历史，现状和未来</a></li><li><a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-approximation-algorithms-and-probability-algorithm.html">理论计算机初步：概率算法和近似算法</a></li></ul></div>    <p></p>
    <hr noshade style="margin:0;height:1px" />
    <p>&copy; zhiqiang for <a href="http://zhiqiang.org/blog">阅微堂</a>, 2006. | <a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html">&#38142;&#25509;</a> | <a href="http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html#comments">32 &#26465;&#35780;&#35770;</a></p>]]></content:encoded>
			<wfw:commentRss>http://zhiqiang.org/blog/science/computer-science/preliminary-computer-theory-xiao-yun-wang-from-the-hash-function-to-crack-md5.html/feed</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
	</channel>
</rss>

