安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能对比
下载中心
购买咨询
客户列表
关于安企神

MD5加密算法解析

更新时间:2022-10-28 15:42:43


本文简介:MD5加密算法的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4加密算法发展而来。MD5加密算法将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5值变换回原始的字符串,从数学原

MD5加密算法解析

MD5加密算法的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2、MD3和MD4加密算法发展而来。

MD5加密算法将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。

MD5加密算法的典型应用之数字签名

MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对这个文件重新计算MD5时就会发现。如果再有一个第三方的认证机构,用MD5还可以防止文件作者的“抵赖”,这就是所谓的数字签名应用。

MD5加密算法的典型应用之存储用户密码

MD5还广泛用于加密和解密技术上,在很多系统中的用户密码是以MD5值(或类似的其它算法)的方式保存的, 用户登录系统时,系统是把用户输入的密码计算成MD5值,然后再去和系统中保存的MD5值进行比较,而系统并不“知道”用户的密码是什么。

MD5加密算法解析

在一些初始化处理后,MD5以512位分组来处理输入文本,每一分组又划分为16个32位子分组。算法的输出由四个32位分组组成,将它们级联形成一个128位散列值。

首先填充消息使其长度恰好为一个比512位的倍数仅小64位的数。填充方法是附一个1在消息后面,后接所要求的多个0,然后在其后附上64位的消息长度(填充前)。这两步的作用是使消息长度恰好是512位的整数倍(算法的其余部分要求如此),同时确保不同的消息在填充后不相同。

四个32位变量初始化为:
A=0x01234567
B=0x89abcdef
C=0xfedcba98
D=0x76543210

它们称为链接变量(chaining variable)

接着进行算法的主循环,循环的次数是消息中512位消息分组的数目。

将上面四个变量复制到别外的变量中:A到a,B到b,C到c,D到d。

主循环有四轮(MD4只有三轮),每轮很相拟。第一轮进行16次操作。每次操作对a,b,c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上a,b,c或d中之一。

最后用该结果取代a,b,c或d中之一。

以下是每次操作中用到的四个非线性函数(每轮一个)。
F(X,Y,Z)=(X&Y)|((~X)&Z)
G(X,Y,Z)=(X&Z)|(Y&(~Z))
H(X,Y,Z)=X^Y^Z
I(X,Y,Z)=Y^(X|(~Z))

(&是与,|是或,~是非,^是异或)

这些函数是这样设计的:如果X、Y和Z的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的。

函数F是按逐位方式操作:如果X,那么Y,否则Z。函数H是逐位奇偶操作符。

