当前位置: 首页 > 技术干货 > MD5加解密与暴力破解

MD5加解密与暴力破解

发表于:2021-01-14 10:19 作者: mtr 阅读数(507人)

本实验围绕MD5加解密软件,通过对软件操作实现基本的字符加密和解密,介绍了MD5暴力破解的方法,通过本实验的学习,你能够掌握MD5破解的方法、过程和原理,增强对MD5算法安全性的认识


实验简介

实验所属系列:网络安全实践

实验对象:本科/专科信息安全专业

相关课程及专业:计算机基础,Linux基础

实验类别:实践实验类


预备知识

本实验要求实验者具备如下的相关知识。

hash,一般翻译做“散列”,也有直接音译为"哈希",就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列来唯一  确定输入值。简单说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。MD5和SHA1可以说是目前应用最广泛的Hash算法,而它们都是以MD4为基础设计的。


1、MD4

MD4(RFC 1320)是MIT的Ronald L. Rivest在1990年设计的,MD是Message   Digest的缩写。它适用在32位字长的处理器上用高速软件实现--它是基于 32  位操作数的位操作来实现的。


2、MD5

MD5(RFC 1321)Rivest于1991年对MD4的改进版本。它对输入仍以512位分组,其输出是4个32位字的级联,与MD4相同。MD5比MD4来得复杂并且速度较之要慢一点,但更安全,在抗分析和抗差分方面表现更好。


下面简单介绍一下MD5的安全性。

Rivest猜想作为128比特长的杂凑值来说,MD5的强度达到了最大,比如找出具有相同杂凑值的两个消息需执行O(264)次运算,而寻找具有给定杂凑值的一个消息需要执行O(2128)次运算。

然而,2004年山东大学的王小云等成功找出了MD5的碰撞,发生碰撞的消息有两个1024 比特长的串M、Ni构成,设消息M||Ni的碰撞时M’和Ni’,在IBMP690上找M和M’花费时间大约一小时,找到M和M’后,则只需15秒至5分钟就可找出Ni和Ni’。

2007年,Marc Stevens,Arjen K. Lenstra和Benne de Weger进一步指出通过伪造软件签名,可重复性攻击MD5算法。研究者使用前缀碰撞法(chosen-prefix collision),使程序前端包含恶意程序,利用后面的空间添上垃圾代码凑出同样的MD5 Hash值。

2008年,荷兰埃因霍芬技术大学科学家成功把2个可执行文件进行了MD5碰撞,使得这两个运行结果不同的程序被计算出同一个MD5。2008年12月一组科研人员通过MD5碰撞成功生成了伪造的SSL证书,这使得在https协议中服务器可以伪造一些根CA的签名。

现在随着硬件技术和计算机处理能力的快速上升,MD5的暴力破解也越来越快,在安全要求高的场合一般不会使用MD5


实验目的

了解MD5破解原理,熟练使用MD5破解工具。


实验环境

Windows操作系统


实验地址:

MD5加解密

MD5暴力破解

大家都在学

CVE-2019-0192 Apache Solr远程反序列化代码执行漏洞

CTF-Stegano练习之隐写9

恶意流量分析训练一