md5逆算法
① md5加密可逆吗
不可逆。但是不建议用来加密密码,因为密码长度和复杂度不够的话,可以通过字典来撞。
② md5密码计算的逆运算具体怎么搞啊,介绍一下方法,谢谢了
关于MD5算法破解对实际应用影响的讨论国家信息中心信息安全研究与服务中心李丹北京天威诚信电子商务服务有限公司龙毅宏摘要:在2004国际密码学会议(Crypto’2004)上,王小云教授公布了破解MD5算法的研究成果,引起了密码学界轰动,国内有些媒体甚至认为这一破解会导致数字签名安全大厦的轰然倒塌,那么,实际情况究竟是怎样的呢?本文就MD5算法破解对实际应用的影响进行分析讨论,回答了这个问题。正文:在2004年8月17日美国加州圣巴巴拉召开的国际密码学会议(Crypto’2004)上,来自中国山东大学的王小云教授做了破解MD5算法的报告。当她公布了她的研究结果之后,会场上响起激动的掌声。王小云教授的报告轰动了全场,得到了与会专家的赞叹。国内有些媒体甚至认为这一破解会导致数字签名安全大厦的轰然倒塌。那么,实际应用的情况究竟是怎样的呢? MD5是一种散列算法(Hash function),又称为哈希算法、消息摘要算法,它的作用是获取数字信息的特征(我们有时称之为“信息指纹)。一个任意长度的任意数字信息,通过散列算法运算后,会产生一串固定长度(比如160bit)的数字信息,称为散列值(或哈希值、消息摘要)。安全的散列算法有这样的特点:⑴ 两个不同数字信息产生同样的 散列值的概率是非常小的(小到现实中几乎无法发生);⑵ 仅从散列值无法演推出原信息;⑶ 原信息的微小改变,哪怕只改变一位(bit),将导致散列值的很大变化。数字签名要使用散列值。MD5是一种常用散列算法,另外目前常用的散列算法还有SHA-1。两个不同的数字信息产生相同的散列值就是人们所说的“散列值碰撞“。散列算法是一个将无穷维空间的信息映射到有限维空间的变换,学过数学的人都知道这不是一个一一对应的变换。实际上一个散列值可能对应有无穷多个数字信息,换言之,会有无穷多个数字信息产生同样一个散列值。这点是研究密码的人众所周知的,而不像有些媒体所说的那样,散列值是唯一的。一个安全散列算法的安全性是基于这样的假设,知道一个信息A的散列值H,很难找到,或者从H倒推出另一个信息B具有同样的散列值H。中国学者的发现是这样的,对于MD5散列算法,针对某些信息集合,找到了一种方法,当我们知道它的散列值H时,能推出一个信息数据B具有同样的MD5散列H。需要强调的是,王小云教授的破解算法是一个概率性的破解算法,只对部分信息集合适用。这当然是密码学界的一个重大发现,这说明了MD5不像我们原先认为的那样安全。但是,这个研究发现的实际影响要远远小于它的理论意义。这可以从以下几方面加以说明。根据MD5破解算法,对一个信息A及其散列值H,我们有可能推出另一个信息B,它的MD5散列值也是H 。现在的问题是,如果A是一个符合预先约定格式的、有一定语义的信息,那么演推出的信息B将不是一个符合约定格式、有语义的信息。比如说,A是一个甚于Word文档的、有语义的电子合同,而B却不可能是一个刚好符合Word格式的文档,只能是一堆乱码,也就是说,B不可能是一个有效的、有意义的并且符合伪造者期望的电子合同。再比如说,A是一个符合X509格式的数字证书,那么我们推出的B不可能刚好也是一个符合X509格式而且是伪造者希望的数字证书。还有我们知道,电子合同是需要双方、甚至多方电子签名的。对于双方签名,这相当于我们先产生A的散列值H1,然后对A和H1合起来的信息进一步产生散列值H2。我们目前的研究发现还无法找到一个方法,推出一个信息B刚好产生同样的H1和H2。(这个B是一定存在的!只是目前不知道怎样找!)其次,MD5被破解了,我们现在还有SHA-1等其他散列算法,以后还可以有新的、更安全的散列算法。总之,这里MD5算法的破解对实际应用的冲击要远远小于它的理论意义,不会造成PKI、数字签 名安全体系的崩溃,这也是为什么MD5散列算法的破解并没有造成密码界、PKI行业的恐慌的原因。当然,我们也为中国人在密码学上取得的杰出成就起立鼓掌。 参考文献【1】 2004国际密码学会议(Crypto’2004)破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告王小云等【2】 应用密码学,Bruce Schneier着,吴世忠等译。 http://www.chinesebloger.com
③ md5可逆吗
MD5作为一种校验手段而不是加密手段。在内容字节长度小于MD5值的字节长度,是可逆的,但存在重复的可能。
由于概率较低,且基于加密前内容一般可识读,所以你懂的为毛有那么多md5解密的网站,但是又有人说md5绝对不可逆。首先md5不是加密,只是根据已有数据生成特征值,用于签名,完整性检查。好的散列算法要求a到b容易,但找到能生成b的数据难;a变动一点点,b完全不一样。md5是单向函数,所以他是不可逆的,有人说,为什么网上能解密,那并不是真正意思的解密,而是采用暴力破解的方式去猜测这个密码。
④ 山东大学的王小云真的研究出了MD5的逆向算法吗
MD5是不可能逆向的。王教授的碰撞法是利用了MD5或者SHA1算法的一个特性,根据MD5和SHA1等Hash算法的特点,因为他们是任意长度的字符串变成固定长度的摘要信息。那么这里就有可能发生一个问题,就是不同的字符串在理论上是有可能产生相同的摘要信息。王教授所谓的碰撞法,碰撞的就是不同的字符串所产生的摘要信息是一样的那些字符串。因此得名碰撞法。 碰撞就是体现在这里。没有什么其它的传神的东西了。根据SHA1和MD5等Hash算法,在设计时候,设计这个算法的人认为不同的字符串要产生相同结果的摘要信息的可能性几乎为零。而王教授则证明了SHA1和MD5等Hash算法产生的摘要信息规则是可以在比较短时间内被破解的。这样一来,原始数据的 Integrity 就被打破了。 所谓的破解,也就是体现在这里。至于破解工具,下面的地址提供一些免费的破解服务,能破解一些简单的密码,其实都是采用字典或暴力破解。 www.cmd5.com www.xmd5.org我有时去破解一些常用的密码,有一定的成功率
⑤ 求:MD5逆运算算法
对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
第一步、填充:如果输入信息的长度(bit)对512求余的结果不等于448,就需要填充使得对512求余的结果等于448。填充的方法是填充一个1和n个0。填充完后,信息的长度就为N*512+448(bit);
第二步、记录信息长度:用64位来存储填充前信息长度。这64位加在第一步结果的后面,这样信息长度就变为N*512+448+64=(N+1)*512位。
第三步、装入标准的幻数(四个整数):标准的幻数(物理顺序)是(A=(01234567)16,B=(89ABCDEF)16,C=(FEDCBA98)16,D=(76543210)16)。如果在程序中定义应该是(A=0X67452301L,B=0XEFCDAB89L,C=0X98BADCFEL,D=0X10325476L)。
⑥ 为什么md5哈希值是不可逆
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。
MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。
MD5属于消息摘要,不属于严格意义上的加密算法。它只是将数据按照指定算法压缩成长度固定的摘要信息,并非用于还原数据。
举个简单的例子,摘要算法就好比将一本书的每一页第一个字的笔画数计算出来,并拼接在一起,组成了一个很长的数字串。不论何时,按相同的算法计算这本书的摘要,都是完全一样的。但通过这个数字串,无法还原出书中的数据,即过程不可逆。md5算法类似于这种计算摘要的思想,只是具体实现要复杂很多。