gpt4 book ai didi

hash-collision - 难道是 'easy'导致MD5冲突?

转载 作者:行者123 更新时间:2023-12-04 13:35:32 25 4
gpt4 key购买 nike

来自 this page it appears you can do 5 billion hashes per second .这是否意味着不难引起碰撞?如果我想创建一个具有特定 MD5 或 SHA1 的文件,可能需要多长时间?

根据我的数学计算(使用 2^160)它仍然需要很长时间,但据我所知,它不是 2^160 来暴力破解 160 位 sha1 哈希

最佳答案

如果每秒 50 亿个哈希值是真的,这意味着您可以在大约45 211 226 851 851 851 851 852 年内创建/“反转”一个哈希值(这样您会更好趁你还年轻就开始吧)

这个假设背后的数学原理

  • 一个 MD5 哈希有 2^128 种可能的组合
  • 每秒 50 亿表示秒数 = 2^128/(5 * 10^9)
  • 大约 10^30 秒
  • 大约 45 211 226 851 851 851 851 852 年

结论:从大爆炸开始,您将需要 3 万亿台计算机 - 而今天您将拥有 MD5 哈希。

暴力破解和密码学

在谈到密码学时,暴力破解绝不是答案。一旦是,它只是意味着加密算法不够强大,即没有足够的位。这发生在DES ,它有一个 56 位 key - 这还不够。

此外,请注意,256 位不是 128 位的“两倍”! 256 位实际上是 128 位的 2^128 倍。

2^256 / 2^128 = 2^128

怎么MD5碰撞还是会发生!

因此,通过暴力破解,你哪儿也去不了,永远!不管你有多少台电脑。剩下的唯一选择就是用数学来攻击算法。

世界各地的密码分析师和数学家都对此进行了研究。

他们设法通过破解算法在合理的时间内创建了 MD5 冲突。不要问我他们是如何做到这一点的,但这里有一个例子:

d131dd02c5e6eec4 693d9a0698aff95c 2fcab58712467eab 4004583eb8fb7f8955ad340609f4b302 83e488832571415a 085125e8f7cdc99f d91dbdf280373c5bd8823e3156348f5b ae6dacd436c919c6 dd53e2b487da03fd 02396306d248cda0e99f33420f577ee8 ce54b67080a80d1e c69821bcb6a88393 96f9652b6ff72a70

具有相同的MD5
d131dd02c5e6eec4 693d9a0698aff95c 2fcab50712467eab 4004583eb8fb7f8955ad340609f4b302 83e4888325f1415a 085125e8f7cdc99f d91dbd7280373c5bd8823e3156348f5b ae6dacd436c919c6 dd53e23487da03fd 02396306d248cda0e99f33420f577ee8 ce54b67080280d1e c69821bcb6a88393 96f965ab6ff72a70

缺陷:彩虹表

所以你不能反转散列,但是有像md5cracker这样的彩虹表。 .他们有一个庞大的字符串(通常是密码)及其哈希数据库。因此,如果您使用简单的密码,您可以在那里查找哈希值。

尝试查找这个散列:

5a8dd3ad0756a93ded72b823b19dd877

因此,如果您将密码的 MD5 存储在数据库中,那么向其添加盐是一个聪明的主意。例如,您存储 md5("salt1234"+ password) 而不是 md5(password)。或者,更好的是,您为每个用户使用不同的盐,因此没有人甚至可以看到哪些用户共享相同的密码。

这里的结论请注意,即使您不能反转散列,您仍然可以查找一个散列,这对于像上面这样的未加盐的散列来说很容易。

黑客电影及其行为通常依赖暴力破解。但这根本不是事实!

关于hash-collision - 难道是 'easy'导致MD5冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25707277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com