MD5 密码破解 碰撞 网站

2023-03-12,,

MD5反向查询网站 http://www.cmd5.com/
文件MD5值查询网站 http://www.atool.org/file_hash.php

个人对密码破解的理解

1、使用MD5对密码加密有什么用?
一个输入(密码明文)有唯一的一个输出(加密后的密文),但反过来,一个输出却对应无数个输入,所以,当你拿到一个输出时,不可能确定是哪个输入。也就是说,虽然你获取到了别人的密文,但是输入时要的是明文,你不可能通过密文反推明文,也就保证了安全。

2、那为什么这个网站还能通过密文破解出明文呢?
其实道理很简单,虽然一个输出对应无数个输入,但平时我们接触到的输入并不是无限的。比如很多网站对密码有一些特殊要求:只能为6-20位的字母、数字等符号的组合。就这么一条平常的限制,就将无限种可能的输入缩小到有限种可能的输入了。既然是有限的,那就可以把这些所有可能的输入及其对应的输出全部列出来(散列表),这时,当然就可以通过输出反推输入了。
且因为输出为32位,输入一般远低于32位,所以极有可能通过输出反推得到的输入是唯一的。

3、那MD5岂不是没有卵用了?
此言差矣。即使要求密码为8位,同时要求密码只能是字母和数字(共26+26+10=62种字符),那么通过排列组合出的字典的项数为:62^8,这尼玛已经是一个天文数字了,存储这个字典据说就需要TB级的磁盘阵列,这个号称最牛逼的密码破解网站目前也没收录这么多数据。
PS:这个网站宣传中说,"任何网站很难收录到8位小写字母,而本站全部收录8位小写字母+数字",也就是约等于36^8,两者相差(62/36)^8超过70倍

4、我们该怎么防止密码被破解呢?
首先根据他们的收录内容可以知道,"1-6位大小写字母+数字+特殊字符"是100%可以破解的,"11位以内的纯数字"是100%可以破解的,"9位以内的小写字母+数字"是很可能会被破解的。
另外,对于md5加密后再加密的情况,根据上面的分析(第2点),其实和加密一次的效果是完全一样的,很可能也是一一对应的。
不过,对于加密后加盐再加密的情况,在别人不知道salt的情况下,破解难度将大大加强。
结论就是:用户自己设置的密码不能低于8位,不能为纯数字+小写字母,建议包含大写字母,最好包含特殊字符;传输过程一定要加密后再加盐。

5、到目前为止,科学家们有没有找出不同的字符串而MD5相同的案例?
这个问题我百度、google、咨询大牛后都没有得到肯定的答案。
其实可能是因为:根据上面的分析,仅仅考虑字母和数字,在10位以内散列表中找到相同MD5的概率为64^10/64^32=1/64^22,这个概率可能是目前的科技水平很难接受的。
所以,虽然32位MD5值能组合出的序列个数是有限的,但这个有限的数在目前科技下却可以认为是个天文数字。
结论:可能没有找到,估计以目前的科技水平很难找到。

一位知乎网友的回答

1、算法的公开并不意味着不安全;RSA 的算法也是公开的,AES 也是公开的。现代密码学的安全性从不是靠算法的保密来保证的。
2、目前没有软件能有效地破解 MD5。大多数时候只是把常见字符串的 MD5 存了起来为彩虹表,然后直接反查。
3、再次强调 MD5 只是哈希,而不是加密。【MD5 是没有可能解密的】,因为一个 MD5 可能对应无数种可能的明文。
4、MD5 目前来说还是可以用的,尤其是考虑到合适的加盐以后可以解决大多数彩虹表带来的危险。当然现在已经很多人提倡用 SHA 系列的哈希算法取代 MD5。

MD5简介

HASH函数,又称杂凑函数,是在信息安全领域有广泛和重要应用的密码算法,它有一种类似于指纹的应用。在网络安全协议中,杂凑函数用来处理电子签名,将冗长的签名文件压缩为一段独特的数字信息,像指纹鉴别身份一样保证原来数字签名文件的合法性和安全性。SHA-1和MD5都是目前最常用的杂凑函数。经过这些算法的处理,原始信息即使只更动一个字母,对应的压缩信息也会变为截然不同的“指纹”,这就保证了经过处理信息的唯一性。为电子商务等提供了数字认证的可能性。

