SHA-512初始化过程(I) ●设厂=2128-1,y=512 ● M是二进制消息,其中M=L≤厂 ● 设L是128-bit二进制串,标记为b128(L) 。将消息M进行填充,得到新的二进制字符串M': M=MI‖10‖b128(L),L≥0 其中lM1(记为L)是1024的倍数,则有 L'=L+(1+0+128=L+0+129 。L可以表示为 L=1024. +L mod 1024 1024 。于是,我们得到: 895-Lmod1024, if895≥Lmod1024. = 895+(1024-Lmod1024),if895<Lmod1024 。因此,,L’是1024的倍数.设L'=1024N,则可以记作一系列1024-bit的消息块:M'= M M2...MN 《计算机网络安全的理论与实践(第2版)》·【美】王杰,高等教育出版社,2011年. 11
11 SHA-512 初始化过程 (II) 设 Γ = 2 128 – 1,γ = 512 M 是二进制消息,其中|M| = L ≤ Γ 设L 是128-bit 二进制串, 标记为 b128(L) 将消息 M 进行填充,得到新的二进制字符串M’ : M’ = M || 10l || b128(L), l ≥ 0 其中|M’| (记为L’) 是1024的倍数,则有 L ’ = L + (1 + l) + 128 = L + l + 129 L 可以表示为 于是,我们得到 : 因此,, L’ 是1024的倍数. 设 L’ = 1024N,则可以记作一系列1024-bit 的消息块: M’ = M1M2…MN 《计算机网络安全的理论与实践(第2版)》. 【美】王杰, 高等教育出版社, 2011年
SHA-512压缩函数(I) 两个输入: 一个1024-bit明文消息块M 口一个512-bit二进制串H1,其中1≤i≤N,H1是r253463的当前值 M,=W。·W1…W15,W=64 generate Wi6·W17…W as follows W,=[o1(W-2)+W:-7+oo(W-15)+W,16]mod24 t=16,…,79, o,(W)=(W>>1)田(W>>8)⊕(W<7) ō1(W)=(W>>19)⊕(W>>61)⊕(W<6) W>>>n:循环右移n位 Wk<n:线性左移n位 《计算机网络安全的理论与实践(第2版)》·【美】王杰,高等教育出版社,2011年. 12
12 SHA-512 压缩函数(I) 两个输入: 一个1024-bit明文消息块 Mi 一个512-bit 二进制串 Hi-1 , 其中 1 ≤ i ≤ N ,Hi-1 是r1 r2 r3 r4 r5 r6 r7 r8的当前值 W>>>n: 循环右移n 位 W<<n: 线性左移 n 位 《计算机网络安全的理论与实践(第2版)》. 【美】王杰, 高等教育出版社, 2011年
SHA-512压缩函数(I) Define: logical conjunction:X∧Y=(x,∧y)(x2∧y2)…(x,∧y,) logical disjunction:XvY =(y)(x2 v y2)..(xV y) logical negation:X=xx2…元 conditional predicate:ch(Y,Y,Z)=(AY)v(AZ) majority predicate:may(X,Y,Z)=(X∧Y)⊕(XAZ)⊕(Y∧Z) 设Ko,K1,.K79表示SHA-512常量,其中每一个常量是一个64-bit二进制串, T1和T2表示64-bit的临时变量,r是一个64-bit寄存器.设 △(r)=(r>>28)⊕(>>34)田(r>>39) △(r)=(r>>>14)©(r>>>18)⊕(r>>41) 《计算机网络安全的理论与实践(第2版)》·【美】王杰,高等教育出版社,2011年. 13
13 设 K0 ,K1 ,…K79 表示SHA-512 常量, 其中每一个常量是一个64-bit二进制 串, T1 和 T2 表示 64-bit 的临时变量,r 是一个 64-bit 寄存器. 设 SHA-512 压缩函数(II) 《计算机网络安全的理论与实践(第2版)》. 【美】王杰, 高等教育出版社, 2011年
SHA-512压缩函数(III) 进行80轮下面的运算: T←[g+Ch(r,r6,)+△(r)+W,+K,]mod264, T2←[△o(G)+maj(,2,53)月mod24, 片←(T1+T2)mod24, r2←r, r3←T2, r4←r3, r5←(r4+T)mod24, r6←-r5, r7←T6, rg←T7, 然后,「r2r3r4r56r7rg中的512-bit字符串就是F(M,H)的输出 《计算机网络安全的理论与实践(第2版)》·【美】王杰,高等教育出版社,2011年. 14
14 进行80 轮下面的运算: 然后, r1 r2 r3 r4 r5 r6 r7 r8 中的512-bit 字符串 就是F(Mi , Hi-1 )的输出 SHA-512 压缩函数(III) 《计算机网络安全的理论与实践(第2版)》. 【美】王杰, 高等教育出版社, 2011年
SHA-512算法 ● 设X=XX2.Xk,Y=Y1Y2.Yk是二进制串,其中 X,Y;是1-bit字符串.设-bit的下列运算: XY =[(X +mod 2'][(X2 +mod 2']...[(Y+Y)mod 2'] ●消息M的数字指纹是HM=H,其中 Ho IV, Hi=Hi-164 F(Mi;Hi-1), i=1,2,.,N. 《计算机网络安全的理论与实践(第2版)》:【美】王杰,高等教育出版社,2011年. 15
15 SHA-512 算法 设 X = X1X2…Xk , Y = Y1Y2…Yk 是二进制串, 其中 Xi ,Yi 是 l-bit 字符串. 设l-bit的下列运算: 消息 M的数字指纹是 H(M) = HN , 其中 《计算机网络安全的理论与实践(第2版)》. 【美】王杰, 高等教育出版社, 2011年