没有合适的资源?快使用搜索试试~ 我知道了~
3个著名加密算法(MD5、RSA、DES)的解析.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 179 浏览量
2022-05-05
22:26:06
上传
评论
收藏 60KB DOC 举报
温馨提示
试读
12页
3个著名加密算法(MD5、RSA、DES)的解析.doc
资源推荐
资源详情
资源评论
3 个著名加密算法(MD5、RSA、DES)的解析
的全称是 ,在 年代初由 的计算机科学实验室
和 发明,经 、 和 发展而来。
将任意长度的“字节串”变换成一个 !" 的大整数,并且它是一个不可逆的字符串变
换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个 的值变换回原始
的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学
函数。
的典型应用是对一段 #字节串$产生 %&#指纹$,以防止被“篡改”。举
个例子,你将一段话写在一个叫 '() 文件中,并对这个 '() 产生一个
的值并记录在案,然后你可以传播这个文件给别人,别人如果修改了文件中的任何内容,你对
这个文件重新计算 时就会发现。如果再有一个第三方的认证机构,用 还可以防止文
件作者的“抵赖”,这就是所谓的数字签名应用。
还广泛用于加密和解密技术上,在很多操作系统中,用户的密码是以 值(或类似
的其它算法)的方式保存的, 用户 * 的时候,系统是把用户输入的密码计算成 值,
然后再去和系统中保存的 值进行比较,而系统并不“知道”用户的密码是什么。
是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算
法的名字以发明者的名字命名:+,'和 *''。但 的
安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破。
- 算法
美国国家标准局 . 年开始研究除国防部外的其它部门的计算机系统的数据加密标准,于
. 年 月 日和 . 年 ! 月 . 日先后两次向公众发出了征求加密算法的公告。 ..
年 月,美国政府颁布:采纳 / 公司设计的方案作为非机密数据的正式数据加密标准
(-0-&'')。
1.加密算法之 MD5 算法
在一些初始化处理后, 以 位分组来处理输入文本,每一分组又划分为 1 个 位子
分组。算法的输出由四个 位分组组成,将它们级联形成一个 ! 位散列值。
首先填充消息使其长度恰好为一个比 位的倍数仅小 1 位的数。填充方法是附一个 在消
息后面,后接所要求的多个 ,然后在其后附上 1 位的消息长度(填充前)。这两步的作用是
使消息长度恰好是 位的整数倍(算法的其余部分要求如此),同时确保不同的消息在填充
后不相同。
四个 位变量初始化为:
23 1.
/23!"'4
52)4'"!
23.1
它们称为链接变量(+")
接着进行算法的主循环,循环的次数是消息中 位消息分组的数目。
将上面四个变量复制到别外的变量中: 到 ,/ 到 ",5 到 , 到 '。
主循环有四轮( 只有三轮),每轮很相拟。第一轮进行 1 次操作。每次操作对 ,",
和 ' 中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分
组和一个常数。再将所得结果向右环移一个不定的数,并加上 ,", 或 ' 中之一。最后用该
结果取代 ,", 或 ' 中之一。
以一下是每次操作中用到的四个非线性函数(每轮一个)。
6#7,8,9$2#7:8$;##<7$:9$
=#7,8,9$2#7:9$;#8:#<9$$
>#7,8,9$27?8?9
#7,8,9$28?#7;#<9$$
#:是与,;是或,<是非,?是异或$
这些函数是这样设计的:如果 7、8 和 9 的对应位是独立和均匀的,那么结果的每一位也应是
独立和均匀的。
函数 6 是按逐位方式操作:如果 7,那么 8,否则 9。函数 > 是逐位奇偶操作符。
设 @ 表示消息的第 @ 个子分组(从 到 ),AAA 表示循环左移 位,则四种操作为:
66#,",,',@,,$表示 2"B##B#6#",,'$B@B$AAA$
==#,",,',@,,$表示 2"B##B#=#",,'$B@B$AAA$
>>#,",,',@,,$表示 2"B##B#>#",,'$B@B$AAA$
#,",,',@,,$表示 2"B##B##",,'$B@B$AAA$
这四轮(1 步)是:
第一轮
66#,",,',,.,)'.1.!$
66#',,",, , ,)!.".1$
66#,',,",, .,3.'"$
66#",,',,,,) "'$
66#,",,',,.,)4.44$
66#',,",,, ,3.!.1$
66#,',,",1, .,)!1 $
66#",,',,.,,)4'1 $
66#,",,',!,.,31!!'!$
66#',,",,, ,3!"4.4$
66#,',,", , .,)CC"" $
66#",,',, ,,3!'."$
66#,",,', ,.,31" $
66#',,",, , ,)4'!. $
66#,',,", , .,)1.!$
66#",,',, ,,3"! $
第二轮
==#,",,', ,,)41 1$
==#',,",,1,,)"$
==#,',,", , ,31 $
==#",,',,,,)"1.$
==#,",,',,,)'14 '$
==#',,",, ,,3 $
==#,',,", , ,)'! 1! $
==#",,',,,,).'4"!$
==#,",,',,,3 '1$
==#',,",, ,,)..'1$
==#,',,",, ,)4''!.$
==#",,',,!,,3 '$
==#,",,', ,,)$
==#',,",,,,)444!$
==#,',,",., ,31.14'$
==#",,',, ,,3!'!$
第三轮
>>#,",,',,,)C4$
>>#',,",,!, ,3!.. 41! $
>>#,',,", , 1,31''1 $
>>#",,',, ,,)4'!$
>>#,",,', ,,)"$
>>#',,",,, ,3"'4$
>>#,',,",., 1,)41"""1$
>>#",,',, ,,)""4".$
>>#,",,', ,,3!".1$
>>#',,",,, ,) .4$
>>#,',,",, 1,)'4!$
>>#",,',,1,,3!! '$
>>#,",,',,,)'''$
>>#',,",, , ,)1'"$
>>#,',,", , 1,3 4.4!$
剩余11页未读,继续阅读
资源评论
老帽爬新坡
- 粉丝: 79
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功