您当前所在位置: > 网游 > 综合热点

MD5算法如何被破解

时间:2018-07-29 12:33:05  来源:  作者:网络
请注意:本文为编辑制作专题转载的资讯,页面显示的时间仅为生成静态页面时间而非具体内容事件发生的时间,由此给您带来的不便敬请谅解!

小明:老师,上次您讲了MD5算法。用它生成的信息摘要,真的可以被破解吗?

老师:有很多种方法可以破解,不过需要明确一点,这里所谓的破解,并非把摘要还原成原文。为什么呢?因为固定128位的摘要是有穷的,而原文数量是无穷的,每一个摘要都可以由若干个原文通过Hash得到。

小明:如果是这样的话,网上所说的MD5破解到底是怎么回事呢?

老师:对于MD5的破解,实际上都属于【碰撞】。比如原文A通过MD5可以生成摘要M,我们并不需要把X还原成A,只需要找到原文B,生成同样的摘要M即可。

设MD5的哈希函数是H(X),那么:

H(A) = M

H(B) = M

任意一个B即为破解结果。

B有可能等于A,也可能不等于A。

用一个形象的说法,A和B的MD5结果“殊途同归”。

MD5碰撞通常用于登陆密码的破解。应用系统的数据库中存储的用户密码通常都是原密码的MD5哈希值,每当用户登录时,验签过程如下:

如果我们得到了用户ABC的密码哈希值E10ADC3949BA59ABBE56E057F20F883E,并不需要还原出原密码123456,只需要“碰撞”出另一个原文654321(只是举例)即可。登录时,完全可以使用654321作为登陆密码,欺骗过应用系统的验签。

小明:那么,具体如何来实现MD5摘要的碰撞呢?

老师:MD5碰撞的方法有很多,主要包括暴力枚举法、字典法、彩虹表法等等。

暴力枚举法:

老师:暴力枚举法顾名思义,就是简单粗暴地枚举出所有原文,并计算出它们的哈希值,看看哪个哈希值和给定的信息摘要一致。这种方法虽然简单,但是时间复杂度极高。想象一下,仅仅长度8位的密码就有多少种排列组合的可能性?

小明:只考虑大小写字母和数字,每一位有62种可能,那么8位密码的排列组合就是62的8次方,218340105584800,约等于二百万亿!

老师:是的,这样的数据量如果使用普通的单机来破解,恐怕头发白了也破解不完。不过,我们也可以做一些取巧,优先尝试生日和有意义的单词,这样就可以把穷举范围缩小很多。

字典法:

老师:如果说暴力枚举法是ongoing时间换空间,那么字典法则是用空间换时间。黑客利用一个巨大的字典,存储尽可能多的原文和对应的哈希值。每次用给定的信息摘要查找字典,即可快速找到碰撞的结果。

不过,这样做虽然每次破解速度很快,但是生成字典需要巨大的空间。仍然以8位密码举例,需要多大空间呢?

小明:刚才计算过有218340105584800种可能性,每一对映射占192(128+64)bit。那么大约需要4.65PB的存储空间。

老师:没错,这样做的存储成本实在太大了。当然,我们同样可以取巧,优先存储那些常用的密码及其摘要。

小明:那么,有没有什么方法可以做到时间和空间的均衡呢?

老师:有一种方法可以,那就是下面我要介绍的【彩虹表发】。

彩虹表法:

老师:彩虹表法可以说是对字典法的优化,它采用了一种有趣的数据结构:【彩虹表】。在学习彩虹表之前,我们先来了解两个基本函数:H(X)和R(X)。

H(X):生成信息摘要的哈希函数,比如MD5,比如SHA256。

R(X):从信息摘要转换成另一个字符串的衰减函数(Reduce)。其中R(X)的定义域是H(X)的值域,R(X)的值域是H(X)的定义域。但要注意的是,R(X)并非H(X)的反函数。

通过交替运算H和R若干次,可以形成一个原文和哈希值的链条。假设原文是aaaaaa,哈希值长度32bit,那么哈希链表就是下面的样子:

