创建您自己的MD5碰撞 [英] Create your own MD5 collisions
问题描述
我针对MD5的碰撞一个presentation,我想给人们任何想法怎么可能发生碰撞。
I'm doing a presentation on MD5 collisions and I'd like to give people any idea how likely a collision is.
这将是很好的有两个文本块,哈希同样的事情,并解释了多少[A-ZA-Z]的组合还需要之前,我打了一个碰撞。
It would be good to have two blocks of text which hash to the same thing, and explain how many combinations of [a-zA-Z ] were needed before I hit a collision.
答案显然是哈希每个可能的组合,直到投中两个哈希值是相同的。所以,你会如何去了解编码这一点。作为一个快速的实验我想散列[AZ] 5列的每个组合,存储这在.NET哈希表和追赶碰撞例外。两个问题 - 哈希表最终超时,我pretty的肯定,我会需要更多的字符
The obvious answer is hash every possible combination until hit two hashes the same. So how would you go about coding this. As a quick experiment I tried hashing every combination of 5 columns of [A-Z], storing this in a .net hashtable and catching the collision exception. Two problems with this - the hashtable eventually times out, and I'm pretty sure I'm going to need A LOT more characters.
显然,这个数据结构是太大,处理在内存中,所以现在我不得不涉足的数据库。此外听起来是个好项目,以测试出蔚蓝的 - 有点像<一个href="http://blogs.msdn.com/stevecla01/archive/2009/01/09/hooking-up-windows-azure-to-wikipedia.aspx">these球员的。
Obviously this data structure is too big to handle in memory, so now I'll have to get a database involved. Also sounds like a good project to test out azure - a bit like these guys.
任何人都可以点我的方向的这样做的效率的办法吗?
Can anyone point me in the direction of an efficient way of doing this?
推荐答案
这些下面的两个不同的128字节序列的散列到相同的:
These following two different 128 byte sequences hash to the same:
MD5哈希:79054025255fb1a26e4bc422aef54eb4
MD5 Hash: 79054025255fb1a26e4bc422aef54eb4
下面的差异突出显示(黑体)。很抱歉它是一种很难看。
The differences below are highlighted (bold). Sorry it's kind of hard to see.
d131dd02c5e6eec4693d9a0698aff95c 2fcab58712467eab4004583eb8fb7f89
55ad340609f4b30283e488832571415a 085125e8f7cdc99fd91dbdf280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e2b487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080a80d1e c69821bcb6a8839396f9652b6ff72a70
和
d131dd02c5e6eec4693d9a0698aff95c 2fcab50712467eab4004583eb8fb7f89
55ad340609f4b30283e4888325f1415a 085125e8f7cdc99fd91dbd7280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e23487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080280d1e c69821bcb6a8839396f965ab6ff72a70
碰撞/块1的可视化(来源: Links.Org )
碰撞/块2的可视化(来源: Links.Org )
The visualization of the collision/block2 (Source: Links.Org)
这篇关于创建您自己的MD5碰撞的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!