- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第三章单向散列函数
;散列函数h=H(M)的单向性:
给定M,很容易计算h。
给定h,根据H(M)=h反推M很难。
给定M,要找到另一消息M并满足H(M)=H(M)很难。
抗碰撞(Collision):要找到两个随机的消息M和M,使H(M)=H(M)满足很难。
;图3-1单向散列函数工作模式;单向散列函数是建立在压缩函数之上的〔不保真压缩〕
输入:消息分组和前一分组的输出(对第一个压缩函数,其输入为消息分组1和初始化向量IV)
输出:到该点的所有分组的散列,即分组M1~Mi的散列为hi=H(Mi,hi?1)
该散列值和下一轮的消息分组一起作为压缩函数下一轮的输入
最后一压缩函数的输出就是整个消息的散列; 3.1MD5算法
3.1.1算法
输入:任意长度消息
输出:128位散列值(或消息摘要)
;图3-2MD5算法;MD5算法包括以下五个步骤:
1)附加填充位
填充消息,使其长度为一个比512的倍数小64位的数〔消息长度用64位表示〕。
填充方法:在消息后面填充一位1,然后填充所需数量的0。
2)附加长度
将原消息长度的64位表示附加在填充后的消息后面。
3)初始化MD缓冲区
初始化用于计算消息摘要的128位缓冲区。这个缓冲区由四个32位存放器A、B、C、D表示。;
4)按512位的分组处理输入消息
进行四轮处理,每轮都以当前的正在处理的512比特分组Yq和128比特缓冲值ABCD为输入,并更新缓冲内容CV。
;四轮处理,每一轮进行16次如下操作。
四轮处理所使用的非线性函数〔逻辑函数,使用与、或、反、异或运算〕不同。
表T[1..64],T[i]=232×abs(sin(i)),i的单位为弧度;s固定给出
Mj:32位〔a、b、c、d均32位〕,M1…M16=Yq〔512位的输入消息〕;5)输出
由A、B、C、D四个存放器的输出128位的消息摘要。
总体思想:基于输入Yq,不断更新缓冲区,且更新过程的运算足够复杂。
MD5算法的运算均为根本运算,比较容易实现且速度很快。
代码和举例略。;3.2平安散列函数(SHA);图3-5SHA–1算法;SHA–1的具体过程如下:
1)填充消息
首先将消息填充为512位的整数倍,填充方法和MD5完全相同。
2)初始化缓冲区
第一个缓冲区,五个32位的存放器,标记???A、B、C、D、E;
第二个缓冲区,五个32位的存放器,标记为H0、H1、H2、H3、H4。〔在运算之前,初始化{Hj}〔IV〕。〕
此外:
标记为W0、W1、…、W79的80个32位缓冲区
单字的缓冲区TEMP。;3)按512位的分组处理输入消息
主循环与MD5类似,包括四轮处理,每轮进行20次操作,每次操作分别使用逻辑函数f0、f1、…、f79〔fi的输入为三个32位字,输出为一个32位字〕和常数序列K0、K1、…、K79。
Kt=0x5A827999 (0≤t≤19)
Kt=0x6ED9EBA1 (20≤t≤39)
Kt=0x8F1BBCDC (40≤t≤59)
Kt=0xCA62C1D6 (60≤t≤79);每次操作按如下步骤处理每个字块Mi:
//更新W0~79
(1)把Mi分为16个字W0、W1、…、W15。
(2) fort=16to79do
letWt=(Wt?3XORWt?8XORWt?14XORWt?16)1
//更新A~E
(3)LetA=H0,B=H1,C=H2,D=H3,E=H4
(4)fort=0to79do
TEMP=(A5)+ft(B,C,D)+E+Wt+Kt;
E=D;D=C;C=(B30);B=A;A=TEMP;
//更新H0~4
(5)LetH0=H0+A,H1=H1+B,H2=H2+C,H3=H3+D,H4=H4+E;
4)输出
在处理完Mn后,输出H0、H1、H2、H3、H4级联为160位的消息摘要。
;3.2.3SHA–1与MD5的比较;3.3消息认证码(MAC);HMAC〔Keyed-HashMessageAuthenticationCode〕:用一个秘密密钥来产生和验证某消息的MAC
MAC(text)t
=
您可能关注的文档
最近下载
- 花城版音乐二年级上册-《温暖的家》教案.pdf
- 2024高考英语考点887个核心词汇 .pdf VIP
- 2024年湖南高速铁路职业技术学院单招职业技能测试题库及答案解析.docx VIP
- 武汉市2025届高中毕业生二月调研考试(二调)数学试卷(含答案详解).pdf
- 世行贷款芦山地震灾后重建和减灾项目芦山县子项目环评报告.doc VIP
- 《消防设施操作员(基础知识初级技能)》配套教材课件完整版(文字可修改版).ppt
- 餐饮业经营与管理(第2版)中职PPT完整全套教学课件.pptx
- 美容皮肤科临床诊疗指南诊疗规范2023版.pdf
- 25题高级工程师岗位常见面试问题含HR问题考察点及参考回答.pdf
- 中职对口分类考试语文一轮复习文化常识专题复习资料.doc
文档评论(0)