设Mj表示消息的第j个子分组(从0到15),<<< s表示循环左移s位,则四种操作为:
FF(a,b,c,d,Mj,s,ti)表示a=b+((a+(F(b,c,d)+Mj+ti)<<< s)
GG(a,b,c,d,Mj,s,ti)表示a=b+((a+(G(b,c,d)+Mj+ti)<<< s)
HH(a,b,c,d,Mj,s,ti)表示a=b+((a+(H(b,c,d)+Mj+ti)<<< s)
II(a,b,c,d,Mj,s,ti)表示a=b+((a+(I(b,c,d)+Mj+ti)<<< s)

这四轮(64步)是:

第一轮
FF(a,b,c,d,M0,7,0xd76aa478)
FF(d,a,b,c,M1,12,0xe8c7b756)
FF(c,d,a,b,M2,17,0x242070db)
FF(b,c,d,a,M3,22,0xc1bdceee)
FF(a,b,c,d,M4,7,0xf57c0faf)
FF(d,a,b,c,M5,12,0x4787c62a)
FF(c,d,a,b,M6,17,0xa8304613)
FF(b,c,d,a,M7,22,0xfd469501)
FF(a,b,c,d,M8,7,0x698098d8)
FF(d,a,b,c,M9,12,0x8b44f7af)
FF(c,d,a,b,M10,17,0xffff5bb1)
FF(b,c,d,a,M11,22,0x895cd7be)
FF(a,b,c,d,M12,7,0x6b901122)
FF(d,a,b,c,M13,12,0xfd987193)
FF(c,d,a,b,M14,17,0xa679438e)
FF(b,c,d,a,M15,22,0x49b40821)

第二轮
GG(a,b,c,d,M1,5,0xf61e2562)
GG(d,a,b,c,M6,9,0xc040b340)
GG(c,d,a,b,M11,14,0x265e5a51)
GG(b,c,d,a,M0,20,0xe9b6c7aa)
GG(a,b,c,d,M5,5,0xd62f105d)
GG(d,a,b,c,M10,9,0x02441453)
GG(c,d,a,b,M15,14,0xd8a1e681)
GG(b,c,d,a,M4,20,0xe7d3fbc8)
GG(a,b,c,d,M9,5,0x21e1cde6)
GG(d,a,b,c,M14,9,0xc33707d6)
GG(c,d,a,b,M3,14,0xf4d50d87)
GG(b,c,d,a,M8,20,0x455a14ed)
GG(a,b,c,d,M13,5,0xa9e3e905)
GG(d,a,b,c,M2,9,0xfcefa3f8)
GG(c,d,a,b,M7,14,0x676f02d9)
GG(b,c,d,a,M12,20,0x8d2a4c8a)

第三轮
HH(a,b,c,d,M5,4,0xfffa3942)
HH(d,a,b,c,M8,11,0x8771f681)
HH(c,d,a,b,M11,16,0x6d9d6122)
HH(b,c,d,a,M14,23,0xfde5380c)
HH(a,b,c,d,M1,4,0xa4beea44)
HH(d,a,b,c,M4,11,0x4bdecfa9)
HH(c,d,a,b,M7,16,0xf6bb4b60)
HH(b,c,d,a,M10,23,0xbebfbc70)
HH(a,b,c,d,M13,4,0x289b7ec6)
HH(d,a,b,c,M0,11,0xeaa127fa)
HH(c,d,a,b,M3,16,0xd4ef3085)
HH(b,c,d,a,M6,23,0x04881d05)
HH(a,b,c,d,M9,4,0xd9d4d039)
HH(d,a,b,c,M12,11,0xe6db99e5)
HH(c,d,a,b,M15,16,0x1fa27cf8)
HH(b,c,d,a,M2,23,0xc4ac5665)

第四轮
II(a,b,c,d,M0,6,0xf4292244)
II(d,a,b,c,M7,10,0x432aff97)
II(c,d,a,b,M14,15,0xab9423a7)
II(b,c,d,a,M5,21,0xfc93a039)
II(a,b,c,d,M12,6,0x655b59c3)
II(d,a,b,c,M3,10,0x8f0ccc92)
II(c,d,a,b,M10,15,0xffeff47d)
II(b,c,d,a,M1,21,0x85845dd1)
II(a,b,c,d,M8,6,0x6fa87e4f)
II(d,a,b,c,M15,10,0xfe2ce6e0)
II(c,d,a,b,M6,15,0xa3014314)
II(b,c,d,a,M13,21,0x4e0811a1)
II(a,b,c,d,M4,6,0xf7537e82)
II(d,a,b,c,M11,10,0xbd3af235)
II(c,d,a,b,M2,15,0x2ad7d2bb)
II(b,c,d,a,M9,21,0xeb86d391)

常数ti可以如下选择:

在第i步中,ti是4294967296*abs(sin(i))的整数部分,i的单位是弧度。 (2的32次方)所有这些完成之后,将A,B,C,D分别加上a,b,c,d。然后用下一分组数据继续运行算法,最后的输出是A,B,C和D的级联。

MD5加密算法的安全性

MD5相对MD4所作的改进:

1.增加了第四轮.
2.每一步均有唯一的加法常数.
3.为减弱第二轮中函数G的对称性从(X&Y)|(X&Z)|(Y&Z)变为(X&Z)|(Y&(~Z))
4.第一步加上了上一步的结果,这将引起更快的雪崩效应.
5.改变了第二轮和第三轮中访问消息子分组的次序,使其更不相似.
6.近似优化了每一轮中的循环左移位移量以实现更快的雪崩效应.各轮的位移量互不相同.

立即下载试用

安企神加密软件

时代飞速发展,选择靠谱的安全软件用来保护企业的私密文件和知识产权变成不可或缺的一环,许多公司因为内部文件被泄露破产,今天为大家带来企业安全神器——安企神,它不仅可以保护您的计算机免受病毒和恶意软件的攻击,还可以对您的文件进行加密,只能在企业局域网内部查看和使用,外发出去全是乱码,而且U盘也拷贝不下来,丰富的功能确保企业的数据安全。除了基本的加密功能之外,安企神加密软件还有超多实用的功能。

333.jpeg

首先,安企神除了可以对文件进行加密,还能管理局域网内的其他电脑设备。管理者可以在后台实时监控其他的计算机,还可以设置敏感词,随时监控内部文件和企业员工的动态,几十上百台的电脑设备也可以轻松管理。

其次,安企神还有网络审计的功能,管理端可以看到被控端的实时桌面,可以很方便的看到被控端电脑上的文件操作日志,什么文件进行了查看和复制等操作都能一目了然。如果有需求,也能查看被控端电脑打开过什么网页,在聊天软件上的聊天记录等数据。

3331.webp

有了它,可以更好的保护企业的隐私信息,如密码、个人信息等。当您安装了安企神加密软件后,它可以自动保护您的隐私信息,有风险会及时提醒,确保您的隐私安全。


33.png

数据可能会以各种各样的方式泄露出去,安企神可以一键对U盘,打印机进行管理,彻底禁止这些途径,而且想通过聊天工具,云盘,邮件等方式泄露也无法奏效,使用安企神,不必再担心数据会泄密,安企神有着专业的团队为您解忧。

安企神还有几大亮点

1、悄无声息查看局域网内其他电脑的屏幕和后台终端,随时可以查看被控端电脑的后台运行程序,还有非常智能的员工行为分析,可以看到员工的工作状态,离职概率等,轻松查看员工电脑各个应用和文件的运行时间,看到每天每个人的工作时长,也能看到员工是否在工作期间摸鱼,摸鱼多次时间。

2、实时屏幕,可以同时查看其他设备的实时屏幕,就像在看监控,屏幕都是高清流畅的,还能远程操作被控端的电脑。

3、远程协助,被控端的电脑遇到任何问题,都可以通过管理端进行帮助,多台被控端电脑可以一键关机或者重启,也能设置每天晚上十点自动关机。

4、加密文件自动备份,使用者可以对企业的重要文件进行加密,从而有效的保护信息安全,还有落地加密的功能,通过下载到指定路径的文件,可以自动加密/解密。

5、USB存储控制,支持允许使用、仅读取、仅写入和禁止使用四种模式,管理者可以根据需求进行使用。也允许客户端向管理员提交使用U盘的申请,由管理员进行审批。

安企神加密软件是一款实用性非常强的安全软件,它不仅具有基本的加密功能,还具有实时监控、数据备份、隐私保护和系统优化等多项功能。如果您想保护您的计算机和数据安全,不妨考虑使用安企神加密软件。


本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16216.html