田鑫,专业云、网、数据、安全一体化服务商

赋能企业发展数字化经济

田鑫动态>田鑫百科>广域网加速技术数据压缩,MD5 算法

广域网加速技术数据压缩,MD5 算法

广域网的应用现已渗透到生活的方方面面。关于广域网加速技术也成为研究的热点,其中主流的方法主要可以分为两大类:数据压缩和传输协议优化。
 

下面介绍一些常见的数据压缩算法,MD5 算法。
 

MD5(Message-Digest Algorithm 5)是计算机科学里常用的一种算法,具有压缩长度固定、抗修改性很好的特点,且非常容易计算。MD5 哈希值就像是人的指纹一样,每个文件的 MD5 值是独一无二的,稍有改动,其 MD5 值就会发生变化,所以 MD5 算法常用来保护数据消息的完整性。
 


MD5 算法的简要过程如下:MD5 算法以 512 位的分组来处理输入的信息,然后又将每个 512 位的分组均分成数个 32 的子分组,再经过一系列的数据处理流程后,产生 128 位的哈希值即为最终的 MD5 值。

因为输入的数据位数可能不满足条件,所以第一步要对输入信息进行填充,需要在消息的后面填充一个 1 和若干个 0,使得信息的位长满足 N*512+448(其中 N 为 0 或者正整数)为止;接着再在这个结果后面添加上一个 64 位的二进制数,该数表示原信息的长度,取低 64 位即可,这样最后得到的信息位长是 512 的整数倍;定义四个 16 进制参数 A、B、C、D,在程序中的值分别为 A=0x67452301,B=0xEFCDAB89,C=0x98BADCFE,D=0x10325476;以下 4 个函数是后续步骤将要用到的,其中的“&”、 “|”、“~”、“^”分别是与、或、非、异或操作符; 

(1)F( X ,Y ,Z ) = ( X & Y ) | ( (~X) & Z ) 
(2)G( X ,Y ,Z ) = ( X & Z ) | ( Y & (~Z) ) 
(3)H( X ,Y ,Z ) =X ^ Y ^ Z 
(4)I( X ,Y ,Z ) =Y ^ ( X | (~Z) )

又假设 Mj 的含义是输入消息的第 j 个子分组,常数 ti 的值为 2 的 32 次方乘以 abs( sin(i) )的整数部分,i 可以取 1 到 64 的任意整数,“<<”表示循环左移,定义如下表达式: 

(1)FF(a ,b ,c ,d ,Mj ,s ,ti ) 操作为 a = b + ( (a + F(b,c,d) + Mj + ti) << s) 
(2)GG(a ,b ,c ,d ,Mj ,s ,ti ) 操作为 a = b + ( (a + G(b,c,d) + Mj + ti) << s) 
(3)HH(a ,b ,c ,d ,Mj ,s ,ti) 操作为 a = b + ( (a + H(b,c,d) + Mj + ti) << s)
(4)II(a ,b ,c ,d ,Mj ,s ,ti) 操作为 a = b + ( (a + I(b,c,d) + Mj + ti) << s) 

接着一共进行四轮操作,每轮进行 16 次函数运算,将每次得到的结果左随机的位数,并将结果与前面未用到的分组相加,并赋值给 a,b,c,d,将最后一轮计算结果再加上 A,B,C,D 并级联就得到了输入信息的 MD5 指纹值了。
 

田鑫,专业的企业组网服务商,致力于为企业提供企业组网(SD-WAN、MPLS、云互联),业务云化、数据中心、网络安全、行业IT解决方案等相关服务。

 

 

更多相关内容推荐:

广域网加速,数据压缩技术的发展现状
应用于网络路由之上的广域网数据压缩软件

广域网加速技术:数据压缩和传输协议优化

Copyright © 2016-2030 深圳市田鑫科技有限公司版权所有   粤ICP备16070069号-2粤公网安备 44030502003803号
公司地址:广东省深圳市南山区留仙大道创智云城一期A7座901
TOP