MD5是否将会被SHA-1取而代之?

问:许多组织已经用SHA-1算法取代了MD5算法,那么MD5算法现在仍可以安全地使用吗?

创新互联总部坐落于成都市区,致力网站建设服务有成都做网站、网站设计、网络营销策划、网页设计、网站维护、公众号搭建、小程序设计、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!

答:MD5(Message-Digest Algorithm 5,消息摘要算法5)算法是一个用于加密的单向散列函数。散列函数可以对一段数据(如文件或消息)进行运算,生成一个较短的、固定长度的数值,称为散列值。一个MD5散列值通常表示为一个32位的十六进制数。散列函数在加密方面用途广泛,因为对原始输入的任何修改(包括故意的和无意的修改)都将会引起结果散列值的变化。散列函数可用于多种形式的认证,例如数据签名和消息认证码。另外,散列函数还可用于验证文件的完整性,因为即使是对文件最细微的修改,也会改变其散列值。例如,许多软件出版商都会提供其可下载软件的MD5散列值,从而使用户可以验证该文件是可信的,没有被篡改的。

然而,由于散列算法生成一个较短的、固定长度的散列值来代表任意长度的数据,这就意味着,可能的输入值要远远多于散列算法生成的唯一散列值。因此,必定会有多个输入值将产生相同的散列值,这就是所谓的散列碰撞。对于一个在密码学意义上被认为是安全和具有抗碰撞性的散列函数来说,找到能够产生相同散列值的两个输入值非常困难。2005年3月,两名研究人员创建了两个公钥不同但MD5散列值相同的X.509数字证书。从那以后,可以在一分钟内找到一个MD5碰撞的各种方法层出不穷。正是因为如此,MD5算法在密码学上被认为已经遭到破解,并逐渐被SHA-2散列函数系列所取代。

MD5算法肯定不适合基于安全性的应用和服务,例如SSL(安全套接字层)和依赖抗碰撞性的数字签名。对于使用MD5散列值存储用户密码的早期应用来说,降低MD5算法脆弱性的一种可能的方法是,先向密码中添加一段随机字符,然后再计算其散列值。这种方法在一定程度上可以抵抗针对散列密码的字典攻击。尽管MD5散列值不再能保证文件未被篡改,但是在下载较大的文件时,可以使用MD5散列值检查错误,并验证文件是否损坏和完整。

需要指出的是,在新的应用中没有理由再使用MD5。美国政府的大多数应用被要求在今年年底以前改用SHA-2散列函数系列,早期的应用也要尽可能地进行升级。至于你在问题中提到的SHA-1散列算法也具有安全漏洞,而迄今为止还没有出现关于成功攻击SHA-2散列函数系列的报道。同时,研究人员已经在进行SHA-3算法的开发。一个紧跟加密技术最新发展的好方法是,及时关注标准机构(如美国国家标准与技术研究所)的新闻并接受其建议。

名称栏目:MD5是否将会被SHA-1取而代之?
转载来源:http://www.shufengxianlan.com/qtweb/news0/236650.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联