下载此文档

第5讲-杂凑函数.ppt


文档分类:高等教育 | 页数:约38页 举报非法文档有奖
1/38
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/38 下载此文档
文档列表 文档介绍
第5讲 杂凑函数
授课:伍前红
辅导:周红亮
******@
内容
单向函数
杂凑函数
生日攻击
MAC报文鉴别码
HMAC
单向函数
函数F从集合A映射到集合B,如果对任意A中的元中4个字分别与CVq中对应的4个字以模232相加。
步骤4
+在mod 232下进行
128
Yq
512
32
CVq
A
B
C
D
A
B
C
D
A
B
C
D
A
B
C
D
CVq+1
F,T[1…16],X[i];16个步骤
G,T[17…32],X[P2(i)];16个步骤
H,T[33…48],X[P3(i)];16个步骤
I,T[49…64],X[P4(i)];16个步骤
+
+
+
+
128
MD5操作过程
步骤5:输出。所有L个512比特的分组处理完成后,第L个阶段的输出作为报文的128比特摘要。总结MD5操作如下:
CV0=IV
CVq+1=
SUM32(CVq, RFI[Yq, RFH[Yq, RFG[Yq, RFF[Yq, CVq]]]] )
MD5=CVL
IV=缓存ABCD的初值,第3步定义
Yq=第q个长度为512比特的报文分组
L=报文的分组数
CVq =处理第q个报文分组是的连续变量
RFx =使用原始逻辑函数x的循环函数
MD5=最终的报文摘要
SUM32 =对输入对中的每个字执行模232加
MD5的压缩函数f
f由4个循环组成
每个循环包括16步操作
每一步的基本形式如下
a  b + ((a + g(b, c, d) + X[k] + T[i]) <<< s)
a,b,c,d =缓存中的4个字,在每一步有指明的顺序
G =原始函数F,G,H,I中的一个
<<< s =32比特阐述循环左移s位
X[k]=M[q×16+k]=第q个长度为512比特报文分组中的第k个32比特字
T[i] =矩阵T中的第i个32比特字
+ =在mod 232下进行的加法
MD5的压缩函数f
原始逻辑函数
循环
原始函数g
g(b,c,d)
1
F(b,c,d)
(bc)(b d)
2
G(b,c,d)
(bd)(cd)
3
H(b,c,d)
bcd
4
I(b,c,d)
c(bd)
MD5的压缩函数f
第2到第4次循环的改变
P2(i)=(1+5i) mod 16
P3(i)=(5+3i) mod 16
P4(i)=7i mod 16
X[*]中的*在0到15变化
SHA1
概述
SHA: Secure Hash Algorithm——安全杂凑函数
美国国家标准和技术协会(NIST)提出,93年发布,95年修订
符合Merkle-Damgard结构,基于和模仿MD4
输入任意长度报文,输出160比特的摘要
输入分组长度为512比特,处理过程与MD5相似
SHA1产生报文摘要的过程
CV1
f
160
CVL1
f
CV0
IV=
512
160
f
160


Y0
Y1
512
512
YL1
Yq
f
160
160
160
摘要
报文
10…0
K比特
报文长度
K mod 2 64
填充1到
512比特
L×512比特=N×32比特
CVq
512
SHA1操作过程
步骤1:附加填充比特。对报文进行填充,使得填充后的比特数与448 mod 512同余。例如,如果报文是448比特,则填充512比特形成960比特的报文。填充比特首位为1,其余位全0。
步骤2:附加报文长度值。用64比特表示初始报文的长度,长度值的高位优先,然后附加在步骤1填充的结果之后。
SHA1操作过程
步骤3:初始化MD缓存。使用一个160比特缓存存放杂凑的中间和最后结果。缓存表示为5个32比特的缓存器(A,B,C,D,E)
初始化值(16进制表示): A=67452301, B=EFCDAB89, C=98BADCFE, D=10325476, E=C3D2E1F0.
初始化格式:小数在前的格式存储,即字的低位字节放在低地址字节上,像32位的比特串: A=67 45 23 01, B=EF CD AB 89, C=98 BA DC FE

第5讲-杂凑函数 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数38
  • 收藏数0 收藏
  • 顶次数0
  • 上传人文库旗舰店
  • 文件大小162 KB
  • 时间2022-03-22