安全的杂凑函数在设计时必须满足两个要求:其一是寻找两个输入得到相同的输出值在计算上是不可行的(已知输入,【伪造】另一个输入),这就是我们通常所说的抗碰撞的;其二是找一个输入,能得到给定的输出在计算上是不可行的(已知输出,【破解】输入),即不可从结果推导出它的初始状态。现在使用的重要计算机安全协议,如SSL,PGP都用杂凑函数来进行签名,一旦找到两个文件可以产生相同的压缩值,就可以伪造签名,给网络安全领域带来巨大隐患。

MD5碰撞大事件--王小云

MD5就是这样一个在国内外有着广泛的应用的杂凑函数算法,它曾一度被认为是非常安全的。然而,王小云教授发现,可以很快的找到MD5的“碰撞”,就是两个文件可以产生相同的“指纹”。这意味着,当你在网络上使用电子签名签署一份合同后,还可能找到另外一份具有相同签名但内容迥异的合同,这样两份合同的真伪性便无从辨别。王小云教授的研究成果证实了利用MD5算法的碰撞可以严重威胁信息系统安全,这一发现使目前电子签名的法律效力和技术体系受到挑战。因此,业界专家普林斯顿计算机教授Edward Felten等强烈呼吁信息系统的设计者尽快更换签名算法,而且他们强调这是一个需要立即解决的问题。

2004年8月17日的美国加州圣巴巴拉的国际密码学会议(Crypto’2004)上,来自中国山东大学的王小云教授做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,公布了MD系列算法的破解结果。宣告了固若金汤的世界通行密码标准MD5的堡垒轰然倒塌,引发了密码学界的轩然大波。(注意:并非是真正的破解,只是加速了杂凑冲撞)

在2004年8月之前,国际密码学界对王小云这个名字并不熟悉。2004年8月,在美国加州圣芭芭拉召开的国际密码大会上,并没有被安排发言的王小云教授拿着自己的研究成果找到会议主席,没想到慧眼识珠的会议主席破例给了她15分钟时间来介绍自己的成果,而通常发言人只被允许有两三分钟的时间。王小云与助手展示了MD5、SHA-0及其他相关杂凑函数的杂凑冲撞。所谓杂凑冲撞指两个完全不同的讯息经杂凑函数计算得出完全相同的杂凑值。根据鸽巢原理,以有长度限制的杂凑函数计算没有长度限制的讯息是必然会有冲撞情况出现的。可是,一直以来,电脑保安专家都认为要任意制造出冲撞需时太长,在实际情况上不可能发生,而王小云等的发现可能会打破这个必然性。就这样,王小云在国际会议上首次宣布了她及她的研究小组的研究成果——对MD4、MD5、HAVAL-128和RIPEMD等四个著名密码算法的破译结果。

在公布到第三个成果的时候,会场上已经是掌声四起,报告不得不一度中断。报告结束后,所有与会专家对他们的突出工作报以长时间的掌声,有些学者甚至起立鼓掌以示他们的祝贺和敬佩。由于版本问题,作者在提交会议论文时使用的一组常数和先行标准不同,在发现这一问题之后,王小云教授立即改变了那个常数,在很短的时间内就完成了新的数据分析,这段有惊无险的小插曲更证明了他们论文的信服力,攻击方法的有效性,验证了研究工作的成功。

会议结束时,很多专家围拢到王小云教授身边,既有简短的探讨,又有由衷的祝贺,褒誉之词不绝。包含公钥密码的主要创始人R. L. Rivest和A. Shamir在内的世界顶级的密码学专家也上前表示他们的欣喜和祝贺。

MD5的设计者,同时也是国际著名的公钥加密算法标准RSA的第一设计者R.Rivest在邮件中写道:“这些结果无疑给人非常深刻的印象,她应当得到我最热烈的祝贺,当然,我并不希望看到MD5就这样倒下,但人必须尊崇真理。”

Francois Grieu这样说:“王小云、冯登国、来学嘉和于红波的最新成果表明他们已经成功破译了MD4、MD5、HAVAL-128、RIPEMD-128。并且有望以更低的复杂度完成对SHA-0的攻击。一些初步的问题已经解决。他们赢得了非常热烈的掌声。”

