- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 信息认证技术 ;3.1 概述;3.1 概述;3.2 哈希函数 ;性质:
固定长度输出散列值h。
给定M,很容易计算h。
给定h,根据H(M)=h计算M很难。
给定M,找到另一消息M’,满足H(M)=H(M’),在计算上是不可行的---弱抗碰撞性。
对于任意两个不同的消息 M ≠M’,它们的散列值不可能相同---强抗碰撞性。
注:碰撞性是指对于两个不同的消息M和M’ ,如果它们的摘要值相同,则发生了碰撞。;安全散列函数的一般结构;常用的哈希函数
MD5
SHA-1
RIPEMD-160
等等 ;MD5算法;MD5算法实现逻辑由4个步骤组成:
S1:消息分组与填充。
(1)将输入信息M按顺序每512位一组进行分组:
M = M1,M2,…,Mn-1,Mn
(2)将信息M的Mn长度填充为448位。
当Mn长度L(bit为单位) 448时,在信息Mn后加一个“1”,然后再填充447-L个“0”,使最后的信息Mn长度为448位。
当Mn长度L 448时,在信息Mn后加一个“1”,然后再填充512-L+447个“0”,使最后的信息Mn长度为512位,Mn+1长度为448位
最后一个分组的后64位为M的位长度(低字节优先)。
S2:缓冲区初始化。
MD5算法使用128位缓冲区存放处理过程的中间结果和最后的消息摘要值。这128位缓冲分为4个32位逻辑寄存器A、B、C、D。每个寄存器以Little-Endian存放数据,其初始值为:
A=0x1234567,B=0x89abcdef,C=0xfedcba98,D=0x7543210
这四个32位变量被称为链接变量,它们始终参与运算并形成最终的散列值。;S3:对每个分组Mi进行压缩处理HMD5。
HMD5是算法核心。HMD5内部有4轮处理过程。每轮处理结构一样,但使用的位逻辑函数不同,分别表示为F、G、H、I。每轮处理的输入是当前正在处理的512位分组、128位缓冲区(A、B、C、D)的当前值和常量表T中四分之一的常数,即分别为T[1..16]、T[17…32]、T[33…48]、T[49...64]。第4轮处理的输出再与第1轮的输入CVq按照4个32位字进行模232相加,结果即为压缩函数HMD5对当前512位分组的输出。
常量表T=T[1,…64]中各元素:
T[i]=int(232×abs(sin(i))),为32位整型数。T作为予置的常数表,其作用是随机化32位整型量,消除输入数据的规律性。
压缩函数HMD5每轮处理细节由对128位缓冲区(A、B、C、D)的16步迭代构成,每一步运算如??:
a←B+CLS(s,A+g(B,C,D)+X[k]+T[i]))
其中,+为模232加法,CLS(s,w)是对32位字w循环左移s位。位逻辑函数g分别取F、G、H、I之一,X[k]=M[q×16+k],即消息的第q个分组中第k个32位字(k=1,2,..16)。;位逻辑运算函数F、G、H、I定义如下:
F(x,y,z)=(xy)|((~x)z)
G(x,y,z)=(xz)|(y(~ z))
H(x,y,z)=x⊕y⊕z
I(x,y,z)=z⊕(y(~ z))
上图中ρj(i)表示各轮处理中使用16个32位字的不同次序(j=2,3,4)。其中第1轮按照初始次序;第2、3、4轮按照下式对(1,2,..16)进行置换:
ρ2(i)=(1+5*i)mod 16
ρ3(i)=(5+3*i)mod 16
ρ4(i)= (7*i) mod 16
S4:将消息M的L个分组处理完毕,最后一个分组处理的输出即为消息M的摘要。因此,第3、4步可以总结为:
CV0=V1
CVq+1=CVq+RFI(Yq,RFH(Yq, RFG(Yq, RFF(Yq, CVq)))) q=1,2,..(L-1)
MD= CVL
其中RFX()为与位逻辑函数X结合的轮处理过程(X=F、G、H、I),+为对应32位字模232加法。V1取缓冲区(A、B、C、D)的初值。 ; MD5算法的核心处理HMD5中重复进行位逻辑运算F、G、H、I,使得最终输出的摘要中每一位与输入消息中所有位相关,因此达到很好的混淆效果。
MD5在数据处理中广泛使用。
例如:
用户口令可以用MD5码值秘密存储。当用户输入口令时先转换为对应MD5码值,在和系统保存的密码MD5值进行比较(Linux)。这样系统在未知用户口令的情况下即可实现对口令的验证,同时用户口令对于系统管理员也是未知的。;SHA(Secure Hash Algorithm)是美国国家标准与技术研究所(NIST)提出,于1993年作为联邦信息处理标准(FIP
您可能关注的文档
最近下载
- 制药工程制图习题集(第二版)于颖_课后习题答案解析.pdf
- 《建设工程施工管理》PPT课件.pptx VIP
- 义务教育版(2024)五年级全一册信息科技 第6课 判断选择用分支 教案.docx VIP
- 个人简历表格下载word(最新).pdf VIP
- Flexsim中文使用手册.pdf VIP
- 学习解读《水利水电建设工程验收规程》SLT223-2025课件.pptx
- 第八节可燃粉尘的爆炸.ppt VIP
- 视琦多媒体视觉训练系统使用说明书.doc VIP
- GB T 28749-2012_企业能量平衡网络图绘制方法_高清版_可检索.pdf
- 重庆秀山县公安局招聘警务辅助人员笔试真题2023(含答案).pdf VIP
文档评论(0)