MD5碰撞后时代,MD5还有存在的意义吗?
MD5是一种HASH函数,又称杂凑函数,由32位16进制组成,在信息安全范畴有广泛和首要运用的暗码算法,它有类似于指纹的运用。在网络安全协议中, 杂凑函数用来处理电子签名,将冗长的签名文件紧缩为一段一起的数字信息,像指纹辨别身份相同保证正本数字签名文件的合法性和安全性。在前面提到的SHA- 1和MD5都是现在最常用的杂凑函数。经过这些算法的处理,初始信息即使只更动一个字母,对应的紧缩信息也会变为大相径庭的“指纹”,这就保证了经过处理 信息的唯一性。为电子商务等提供了数字认证的可能性。
安全的杂凑函数在设计时有必要满意两个请求:其一是寻找两个输入得到相同的输出值在计算上是不可行的,这便是我们一般所说的抗磕碰的;其二是找一个输 入,能得到给定的输出在计算上是不可行的,即不可从效果推导出它的初始状况。现在运用的首要计算机安全协议,如SSL,PGP都用杂凑函数来进行签名,一 旦找到两个文件可以发作相同的紧缩值,就可以假造签名,给网络安全范畴带来无量危险。
MD5便是这样一个在国内外有着广泛的运用的杂凑函数算法,它曾一度被认为是非常安全的。但是MD5也不会完全不重复,从概率来说16的32次
方遍历后至少出现两个相同的MD5值,但是16的32次方有多大?3402823669209384634633746074317.7亿,就算全世界最
快的超级计算机也要跑几十亿年才能跑完。可是,王小云教授发现,可以很快的找到MD5的“磕碰”,便是两个文件可以产生相同的“指纹”。这意味着,当你在
网络上运用电子签名签署一份合同后,还可能找到其他一份具有相同签名但内容悬殊的合同,这么两份合同的真伪性便无从辨别。王小云教授的研究效果证明了利用
MD5算法的磕碰可以严重威胁信息体系安全,这一发现使现在电子签名的法律效力和技能体系受到应战。因此,业界专家普林斯顿计算机教授Edward
Felten等强烈呼吁信息体系的设计者赶快更换签名算法,而且他们侧重这是一个需要当即处理的疑问。
一石击起千层浪,MD5的破译引起了暗码学界的剧烈反应。专家称这是暗码学界这些年“最具实质性的研究进展”,各个暗码学相关网站竞相报导这一惊人打破。
MD5破解专项网站关闭
MD5破解工程威望网站http://www.md5crk.com/是为了揭露搜集专门针对MD5的攻击而建立的,网站于2004年8月17日宣告:
“我国研究人员发现了完整MD5算法的磕碰;Wang, Feng,
Lai与Yu发布了MD5、MD4、HAVAL-128、RIPEMD-128几个Hash函数的磕碰。这是这些年暗码学范畴最具实质性的研究进展。运用
他们的技能,在数个小时内就可以找到MD5磕碰。……因为这个里程碑式的发现,MD5CRK项目将在随后48小时内完毕”。
对此, Readyresponse主页专门转发了该报导,几个其它网站也进行了报导。
威望网站相继宣布谈论或许报告这一重大研究效果
经过计算,在论文发布两周之内,已经有近400个网站发布、引证和谈论了这一效果。国内的很多新闻网站也以“演算法安全加密功用露出破绽 暗码学界一片哗然”为题报导了这一暗码学界的重大事件,该音讯在各新闻网站上屡次转发。
MD5破解作业的首要成员王小云教授是一个衰弱、拘谨的女子,厚厚的镜片透射出双眸中数学的灵光。她于1990年在山东大学师从闻名数学家潘承洞教授攻读
数论与密码学专业博士,在潘先生、于秀源、展涛等多位闻名教授的悉心指导下,她成功将数论知识应用到密码学中,取得了很多突出效果,先后取得863项目资
助和国家自然科学基金项目赞助,并且取得部级科技进步奖一项,撰写论文二十多篇。王小云教授从上世纪90年代末开端进行HASH函数的研讨,她所带领的于
红波、王美琴、孙秋梅、冯骐等构成的密码研讨小组,同中科院冯登国教授,上海交大来学嘉等闻名学者密切协作,经过长时刻持之以恒的尽力,找到了破解
HASH函数的关键技术,成功的破解了MD5和其它几个HASH函数。
这些年她的作业得到了山东大学和数学院领导的大力支持,格外投资建设了信息安全实验室。山东大学校长展涛教授高度重视王小云教授突出的科研效果。
2004年6月山东大学领导听取王小云教授的作业介绍后,展涛校长亲身签发约请函约请国内闻名信息安全专家参与2004年7月在威海举办的“山东大学信息
安全研讨学术研讨会”,数学院院长刘建亚教授安排和掌管了会议,会上王小云教授发布了MD5等算法的一系列研讨效果,专家们对她的研讨效果给予了充沛的肯
定,对其持之以恒的科研情绪大加赞扬。一位院士说,她的研讨水平肯定不比世界上的差。这位院士的定论在时隔一个月以后的世界密码会上得到了验证,国外专家
如此强烈的反应表明,我们的作业可以说不光不比世界上的差,并且是在破解HASH函数方面已抢先一步。加拿大CertainKey公司早前宣告将给予发现
MD5算法第一个磕碰人员必定的奖赏,CertainKey的初衷是使用并行计算机经过生日进犯来寻觅磕碰,而王小云教授等的进犯相对生日进犯需要更少的
计算时刻。
由于MD5的破译,引发了对于MD5 商品是不是还能够运用的大争辩。在麻省理工大学Jeffrey I.
Schiller教授掌管的自己论坛上,许多暗码学家在标题为“Bad day at the hash function
factory”的争辩中宣布了具有价值的定见。这次世界暗码学会议的总主席Jimes
Hughes宣布谈论说“我信任这(破解MD5)是真的,而且假如碰撞存在,HMAC也就不再是安全的了,…… 我以为咱们应当抛开MD5了。”
Hughes主张,程序设计人员最佳开始放弃MD5。他说:“已然如今这种算法的缺点已露出出来,在有用的进犯发动之前,如今是撤离的时机。”
同样,在普林斯顿大学教授Edwards
Felton的自己网站上,也有相似的谈论。他说:“留给咱们的是什么呢?MD5现已受了重伤;它的应用就要筛选。SHA-1依然活着,但也不会很长,必
须立即替换SHA-1,可是选用什么样的算法,这需要在暗码研究人员到达一致。”
暗码学家Markku-Juhani称“这是HASH函数剖析范畴激动人心的时间。”
而闻名计算机公司SUN的LINUX专家Val Henson则说:“曾经咱们说"SHA-1能够定心用,别的的不是不安全即是不知道", 如今咱们只能这么总结了:"SHA-1不安全,别的的都完了"。
对于王小云教授等破译的以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)来代替。”
这是几位暗码学家运用的是“结构前缀磕碰法”(chosen-prefix collisions)来进行这次攻击(是王小云所运用的攻击办法的改进版本)。
他们所运用的计算机是一台 Sony PS3,且仅用了不到两天。
他们的定论:MD5 算法不该再被用于任何软件完整性查看或代码签名的用处!
那是不是MD5就此没有用处了呢?非也,对于文件来说碰撞可能容易,但是对于限定长度的密码或者密文来说,MD5作为一种高性能高安全的数字签名算法来说,还是非常实用的。
文章转载自: http://www.ttmd5.com/article.php?id=12
MD5碰撞后时代,MD5还有存在的意义吗?的更多相关文章
- C#中简单调用MD5方法以及MD5简介
MD5简介: MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2.M ...
- md5.digest()与md5.hexdigest()之间的区别及转换
举给例子 md5 = hashlib.md5('adsf') md5.digest() //返回: '\x05\xc1*(s48l\x94\x13\x1a\xb8\xaa\x00\xd0\x8a' # ...
- md5加密,md5加盐加密和解密
package com.java.test; import java.security.MessageDigest; import java.security.SecureRandom; import ...
- 解决Javascript md5 和 Java md5 中文加密后不同问题
Javascript md5 和 Java md5 带中文字符加密结果不一致,可以通过编码进行转化. javascript可以使用encodeURLComponent将中文先转化一次再进行MD5加密. ...
- python接口自动化测试二十七:密码MD5加密 ''' MD5加密 ''' # 由于MD5模块在python3中被移除 # 在python3中使用hashlib模块进行md5操作 import hashlib # 待加密信息 str = 'asdas89799,.//plrmf' # 创建md5对象 hl = hashlib.md5() # Tips # 此处必须声明encode # 若写法为
python接口自动化测试二十七:密码MD5加密 ''' MD5加密 '''# 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作import has ...
- [CTF]CTF中if (md5(md5($_GET[‘a’])) == md5($_GET[‘b’])) 的绕过
原作者:KTWO 出处:https://www.k2zone.cn/?p=2019 0X00 摘要 CTF中md5判等可使用0e绕过,但是如果是双md5该如何绕过呢?本文将教你如何绕过md5(md5( ...
- md5 collision(md5碰撞)之记录一些MD5值
md5 collision之记录一些MD5值 “Magic Hash”的PHP漏洞可以使得攻击者非法获取用户的账号信息. 漏洞原因: PHP以一种特定的方式处理被哈希的字符串,攻击者可以利用其 ...
- MySql md5加密 sqlserver md5加密 C# md5加密 java md5加密
便民md5加密: 百度md5加密: MySQL 加密语法: MD5(加密字符串) -- 中文加密 SELECT MD5('你好') -- 中文加密匹配查询 SELECT * FROM 表名 WHERE ...
- 【MD5加密】MD5加密编码的坑
MD5 MD5即Message-Digest Algorithm (信息-摘要算法5),用于确保信息传输完整一致. 是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5 ...
随机推荐
- fuel 6.1自动推送3控高可用centos 6.5 juno环境排错(一)
查看fuel日志: # less /var/log/docker-logs/remote/node-1.domain.tld/puppet-apply.log 2015-12-25T17:26:22. ...
- HDU 4081 Qin Shi Huang's National Road System 次小生成树变种
Qin Shi Huang's National Road System Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ...
- PHP Markdown 解析器Parsedown
PHP Markdown 解析器Parsedown http://parsedown.org/demo
- iOS多视图传值方式之通知传值(NSNotification;NSNotificationCenter)
iOS传值方式之5:通知传值 第一需要发布的消息,再创建NSNotification通知对象,然后通过NSNotificationCenter通知中心发布消息(NSNotificationCenter ...
- javascript 基础系列(一)
闭包: function 内部访问外部的variables function f(){ alert(ysr); } 报错了. Certain language constructs block the ...
- HYBControllerTransitions中文文档
中文文档 HYBControllerTransitions是自定义围场动画API封装类库,使用简便.使用者不需要了解太多转场动画知识,即可轻松接入项目使用. 这是一个给开发者们提供自定义push.po ...
- VS2010与SVN
http://blog.sina.com.cn/s/blog_4fe44775010182yl.html 在VS2010中使用SVN,必须先安装SVN的客户端,再安装VisualSVN(SVN的插件) ...
- PHP 安装 redis、memcached、openssl、pdo_mysql等
PHP openssl 扩展的安装 这些插件可以通过在 php.ini 中添加 extension 的方式来加载所需要的插件,其实在 php 的安装包里就已经有相关的插件代码包了,在 php7 ...
- Android源码编译jar包BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY的区别(二)
上文简单介绍了BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY编译出来jar包的区别, 那么你如果拿到了一个内容是dex格式的jar包,而你又偏偏需要这个ja ...
- tp 框架的增
//增 public function test() { //数据访问 //造模型对象 $nation = D("Nation"); $,'页面跳转中请稍后....'); } pu ...