另一位专家Greg Rose如此评价:“我刚刚听了Joux和王小云的报告,王所使用的技术能在任何初始值下用2^40次hash运算找出SHA-0的碰撞。她在报告中对四种HASH函数都给出了碰撞,她赢得了长时间的起立喝彩,(这在我印象中还是第一次)。…… 她是当今密码学界的巾帼英雄。……(王小云教授的工作)技术虽然没有公开,但结果是无庸质疑的,这种技术确实存在。…… 我坐在Ron Rivest前面,我听到他评论道:‘我们不得不做很多的重新思考了。’”

针对王小云教授等破译的以MD5为代表的Hash函数算法的报告,美国国家技术与标准局(NIST)于2004年8月24日发表专门评论,评论的主要内容为:“在最近的国际密码学会议(Crypto 2004)上,研究人员宣布他们发现了破解数种HASH算法的方法,其中包括MD4,MD5,HAVAL-128,RIPEMD还有 SHA-0。分析表明,于1994年替代SHA-0成为联邦信息处理标准的SHA-1的减弱条件的变种算法能够被破解;但完整的SHA-1并没有被破解,也没有找到SHA-1的碰撞。研究结果说明SHA-1的安全性暂时没有问题,但随着技术的发展,技术与标准局计划在2010年之前逐步淘汰SHA-1,换用其他更长更安全的算法(如SHA-224、SHA-256、SHA-384和SHA-512)来替代。”

令世界顶尖密码学家想象不到的是,破解MD5之后,2005年2月,王小云教授又破解了另一国际密码SHA-1。因为SHA-1在美国等国际社会有更加广泛的应用,密码被破的消息一出,在国际社会的反响可谓石破天惊。换句话说,王小云的研究成果表明了从理论上讲电子签名可以伪造,必须及时添加限制条件,或者重新选用更为安全的密码标准,以保证电子商务的安全。

2005年8月,王小云、姚期智,以及姚期智妻子姚储枫(即为Knuth起名高德纳的人)联手于国际密码讨论年会尾声部份提出SHA-1杂凑函数杂凑冲撞演算法的改良版。此改良版使破解SHA-1时间缩短。
2006年6月8日,王小云教授于中国科学院第13次院士大会和中国工程院第8次院士大会上以“国际通用Hash函数的破解”获颁陈嘉庚科学奖信息技术科学奖。
2009年,冯登国、谢涛二人利用差分攻击,将MD5的碰撞算法复杂度从王小云的2^42进一步降低到【2^21】,极端情况下甚至可以降低至2^10。仅仅2^21的复杂度意味着即便是在2008年的计算机上,也只要几秒便可以找到一对碰撞。

MD5碰撞测试

下面这两个程序会在屏幕上打印出不同的字符
http://www.win.tue.nl/hashclash/SoftIntCodeSign/GoodbyeWorld-colliding.exe 
http://www.win.tue.nl/hashclash/SoftIntCodeSign/HelloWorld-colliding.exe 
但是它们的 MD5 都是一样的,用上面的网站进行计算后,他们的MD5值都为:【18fcc4334f44fed60718e7dacd82dddf】

这是几位密码学家使用“构造前缀碰撞法”(chosen-prefix collisions)来进行此次攻击(是王小云所使用的攻击方法的改进版本)。
他们所使用的计算机是一台 Sony PS3,且仅用了不到两天。
他们的结论:MD5 算法不应再被用于任何软件完整性检查或代码签名的用途!
另:现在,如果仅仅是想要生成 MD5 相同而内容不同的文件的话,在任何主流配置的电脑上用几秒钟就可以完成了。

这几位密码学家编写的"快速 MD5 碰撞生成器":
http://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5.exe.zip  
源码:
http://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5_source.zip 

网站简介

山东大学王小云教授发现了md5的碰撞原理震惊了世界,本站就是专门针对全球通用的md5等算法进行反向解密,实时查询拥有全世界最大的数据库,实测解密成功率在95%以上,有的用户已经超过了98%。目前世界上同类网站越来越多,但是我们一直保持着遥遥领先的优势。即使千万条以上的数据,我们一个小时就能解密到90%以上的水平,其余绝大部分时间都是为了提高哪怕一个百分点的成功率。本站帮您最大限度的恢复数据价值。