这个链条有多长呢?假设H(X)和R(X)的交替重复K次,那么链条长度就是2K+1。同时,我们只需把链表的首段和末端存入哈希表中:

小明:这什么跟什么啊,衰减函数和哈希链条,到底是干什么用的?

老师:别急,我们来演示一次破解过程,你就明白它们的意义了。

给定信息摘要:920ECF10

如何得到原文呢?只需进行R(X)运算:

R(920ECF10) = kiebgt

查询哈希表可以找到末端kiebgt对应的首端是aaaaaa,因此摘要920ECF10的原文“极有可能”在aaaaaa到kiebgt的这个链条当中。

接下来从aaaaaa开始,重新交替运算R(X)与H(X),看一看摘要值920ECF10是否是其中一次H(X)的结果。从链条看来,答案是肯定的,因此920ECF10的原文就是920ECF10的前置节点sgfnyd。

需要补充的是,如果给定的摘要值经过一次R(X)运算,结果在哈希表中找不到,可以继续交替H(X)R(X)直到第K次为止。

简单来说,哈希链表代表了一组映射关系,其中每组包含K对映射,但只需要存储链条首位两个字符串。假设K=10,那么存储空间只有全量字典的十分之一,代价则是破解一个摘要的运算次数也提高了十倍。这就是时间和空间的取舍。虽然做了取舍,但是哈希链条存在一个致命的缺陷:R(X)函数的可靠性。虽然我们尽量把R(X)设计成结果均匀分布的函数,但是再完美的函数也难免会有碰撞的情况,比如下面这样:

给定信息摘要:FB107E70

经过多次R(X),H(X)运算,得到结果kiebgt

通过哈希表查找末端kiebgt,可以找出首端aaaaaa

但是,FB107E70并不在aaaaaa到kiebgt的哈希链条当中,这就是R(X)的碰撞造成的。

这个问题看似没什么影响,既然找不到就重新生成一组首尾映射即可。但是想象一下,当K值较大的时候,哈希链很长,一旦两条不同的哈希链在某个节点出现碰撞,后面所有的明文和哈希值全都变成了一毛一样的值。

这样造成的后果就是冗余存储。原本两条哈希链可以存储 2K个映射,由于重复,真正存储的映射数量不足2K。

这个时候,我们设计了彩虹表。彩虹表对哈希链进行了改进,把原先的R(X)的函数改进成从R1(X)到Rk(X)一共K个衰减函数。这样一来虽然也可能发生碰撞,但是碰撞只会发生在同一级运算,如R1和R1碰撞,R3和R3碰撞,大大减小了存储重复的几率。

小明:好复杂,听的头都晕了。那想要破解MD5算法,有没有比彩虹表更厉害的方法呢?

老师:还真有。

2004年,王小云教授提出了非常高效的MD5碰撞方法。

2009年,冯登国、谢涛利用差分攻击,将MD5的碰撞算法复杂度进一步降低。

有兴趣的小伙伴可以通过资料进行更深入的学习。

几点补充:

对于单机来说,暴力枚举法的时间成本很高,字典法的空间成本很高。但是利用分布式计算和分布式存储,仍然可以有效破解MD5算法。因此这两种方法同样被黑客们广泛使用。

相关下载

玩家评论

OPPOReno4摄像头细节:IMX708+独家防抖算法

  今晚19点30分,OPPO在线上举行了Reno 4的新品发布会,而发布会一开始,官方就直接介绍了新机的一大亮点,夜拍视频非常的强大。  从OPPO官方细节看,OPPO视频手机Reno4 Pro搭详情>>

阅读: 16
日期: 2020-06-06
新算法或能助搜查与救援队快速在海洋中找到失踪目标

  据外媒报道,海洋可能是一个极其荒凉的地方,这使得寻找失踪人员和物体成为了急救人员的一项艰巨任务。对此, 麻省理工学院(MIT)的研究人员近日开发出了一种新的算法,它可以详情>>

