APP下载

分析MD5加密逆向破解及安全性改进

2015-03-18崔永辉贾连兴何凤军

网络安全技术与应用 2015年10期
关键词:第五版明文逆向

◆崔永辉 贾连兴 何凤军

0 引言

由于当今网络技术的快速进步,网络风险随之提升,确保网络安全已是人们重视的方向。从网络出现的时候开始,网络加密和网络破解的争斗始终在持续。本文根据Orac1e RDBMS,列举了利用枚举法设立明文以建立MD5反向查询数据库,且根据碰撞攻击与逆向查询,归纳针对MD5算法的各类完善方式。

1 MD5加密基本原理

MD5加密其实是散列,a=A(B),B是明文,a是密文,具备容易解算、单向以及抗碰撞的优势。进行加密阶段,把录入数据以512位实行划分组别,各组分为十六个三十二位组别,通过添加、记载、初始化和4轮反复计算,得到由4个32位组联合的128位散列。

(1)添加数据,添加1个1与n个0,确保录入数据长度针对512位求余为448。其数据长度:

N×512+448(bit)

(2)记载数据长度,添加数据后,把之前数据长度运用64位实行储存且在后面填充。即长度:

N×512+448+64=(N+1)×512(bit)

(3)初始MD缓冲寄存器,4个32位MD5链接变量添加道其余4个中:X到x,Y到y,Z到z,K到k:

X=0×67452301L

Y=0×EFZKXY89L

Z=0×98YXKZFEL

K=0×10325476L

(4)进行4轮重复计算,组别数目“N+1”是重复量,主要重复为四轮,各轮重复几乎相同。选择x,y,z,k其中3个进行一次非线性函数计算,得到的结论和余下的变量和一个子组别与一个常量作和。再把取得的结论向左移动一个不定量,与x,y,z,k的一个作和,使用此结论替换四个变量中的一个,最终得到128位散列。

2 根据C语言建立MD5反向库

2.1 建立明文数据库

网络平台能够针对构成因素的枚举法和排序法建立用户名和密码的初始明文。其中,Orac1e RDBMS是当前应用最广的B/S模式构造信息数据库,应对大量信息的时候,安全稳定性相比sq1 server更优秀,数据库导入工具sq11oad.exe性能和sq1 server中基本呼叫处理更好,能够基于要求将文本信息导进数据库,密码组成之后,遵循ASCⅡ码值针对明文排列顺序,以便之后按照次序运用MD5。

2.2 构建反向查询数据库

运用加密MD5,针对排列顺序之后设立的数据库实行加密,六位明文与三十二位MD5之间构成应对联系,通过排序法基于散列再次排列顺序,六位字母和数字组最后产生的数据库大约有102.4G,针对查询库的管理水平设定了更高标准,因 Orac1e RDBMS运用并行网络服务器,把单个查找分为许多小查找,于不同的中央处理器内进行子查找,工作量通常于系统运作之后持续提升,于大规模平台的运用阶段,把数据库添加进系统数据库中,利用操作面,针对明文实行MD5二分查询,确保针对MD5加密逆向查询要求。

3 基于MD5算法的安全性改进

MD5属于实行身份认定的算法,安全性不足,能够利用建立散列确保两个不一样的密码应对相同中文名为消息摘要算法第五版,同样能建立逆向数据库,运用MD5查找密码。因此,MD5算法通常无法应用在安全规定严格的Security Socket Layer和电子签章,目前 SHA-2为应用最广的散列加密。但因其开放源代码、不收费和破解问题依然没能获得更多运用,对于 MD5算法实行合理的安全完善依然很关键。

3.1 MD5应对碰撞攻击

因消息摘要算法第五版加密法实际是散列a=A(B),如果可以得到B1,得到a=A(B1),那么B与B1属于碰撞,碰撞攻击为针对散列的主要攻击方式,想破解算法第五版即找到碰撞阶段,当前,差分法建立MD5碰撞攻击,体现两量间各个位不同,若要快速找到碰撞,则需选用更好的差分,明确差分通道,通过非线性函数特征掌控差分通道,通过更改消息与碰撞搜寻实现符合消息搜寻,基于消息差分法去的碰撞数据。通常采取如下两点方式:

3.1.1 制约差分通道与消息更改

消息摘要算法第五版运算前,针对消息实行预先处置,使初始函数a=A(B),通过预先处置Φ(B)变a1(B=A(Φ(B)),预先处置通常为两类方法,其一,消息半径相隔或者存在规律性相隔插进字符,找到消息差分则更难,其二,提升消息堆叠,进行消息划分组别的结尾填充最终的三十二位消息字符,该方式能够确保消息差分法字符串相对于同样长度的零字符串的汉明距离非奇数,损坏消息差分通道与碰撞查找方式。

3.1.2 改变MD5初始数值

MD5.asp内,把4个MD缓冲寄存器初始数值稍微更改,形成新消息摘要算法第五版,哪怕仅更改单个数的任何一位,就会极难破解。

3.2 对于逆向查询

如果逆向数据库空间足够,电脑处置快速,则能在时限内直观找到MD5数值。利用客户与系统针对消息摘要算法第五版算法进行少量更改或者辅助完善,就可使逆向查询更难。

(1)客户自主完善,客户设定密码过程中,运用英文字母、阿拉伯数字以及符号实行随机构成,增加设定密码的长度,针对其实行定时更改,以降低遭到字典信息匹配的概率,切实降低遭到破解的可能性。

(2)辅助改善,系统通过阿拉伯数字、英文字母以及符号替客户设定的密码添加特别的前后缀,增加设定的密码长度,避免客户密码较短或太简单。且针对该前后缀定时实行更改或随机形成,纵然遭到破解,仅为增加长度之后的密码,实际密码依然没有危险。通过此类的处置,客户的密码遭到破解的概率则可以切实减少。

(3)多次实行加密,实行单次消息摘要算法第五版加密之后,针对产生的密码所有或者一些再次实行单次或者多次修改,使其更难在字典中快速查找。比如,md5(md5(gh1ksdha1))针对MD5密码的所有实行多次的加密,md5(1eft(md5(gh1ksdha1),30))是针对MD5密码的左30位实行再次加密。且事实表明,反复消息摘要算法第五版加密对别的时间功能无影响。

(4)查询库添加盐(sa1t),通过散列具备雪崩效应的特点,客户设置密码过程中,产生随机字符,即盐(Sa1t),储存于另外的信息表或者查询库内,和客户口令彼此联系,之后使用 hash函数针对盐(Sa1t)实行消息摘要算法第五版加密,进而使消息摘要算法第五版加密结论储存进查询库。此举可以很大程度使逆向查询更难,并消除了weak password的情况。

4 总结

该分析采用枚举法建立明文库,很大程度提升了密码破解难度,体现了Orac1e RDBMS处置大量信息的稳定性与性能优异的特点,确保建立的MD5逆向查询库阶段符合储存大空间、运作成效高以及操作简单的特征,最终以当前运用方面为基础,归纳了各类改进方案,改进了MD5算法的安全性。

猜你喜欢

第五版明文逆向
逆向而行
《中图法:第五版》“J艺术”类的修订
奇怪的处罚
对《中国图书馆分类法》(第五版)F经济类目修订的探讨
奇怪的处罚
四部委明文反对垃圾焚烧低价竞争
关于网络小说在《中图法》第五版中的分类浅析
逆向工程技术及应用