本站还支持dz、vb、mssql等实时查询和实时批量解密,此类带salt(加盐)的加密类型,由于算法的特殊性,一般方法无法建库,本站采用独特技术,在保证最高成功率的前提下,实现了实时批量解密,这在全球都是绝无仅有的,2010年正式上线以来,至今没有其它任何一家真正实现了此功能。
密文破解早已经变成了资金密集型和技术密集型的行业,本站在全球的领先优势持续扩大,在美国,在俄罗斯,在中国,行业内无人不识cmd5。有些密文只有本站可以破解,除此以外别无他法,如果本站不能破出,你就没有任何办法。   

本站的数据量比世界上任何其它网站都超过36倍以上,举个很简单的例子,任何网站很难收录到8位小写字母,而本站全部收录8位小写字母+数字。也就是说,本站数据95%以上都是全球独有的。

除此以外,本站筹建了独立服务器,收录了一批极为冷僻的数据,这些数据命中的几率非常低,因此相对成本要高出很多。但仍然按普通的计费。

网站收录内容

收录内容 说明 数量
1-6位大小写字母+数字+特殊字符 收录100% 大于  1400亿
7位小写字母+数字 收录100% 大于    783亿
8位小写字母+数字 收录100% 大于28211亿
9位小写字母 已收录30%,正在添加 大于14000亿
8-11位数字 收录100% 大于  1000亿
1-15位其它数据 部分收录 大于28000亿
1-20位 900G独家超大字典 大于    910亿

 

网站支持的密文类型及格式

密文类型 格式举例 说明
md5 e10adc3949ba59abbe56e057f20f883e
49ba59abbe56e057
标准md5,32位或16位
md5(md5($pass)) b80c9c5f86de74f0090fc1a88b27ef34 第一次加密后,结果转换成小写,对结果再加密一次
md5(md5(md5($pass))) e57941ff9000aedb44eb2fa13f6e3e3c 第一次加密后,结果转换成小写,对结果再加密一次,结果转换成小写,对结果再加密一次
MD5(MD5($pass)) bb7ff6177ee612ef9dc6acd3a9ea7ea9 第一次加密后,结果转换成大写,对结果再加密一次
MD5(MD5(MD5($pass))) 36d627bd562e83ab995fb1fdf59c95d9 第一次加密后,结果转换成大写,对结果再加密一次,结果转换成大写,对结果再加密一次
sha1 f03e8a370aa8dc80f63a6d67401a692ae72fa530 密文长度必须为40位
md4 c0a27f801162b8b862cd5f5a1a66e85a 32位
mysql 29596332026fd206 老MYSQL数据库用的,16位,且第1位和第7位必须为0-8
mysql5 b34c662f720236babfc1b3f75203a80e1009844a 新版本MySql数据库用的
md5($pass.$salt) 9393dc56f0c683b7bba9b3751d0f6a46:OTD6v4c8I3Zid2AL 在密码后附加一个字符串再加密。
md5($salt.$pass) 5610604c157ef1d0fb33911542e5b06f:zg
5610604c157ef1d0fb33911542e5b06f zg
在密码前附加一个字符串再加密。
md5(md5($pass).$salt);
VB;DZ
30e23a848506770eca92faed1bd9f3ec:gM5
30e23a848506770eca92faed1bd9f3ec gM5
cd1a0b2de38cc1d7d796b1d2ba6a954f:dc2bce
ad5f538296c0e05c26b85451fef9ea95:To!@35B%QS@)]U.DTy%fDm;SLwW58w
用于dz,vB等论坛程序,discuz的salt长度是6位,vBulletin的salt长度是3位或30位。
md5(md5($salt).md5($pass))
IPB
ac8dfc54ba110487b86ad6514328fd49:m@kZ} salt长度5位
sha1($salt.$pass) 9cea8c041ce88e0b2066343d819113005b80421c:2391
9cea8c041ce88e0b2066343d819113005b80421c 2391
用于SMF
Md5(Phpbb3) $H$912345678Mw/BjmincvnSS94/STawW/ Linux
Md5(Wordpress) $P$B12345678/c7bOMfLdQB9B/ypks8iB/ Linux
Md5(Unix) $1$12345678$kbapHduhihjieYIUP66Xt/ Linux
Des(Unix) af.kPXROLU9uY Linux
ntlm 71dd0709187df68befd20973fc23f973 Windows
Domain Cached Credentials 1aefd85a507965a6f1719e951b81d0f7 Windows
sha256 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918  
sha256($pass.$salt) 1ec82d9b57403e53fafcf0ad8a86db196d135ef7513443a985385d7c20bdbfbd:abcdabcd  
sha256($salt.$pass) a6a4ccd14c6b21c63b8a0d38cfb7ead3e5032c58fdea7cd8a4da901db9462088:abcdabcd
$sha256$abcdabcd$a6a4ccd14c6b21c63b8a0d38cfb7ead3e5032c58fdea7cd8a4da901db9462088
 