阅读: 7
日期: 2020-05-29
游戏内排行榜算法设计与技术实现比较

  以前在音乐做过一些实时投票,积分排名;单曲、专辑等排行榜;游戏中也有类似的战斗力排行;SNS的游戏又有好友排行等,对于此类的排行算法在此做个总结。  详情>>

阅读: 7
日期: 2020-05-08
「微信朋友圈」信息流可能采用算法排序吗?

原标题:「微信朋友圈」信息流可能采用算法排序吗? 目前,微信朋友圈采用的是时间流的方式展现朋友圈内容,那就有人问了,为什么微信朋友圈不采用推荐算详情>>

阅读: 1
日期: 2020-05-06
借助AI算法为RTX电脑实现主动降噪NVIDIA发布音频工具

N卡网速快、A卡音质好?NVIDIA偏偏不信这个邪。 日前,NVIDIA 发布RTX Voice软件 ,专门为配置了RTX显卡(GeForce、Quadro)的电脑提供主动的背景降噪支持。这个降噪可不是减低显详情>>

阅读: 10
日期: 2020-04-19
谁花钱谁排名高?谷歌被指人为干预搜索算法以增加广告客户曝光

原标题:谁花钱谁排名高?谷歌被指人为干预搜索算法 以增加广告客户曝光 搜索引擎提供的结果到底有几分可信度?近日,一向号称“不作恶”的谷歌受到外媒详情>>

阅读: 1
日期: 2020-03-20
怀旧服G团被小学数学引出的争议:0.5个人究竟应该怎么算?_算法

原标题:怀旧服G团被小学数学引出的争议:0.5个人究竟应该怎么算? G团已经在国服怀旧服流行了很长一段时间了,恐怕很多玩家都想不到,现在竟然还会因为分G详情>>

阅读: 12
日期: 2020-02-07
算法让“眼球竞争”空前激烈顶级网红纷纷逃离YouTube

原标题:算法让“眼球竞争”空前激烈 顶级网红纷纷逃离YouTube 作为庞大的Alphabet(谷歌母公司)旗下最大的业务之一,视频分享平台YouTube也是谷歌增长详情>>

阅读: 4
日期: 2019-12-28
美团的商业算法|十年复盘EP03

原标题:美团的商业算法 | 十年复盘 EP03 今天这篇是前沿思考论坛系列内容的第三篇,要说的是有关「美团」的复盘。 在科技行业有点冷的这一年里,美团详情>>

阅读: 10
日期: 2019-12-24
2020,AI算法市场能火起来吗?

原标题:2020,AI算法市场能火起来吗? 图片来源@视觉中国 文 | 脑极体 2019的存量只剩一个多月,各种年度总结即将蜂拥而至。 回头看看这一年的AI发详情>>

阅读: 8
日期: 2019-11-27
7papers|QuocV.Le、何恺明等新论文;用进化算法设计炉石_XGBoost

原标题:7 papers | Quoc V. Le、何恺明等新论文;用进化算法设计炉石 机器之心整理 参与:杜伟、一鸣 本周较为重要的研究有 Quoc V. Le 和何恺明各详情>>

阅读: 12
日期: 2019-11-17
DNF:“E式”算法对比,全身红20驱魔,组队才能超越红10剑帝!

剑帝经过改版加强后,伤害如“坐火箭”般提升,一度碾压其他的职业。不过,要说最惨的莫过于是驱魔,非但没有加强,反而削弱了一丢丢。在国服都加强的环境下详情>>

阅读: 11
日期: 2019-11-13
AI大众化已不远:神经架构搜索有望调整优化AI的算法核心

原标题:AI 大众化已不远:神经架构搜索有望调整优化AI的算法核心 作者:James Kobielus是Wikibon的数据科学、深度学习和应用软件开发首席分析师。之前详情>>

阅读: 8
日期: 2019-11-13
看不见的非正义:算法决策真的公平吗?

原标题:看不见的非正义:算法决策真的公平吗? 作者:腾讯研究院、中国信通院互联网法律研究中心、腾讯AI Lab、腾讯开放平台 全文3700余字,读完约需7分详情>>

阅读: 9
日期: 2019-11-12
百度细雨算法2.0正式上线

