• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链
您的位置:首页 > 网络安全 >安全教程 > MD5和MD5破解的一些事 MD5破解的介绍

MD5和MD5破解的一些事 MD5破解的介绍

作者:isnowfy 字体:[增加 减小] 来源:互联网

isnowfy 向大家分享了MD5和MD5破解的一些事 MD5破解的介绍,其中包含md5暴力破解,md5在线查询破解,md5在线解密破解,md5密码破解,md5破解等知识点,遇到此问题的同学们可以参考下
看到网上一些对于MD5的介绍,还有对于当初王小云所做的破解有很多的误解,或者说不理解,然后觉得对于这些事情只要说明白,还是比较好理解的说。
首先MD5其实就是一种hash,或者叫散列函数,有的地方叫杂凑函数,都是一个东西,其实它就是一种映射,而平常最常见的就是说MD5是不可逆的,为什么不可逆呢?有人就说就是像有些函数没有反函数那样了,其实还是有点抽象,考虑MD5是多对一的映射,也就是说很多不同的经过MD5变换之后可能会是相同的,那么既然多对一,自然是不可逆啦,你怎么会知道他到底是由哪个变换过来的呢。在密码学的应用里,说是单向函数,或者说单向变换,一种是这种多对一不可逆,还有一种是说逆工程会非常困难,举个例子吧,假设f(x)=x^6-x-1,然后你知道f(1)=-1,在知道x=1和f的情况下计算f(1)是很简单的,而知道f(x)=-1和f去求x却是很困难的,这里就不展开说了,大家有个大体的认识就可以了。
 
(图来自维基百科)
 
刚才说过了由于MD5是多对一的,所以肯定会出现变换后的值是一样的情况,这种情况叫做冲突,或者叫碰撞。为了保证安全性,定义了两种,一种叫无弱碰撞,一种叫无强碰撞。
无弱碰撞是
已知函数M和一段数据H
找到一个H'
使得M(H)=M(H')
是难的
无强碰撞是
       已知M
找到一对H和H'
使得M(H)=M(H')
是难的
很明显满足无强碰撞比满足无弱碰撞更难,真的吗?好吧,就不说明显了,为什么说无强碰撞更难呢,换句话说为什么找到强碰撞更简单呢,恩,这就涉及到生日悖论了, 或者叫生日攻击了。
来想想以前的概率吧,假设一年365天,那么,至少有多少人使得有两人是同样生日的概率会超过1/2呢,直觉上应该是365/2个人吧,其实答案是23,少的夸张是吧,不然不会叫做悖论了啊,如何计算呢,其实我们是在求一个最小的n,使得1-(1-1/365)*(1-2/365)*…(1-(n-1)*365)>=1/2,随便写个程序验证下就知道是23了,什么你不知道这个式子怎么得来的,考虑第二个人不要和第一个人生日冲突的概率是(1-1/365)然后第三个人不和前两个人生日相同的概率是(1-2/365)后面就知道了吧。然后这个人数其实是O(sqrt(365))。那么回到前面的问题,假设映射空间,就是说最后能够得到的值的个数是m,那么弱碰撞的复杂度是O(m),而强碰撞呢是O(sqrt(m)),所以说找到强碰撞更简单,也就是说满足无强碰撞更难!
王小云的贡献呢就是找到了比生日攻击复杂度低得多算法来快速找到一对强碰撞,弱碰撞吗依旧是不行的。这里有她的论文,有兴趣的可以看一下。那么也就是说通过密文找到明文依旧是不可能的,并且弱碰撞依旧是很难的。
不过后来又有外国的nb人受到了王小云的启发,得到了一种很快的算法能够在已知前缀x1,x2的情况下构造一对后缀y1,y2使得M(x1y1)=M(x2y2),不过有两点需要注意,一个是他其实还是一种寻找强碰撞,另一个就是他的复杂度比王小云的直接构造高的多,然后这里有论文,然后利用这个搞了个预测2008年美国大选结果的东西,为啥叫预测呢,因为可以这样
因为我说我知道大选结果,但是必须事后公布,为了保证我没有说谎,我先给出一段MD5的值,之后给出我的结果,只要结果和MD5相同不就是我预测成功了吗
这个东西是基于我很难构造两个东西使得他们的MD5相同的基础上的,不过有了上面的算法,这个事情的复杂度大大降低,使得变为了可能。
那么这些破解对于我们有什么影响呢,首先需要认识到MD5有什么用,现在很多网站都用MD5来验证文件的完整性,但是你从非官方的地方下载了文件发现MD5相同,那么你依然不能掉以轻心,因为可能是通过上述算法而在程序里加入了某段病毒代码,但是MD5还是相同的而已,所以下文件还是从官方地址下吧,还一个就是经常在数字签名里使用了,至于不知道数字签名的这里先不说了,然后这个可以伪造数字签名啥的,不过传说现在貌似没谁用MD5来弄数字签名了,也不必太过担心了,基本就是这样子了。
</div>

您可能想查找下面的文章:

  • MD5和MD5破解的一些事 MD5破解的介绍

相关文章

  • 利用php+socket5代理进行内网渗透测试
  • 拒绝服务攻击完全解析 区分DOS和DDOS
  • 教你使用搜索引擎批量检测网站注入点
  • “回收站”使用技巧集锦
  • 一句话木马(asp,php) 总结篇
  • 网络技术常用术语中英对照
  • 命令行下一种新的添加帐号的方法
  • 谈谈关于打击网络犯罪的关键要素
  • 用递归写Win32的文件夹遍历
  • XSS跨站脚本攻击问题和原理详解

文章分类

  • 安全教程
  • 安全设置
  • 杀毒防毒
  • 病毒查杀
  • 脚本攻防
  • 入侵防御
  • 工具使用
  • 业界动态
  • Exploit
  • 漏洞分析
  • 加密解密
  • 手机安全
  • 区块链

最近更新的内容

    • 免费SSL证书申请网站,给网站开启https协议
    • PHP 万能密码
    • 突破一流拦截 上传限制的方法
    • CCProxy代理软件中隐藏的阴谋分析
    • 实战讲解跨站入侵攻击
    • 详解简单的反黑客远程控制的方法(后门程序)
    • 怎样隔离ARP攻击源 电脑受到ARP断网攻击应对策略
    • 整人用的一个邪恶电脑重启病毒
    • 预防黑客DdoS被攻击的技巧(纯文字版)
    • 基于Http Header的SQL注入的方法详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有