字符串1的各种签名

md5: c4ca4238a0b923820dcc509a6f75849b
md5(md5($pass)): 28c8edde3d61a0411511d3b1866f0636【对MD5加密后的数据加密】
md5(md5(md5($pass))): 40f5888b67c748df7efba008e7c2f9d2
md5(unicode): 06d49632c9dc9bcb62aeaef99612ba6b
md5(base64): xMpCOKC5I4INzFCab3WEmw==
mysql: 606717496665bcba
mysql5: e6cc90b878b948c35e92b003c792c46c58c4af40
ntlm: 69943c5e63b4d2c104dbbcc15138b72b
sha1: 356a192b7913b04c54574d18c28d46e6395428ab
sha1(sha1($psss)): 9c1c01dc3ac1445a500251fc34a15d3e75a849df
sha1(unicode): e91fe173f59b063d620a934ce1a010f2b114c1f3
sha1(md5($psss)): 0937afa17f4dc08f3c0e5dc908158370ce64df86
md5(sha1($psss)): 7055eced15538bfb7c07f8a5b28fc5d0
sha256: 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b
sha256(unicode): e79e418e48623569d75e2a7b09ae88ed9b77b126a445b9ff9dc6989a08efa079
sha256(md5($pass)): 08428467285068b426356b9b0d0ae1e80378d9137d5e559e5f8377dbd6dde29f
sha384: 47f05d367b0c32e438fb63e6cf4a5f35c2aa2f90dc7543f8a41a0f95ce8a40a313ab5cf36134a2068c4c969cb50db776
sha512: 4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a
md5(md5($pass).$salt);VB;DZ: 28c8edde3d61a0411511d3b1866f0636
md5($pass.$salt): c4ca4238a0b923820dcc509a6f75849b
md5($salt.$pass): c4ca4238a0b923820dcc509a6f75849b
md5($salt.$pass.$salt): c4ca4238a0b923820dcc509a6f75849b
md5($salt.md5($pass)): 28c8edde3d61a0411511d3b1866f0636
md5(md5($salt).$pass): 26478db11a74b3c8675f463fee30cba7
md5($pass.md5($salt)): 584c57e113e76778b0700646510b9a97
md5(md5($salt).md5($pass)): be4b3b08e33d66fc8b2759a05bf4e10e
md5(md5($pass).md5($salt)): c43681f661ca464b091da4b565efec99
md5(substring(md5($pass),8,16)): 62b0fdae03399e54
sha1($pass.$salt): 356a192b7913b04c54574d18c28d46e6395428ab
sha1($salt.$pass): 356a192b7913b04c54574d18c28d46e6395428ab
sha256($pass.$salt): 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b
sha256($salt.$pass): 6b86b273ff34fce19d6b804eff5a3f5747ada4eaa22f1d49c01e52ddb7875b4b
sha512($pass.$salt): 4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a
sha512($salt.$pass): 4dff4ea340f0a823f15d3f4f01ab62eae0e5da579ccb851f8db9dfe84c58b2b37b89903a740e1ee172da793a6e79d560e5f7f9bd058a12a280433ed6fa46510a

null

MD5 密码破解 碰撞 网站的相关教程结束。

《MD5 密码破解 碰撞 网站.doc》

下载本文的Word格式文档,以方便收藏与打印。