基于MD5的密码学基础

  由于前段时间有点小忙,所以没有及时更新本周的内容,抱歉。但为了不至于一拖再拖,所以还是赶快为大家带来每周的更新,在之前的文章中,看到有朋友对CMD5网站(不是广告)质疑,又想到目前没有提到过关于密码学的东西,就给大家说一下吧。本文仅适合对加密解密感兴趣的新手!

  首先,在这里我要为CMD5网站正名一下,作为目前数据量中国第1的MD5查询网站,CMD5具有庞大的数据量,破解的成功率也很高,具体的就不多说了。

基于MD5的密码学基础_第1张图片
CMD5


基于MD5的密码学基础_第2张图片
毕竟要吃饭


下面我简单介绍一下关于MD5的知识。为什么选择MD5作为讲解?安全!高效!

MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

  是不是看着就很麻烦?没关系,上面引用的百度,但这里我要介绍下散列(哈希,hash),它是一种将任意长输入的长度,转换为固定长度的输出的方法,通常用作密文加密算法中,它往往保证散列空间小于输入空间,由于散列空间长度固定(16 32 64位密文等等),所以很难通过散列值来进行破解。通过hash再看MD5就知道,如果要通过暴力破解有多么麻烦,如果没有合适的破解字典,想要破解MD5值是几乎不可能的。目前的破解网站,通常是对MD5加密或加密值进行数据记录。例如,通常人们设置密码为admin,我通过MD5加密,记录下它的MD5值,放在数据库中,当人们要破解密码时,发现它提供的密文和admin的MD5值相同,很明显,它想要破解的密码就是数据库中的admin。这时候我提供明文给客户即可。21232f297a57a5a743894a0e4a801fc3这段密文就是admin通过md5算法hash后的内容了。其实,目前攻不可破的MD5已被山东大学王小云教授破解(04 05年的时候分别破解了MD5和SHA-1)。教授本人是数学系的,她提出的MD5密码碰撞算法,高速有效的解决了MD5破解问题,MD5的破解也直接导致了美国民间众筹的一个MD5项目破解网站直接关闭,但由于目前各大企业公司加密都是采用MD5这种安全的方法,所以这种算法并没有被公布

  彩虹表。虽然暴力破解MD5根本不可能,但如果结合社会工程学(以及密码普遍简短)想要做到暴力破解MD5也并非不可能。但利用单个字典破解毕竟效率不高,目前较为流行的方法就是利用彩虹表来破解。

基于MD5的密码学基础_第3张图片
rainbow table


基于MD5的密码学基础_第4张图片


  彩虹表的原理也是基于hash加密的不可逆性。即固定明文加密得到一定的hash值,也就是刚才admin加密方法。一般主流的彩虹表基本在100G以上,不过2.5G这样的小表也是有的。不过,如果不是长期对加密解密做研究,也不建议下载彩虹表。关于彩虹表的使用方法,在这里不做讨论,也不用说明,不过是英文而已。


基于MD5的密码学基础_第5张图片
彩虹表结构

  关于MD5的基本知识就到这里。其实,文中也并没有具体介绍MD5的发展等问题,如果感兴趣大家可以百度MD5以及SHA-1,还是十分方便的。这篇文章的质量其实并不高,我也很难把握这个“度”,如果还有什么问题就留言吧。在这里还是真诚地说一句:尽力了,抱歉!目前,我写到的内容涵盖了web渗透,基于PC的溢出攻击,还有这次的密码学知识,虽然没有写博客,但自己也慢慢得到锻炼,也为大家不断介绍和解密这些知识。在这里给大家介绍个工具吧,算是福利CDLinux,是破解WIFI的,具体操作就不介绍了。希望大家不要给他人造成不必要的麻烦。

  我在开发者头条发文一个月了,感谢大家的支持和订阅。我会不断为大家解密深入,谢谢你们!

每周更新!

你可能感兴趣的:(基于MD5的密码学基础)