原标题:百度细雨算法2.0正式上线 最近,百度搜索针对近期B2B领域出现的伤害搜索用户体验的违规低质内容,即将对细雨算法升级,上线细雨算法2.0,重点针对B详情>>

阅读: 8
日期: 2019-11-08
流量学习+算法推荐丨VideoX邀您共话休闲游戏变现新技能_市场

原标题:流量学习+算法推荐丨VideoX邀您共话休闲游戏变现新技能 文字丨Thomas 390字,约需5分钟阅读时长 2019年全球游戏市场增量明显。第一季度全球详情>>

阅读: 10
日期: 2019-11-02
算法知识汇总:构成/学派/算法

原标题:算法知识汇总:构成/学派/算法 如果你是产品经理,希望了解算法的基本知识,可以考虑阅读本文。 01 概述 机器学习(Machine Learning,ML)就是通详情>>

阅读: 6
日期: 2019-10-16
啊哈,算法!为什么你如此“谜”人!

原标题:啊哈,算法!为什么你如此“谜”人! 我们在面对算法学习的时候,看到那些一串串的数字、一串串代码的时候感觉非常的头疼,心想要是有一本通俗易懂,详情>>

阅读: 8
日期: 2019-09-05
一种算法:获取网络日志以发现错误的根本原因(附论文)

原标题:一种算法:获取网络日志以发现错误的根本原因(附论文) 几位研究人员通过分析AT&T网络数据中的数百万条错误消息,开发出了一种算法,有望帮助运营商详情>>

阅读: 5
日期: 2019-08-31
谷歌开发实时手指跟踪算法

  VR之家消息:谷歌发布了一种开源算法,可以在移动硬件上执行实时21点手指跟踪。该系统是Google MediaPipe的一部分,MediaPipe是一种基于机器学习的解决方案的模块化框架,如人详情>>

阅读: 10
日期: 2019-08-23
算法界上演“猫鼠游戏”连续剧_攻击

原标题:算法界上演“猫鼠游戏”连续剧 图片来自网络今日视点 医疗手术、无人驾驶、围棋对弈、随手可用的翻译……近十年来,人工智能(AI)详情>>

阅读: 19
日期: 2019-07-03
算法,计算机,这是哪本书

Game234问答中心有网友提出了一个比较有代表性的问题【算法,计算机,这是哪本书】,【算法,计算机,这是哪本书】具体问题如下:我知道这可能有点难,,,展开小编觉得可能对其他网友也有帮助,所以将此问答详情>>

阅读: 0
日期: 2019-04-14
《太吾绘卷》发挥效率算法说明

太吾绘卷有一个功法属性的发挥效率,最大是120%。关于这个发挥效率如何计算的问详情>>

阅读: 4
日期: 2019-03-21
Facebook Instant Games运营必备:如何根据算法规则优

游戏排名,是FacebookInstantGames用来确保新游戏拥有玩家的工具之一,以此帮助所有的开发者。本文将为您介绍,游戏排名的工作原理,以便您进详情>>

阅读: 0
日期: 2018-12-09
Facebook Instant Games运营必备:如何根据算法规则优化游戏排名

游戏排名,是FacebookInstantGames用来确保新游戏拥有玩家的工具之一,以此帮助所有的开发者。本文将为您介绍,游戏排名的工作原理,以便您进详情>>

阅读: 12
日期: 2018-12-07
价格歧视?算法时代的一场“猫鼠游戏”

原标题:价格歧视?算法时代的一场“猫鼠游戏”算法时代,大数据杀熟受到越来越多诟病与争议,但从经济学角度来看价格歧视,有着更深层次的分析框架与维度,甚至颠覆我们的常详情>>

阅读: 17
日期: 2018-11-20
MD5加密算法在网站数据库安全方面的应用与查表攻击

