我已经搜索了很多MD5哈希冲突,但我只找到了二进制示例。我想找到两个UTF-8字符串,它们具有相同的MD5哈希。是否存在冲突,或者冲突只对二进制数据起作用?
发布于 2014-10-20 11:32:09
这绝对有可能:
仅凭这一点,这些冲突中的一些必然是有效的UTF-8字符串,但它们非常罕见,因为其中大多数都是随机二进制垃圾。
如果您绝对需要来查找这样的消息,我建议使用冲突查找器由Patrick Stach编写,它应该在几个小时内返回一对任意消息,或者我试图改进它。后者使用了王(第一个演示MD5碰撞例子的人)、Lian、Sasaki、Yajima和Klima在后来的论文中提出的技巧。
我认为您也可以在某种程度上使用长度扩展攻击,但它需要对MD5内部发生的事情有更深入的了解。
发布于 2014-10-06 19:12:22
有 UTF-8碰撞.从密码散列的本质来看,找到它们是有意的困难,即使是像MD5这样被破坏的散列。
您可以搜索MD5彩虹表,它可以用于密码破解,因此也可以用于UTF-8字符串。正如@alk所指出的,野蛮的搜索需要很长的时间。
发布于 2014-10-14 06:35:15
MD5哈希冲突(六角-从这里来)的典型示例:
电文1:
d131dd02c5e6eec4693d9a0698aff95c 2fcab58712467eab4004583eb8fb7f89
55ad340609f4b30283e488832571415a 085125e8f7cdc99fd91dbdf280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e2b487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080a80d1e c69821bcb6a8839396f9652b6ff72a70电文2
d131dd02c5e6eec4693d9a0698aff95c 2fcab50712467eab4004583eb8fb7f89
55ad340609f4b30283e4888325f1415a 085125e8f7cdc99fd91dbd7280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e23487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080280d1e c69821bcb6a8839396f965ab6ff72a70实际上,是有效的UTF-8字符串。它们不包含任何NULL字节,因此是UTF-8字符串。现在,它们毫无意义,解码后看起来就像垃圾:
电文1:
1i=\/ʵF~@X>U4 䈃%qAZQ%ɟ7<[>1V4[m6Sⴇ9cH͠3BW~Tp
Ƙ!e+o*p(有些字符是对照字符)
电文2:
1i=\/ʵF~@X>U4 䈃%AZQ%ɟr7<[>1V4[m6S49cH͠3BW~Tp(
Ƙ!eo*p(情况相同)
哦,在我忘记之前,下面是MD5哈希:
79054025255fb1a26e4bc422aef54eb4https://stackoverflow.com/questions/26217076
复制相似问题