您当前的位置:首页>论文资料>报文摘要算法MD5的分析与改进

报文摘要算法MD5的分析与改进

资料类别:论文资料

文档格式:PDF电子版

文件大小:2.68 MB

资料语言:中文

更新时间:2024-11-29 17:16:54



推荐标签:

内容简介

报文摘要算法MD5的分析与改进 数学执车与率用
报文摘要算法MD5的分析与改进
汪助亮赵春霞郭剑辉
(南京理工大学计算机科学与工程学院江苏南京210000)
算法分析
摘要:MD5算法在数据加密方面有着广泛的应用,但是它无法抵御查字典攻击和差分等攻击。为此本文介绍了报文摘要算法MD5和Base64算法,以及在两种算法的基础上提出了MD5的改进算法,以应对以上被攻击的缺陷。
关键词:报文摘要算法Hash函数Base64算法改进算法宇典攻击
中图分类号:TP393.08
文献标识码:A
文章编号:1007-9416(2014)08-0117-03
AbstractMD5 encryption algorithm in the data has 2 wide range of applications,but it can not resist dictionary attacks and differential ttacks.This paper introduces the MD5 message digest algorithm and Base64 algorithm,and two algorithms based on the proposed the improved MD5 algorithm,the effect is to deal with the above attack.
Key Words:Message Digest Algorithm The Hash function Base64 algorithm Improved algorithm Dictionary attacks
1概述
随着信息化的高速发展,人们对信息安全的需求接距面至。我们经常需要一种措施来保护我们的数据,防止被一些怀有不良用心的人所看到或者破坏。人才竞争、市场竞争、金融危机,敌特机构等都给企事业单位的发展带来巨大风险,内部窃密、黑客攻击无意识泄密等窃密手段成为了人与人之间,企业与企业之间、国与国之间的安全隐患,因此,在客观上就需要一种强有力的安全措施来保护机密数据不被窃取或算改。解决这个问题的方式就是通过数据加密。进几年来各大知名网站相继爆出数据库密码被黑,造成上千万用户的用户密码丢失,由于大部分用户的很多网站的账号密码由此带来的危害是不可预测的。所以对数据进行加密就显得非常必要。
1991年,Rivest开发出技术上更为趋近成熟的md5算法。它在 MD4的基础上增加了"安全一带子"(safety-belts)的概念。虽然MD5 比MD4复杂度大一些,但却更为安全。这个算法很明显的由四个和 MD4设计有少许不同的步骤组成。在MD5算法中,信息一摘要的大小和填充的必要条件与MD4完全相同,Denboer和Bosselaers曾发现MD5算法中的假冲突(pseudo-collisions),但除此之外就没有其他被发现的加密后结果了。
普追认为MD5是很安全,因为暴力破解的时间是一般人无法接受的。实际上如果把用户的密码MD5处理后再存储到数据库,其实是很不安全的,因为用户的密码是比较短的,而且很多用户的密码都使用生日,手机号码,身份证号码,电话号码等等。或者使用常用的一些吉利的数字,或者某个英文单词,如果把常用的密码先MD5 处理,把数据存储起来,然后再跟你的MD5结果匹配,这时就有可能得到明文。
2MD5算法和Base64算法原理
MD5算法过程:
MD5算法可以简要的叙述为:MD5是以512位分组来进行处理输人的信息,面且每一个分组同时又被划分成16个32位的子分组,经过一系列的处理后,它的输出同时由四个32位分组进行组成,盒后将这四个32位分组进行级联后将生成一个128位的散列值。
(1)填充:如果输人信息的长度(bit)对512求余后得到结果不等于收移日期:2014-08-23
基金项目:江苏省自然科学基金青年基金项日(BK20140794)
作者简介:注励亮(1989一),男,安微踪州人,颈士研究生,在校学生
448,那么就需要填充使得对512求余的结果为448填充的办法是填充一个1和n个0。填充结束后,信息的长度就变成了N+512+448(bit)。
(2)记录信息的长度:用64位大小来存储填充前信息的长度。把这64位加在第一步所计算结果的后面,这样信息的长度大小就变成『N+512+448+64=(N+1)+512位,
(3)装人标准的幻数(四个整数):标准的幻数(物理顺序)是(A=(01234567)16,B=(89ABCDEF)16,C=(FEDCBA98)16,D=(76543210)16)。如果在程序中定义应该是(A=0X67452301L, B=0XEFCDAB89L,C=0X98BADCFEL,D=0X10325476L)。
(4)四轮循环运算:循环的次数是分组的个数(N+1):
1)将每一512字节细分成16个小组,每个小组64位(8个字节); 2)先认识四个线性函数(&是与,是或,是非,是异或):
F(X, Y.Z)=(X&Y)((X)&Z) G(X,Y,Z)=(X&Z)I(Y&(°Z))
H(X,Y,Z)=X"Y"Z I(X, Y,Z)=Y'(xI("Z))
3)设Mj表示消息的第j个子分组(从0到15),<< FF(a,b,c,d,Mj,s,ti)表示a=b+(a+F(b,c,d)+Mj+ti)<< 5)每轮循环后,将A,B,C,D分别加上a,b,c,d.然后进人下一循环。
Base64算法过程5]:
根据Base64编码的原理,先将输人信息转化为二进制流,然后每次取出其中的6位,与标准编码表对照,找到相应的ASCI字符,最后将取出的字符转化为输出即可得编码流。
具体实现步骤如下:(1)取编码表值方法。
将字符转化为6位二进制数据流, 1)从标准编码表的第一个字符开始:
2)如果要查找的字符和标准编码表的当前字符相等,则返回字
117
上一章:并行计算的内存访问方法 下一章:PSO-BP算法优化PID控制在光照系统中的应用

相关文章

入侵检测系统中的改进数据挖掘算法分析 基于改进算法的MBD模型信息提取方法与运用 基于光谱与空间特征结合的改进高光谱数据分类算法 基于改进阈值分割与形态学的螺钉目标检测算法 改进等微增率算法求解火电负荷分配问题的实用化研究与应用 WLAN的切换决策算法的改进 基于粗糙集-遗传算法改进的BP神经网络算法研究 基于改进粒子群算法的汽轮机初、终参数优化算法