(4) 我曾见过几个破解MD5加密的网站(http://www.cmd5.com/),大多数的做法是先免费为用户暴力破解,积累起足够的数据库可以破解简单密码后,解密服务便开始收费,... 详情>>

阅读: 5
日期: 2018-10-20
月流水3亿排45名 AppStore算法调整有点大

特别是下 载与畅销尤为严重,包括腾讯新游《梦幻诛仙手游》与网易《梦幻西游》...同时他还透露,《剑侠情缘》手游最高流水5亿,目前稳定在3亿左右的成绩。而就... 详情>>

阅读: 24
日期: 2018-10-08
Oculus Quest仍存在追踪局限,Facebook欲通过算法弥补

原标题:Facebook承认OculusQuest追踪局限,希望通过算法弥补在今年的OC5上,Oculus公开了新头显OculusQuest,一款支持头部和手柄6DoF追踪的中端VR产品,其使用详情>>

阅读: 11
日期: 2018-09-29
Klaus爆笑一分钟:另类算法

Klaus爆笑一分钟:另类算法详情>>

阅读: 4
日期: 2018-09-11
炉石传说 你知道圣光面积的四种算法吗?

炉石传说 你知道圣光面积的四种算法吗?详情>>

阅读: 2
日期: 2018-09-05
ML 工程师需要了解的一些基本算法

回归算法RegressionAlgorithms回归算法最初来自于统计学,是一种通过最小化预测值与实际结果值之间的差距,而得到输入特征之间的最佳组合方式的一类算法。常见的回归算法有:最小二乘回归详情>>

阅读: 0
日期: 2018-09-01
MD5算法的破解原理

小编为您搜罗的答案:介绍MD5加密算法基本情况MD5的全称是Message-DigestAlgorithm5,在90年代初由MIT的计算机科学实验室和RSADataSecurityInc发明详情>>

阅读: 3
日期: 2018-08-29
算法总结之四插入排序

直接插入排序是一种最简单的插入排序。插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,知道全部插入完成。在讲解直接插入排序之前,先让我们脑补一下我们打牌的过程。先拿一详情>>

阅读: 3
日期: 2018-08-26
在RSA加密算法中 d*11=1 mod 8怎么得到d=3

小编为您搜罗的答案:1、RSA是基于这个原理实现的,但貌似求mol运算本身和RSA没关系吧求逆运算2、d*11=d*3(mol8),然后从0试到7,发现当d=3时3*3=9=1(mol8),具体是没有详情>>

阅读: 7
日期: 2018-08-23
如何matlab编程仿真LMS算法的自适应陷波器,并画出幅频曲线陷波的频率值

小编为您搜罗的答案:%LMS算法演示(matlab)%设置参数,N为采样个数,u为步长clear,clc;N=16;u=0.1;%设置迭代次数kk=250;%pha为随机噪声的平均功率rk=randn详情>>

阅读: 7
日期: 2018-08-23
关于D-H算法基本原理

小编为您搜罗的答案:DH组的本质是使用非对称密钥来加密对称密钥。DH算法过程:1、相互产生密钥对2、交换公钥3、用对方的公钥和自己的私钥运行DH算法——得到另外一个密钥X(这里的奇妙之处是这个值两端都详情>>

阅读: 6
日期: 2018-08-21
从早上7点半到下午三点20分经过多少时间小学生算法

小编为您搜罗的答案:作为小学生,可以这样计算:12小时-7小时30分+3小时20分=4小时30分+3小时20分=7小时50分答:从早上7点半到下午三点20分经过的时间是7小时50分。小编为您搜罗的答案详情>>

阅读: 5
日期: 2018-08-21
关于百度对友情链接买卖打击算法猜想

最近这几个月,互联网上最令站长们揪心的事情就是百度的算法更新了,而百度算法更新主要是为了处理低质量的站点和友情链接的买卖。笔者不是什么牛人,只是从百度的... 详情>>

阅读: 9
日期: 2018-08-12
你真正懂搜索引擎算法吗?

什么是搜索引擎算法搜索引擎算法是指获得网站网页资料,建立数据库并提供查询的系统,都可以把它叫做搜索引擎。搜索引擎的数据库是依靠一个叫“网络机器人(crawlers)”或叫“网络蜘蛛(Spider)”详情>>

阅读: 5
日期: 2018-08-06
精彩推荐