Presentation is loading. Please wait.

Presentation is loading. Please wait.

6.4.有代表性的哈希函数 基于私钥密码系统的哈希函数 基于离散对数问题的哈希函数 MD系列哈希函数

Similar presentations


Presentation on theme: "6.4.有代表性的哈希函数 基于私钥密码系统的哈希函数 基于离散对数问题的哈希函数 MD系列哈希函数"— Presentation transcript:

1 6.4.有代表性的哈希函数 6.4.1 基于私钥密码系统的哈希函数 6.4.2 基于离散对数问题的哈希函数 6.4.3 MD系列哈希函数
安全散列标准

2 6.4.1 基于私钥密码系统的哈希函数 其中 长度为n。令 是初始向量,f由私钥加密算法确定, , 哈希函数 。

3 6.4.2 基于离散对数问题的哈希函数 Chaum-van Heijst-Pfitzmann哈希函数
p, q=(p-1)/2均是素数, , 是 的本原元素且 在计算上是不可行的。 : {0,1,…,q-1}{0,1,…,q-1} 可以证明h是强抗碰撞哈希函数。

4 1990年R.L.Rivest提出MD4哈希函数,它不基于某种密码系统和假设,是一种直接构造法。计算速度高,对长的信息签名很实用。
1991年对MD4作了六点修改形成强化版本MD5。 对要进行哈希运算的0-1串x转变成M, 形式如下 其中**…*是x长度的右边64位 其长度是512的倍数, 从左到右每32位成为一个“字”,M = M[0]M[1]……M[N-1],N是16的倍数。

5 由M构造一个128 bit 的消息摘要的过程如下:
(1) 建立四个32位寄存器A, B, C, D,用十六进制表示它们分别是 A = B =EFCDAB89 C = 98BADCFE D = (2) for to do (3) for to do (4) AA=A, BB=B, CC=C, DD=D (5) 执行第一轮,执行第二轮,执行第三轮 (6) A = A+AA, B = B+BB, C = C+CC, D= D+DD 最后 =A || B || C || D 长度为128 位。

6 在每轮中用到如下运算: 按位“与”       “补” 按位”或” 模 加 按位”异或” 循环左移s位 第一轮: for to do 其中的函数

7 第二轮: for to 3 do(其中5A ) 5A827999 其中的函数

8 第三轮 for to 3 do (其中6ED9EBA ) 6ED9EBA1 其中的函数

9 MD5 MD5是MD4的强化版本,在实际中广泛受到欢迎。MD5对MD4主要作了六点改进,速度比MD4慢了30%。 从三轮改成四轮,第四轮的16步使用函数 ,访问次序为0, 7, 14, 5, 12, 3, 10, 1, 8, 15, 6, 13, 4, 11, 2, 9 . 第三轮函数从改为 ,以削弱对称性. 进入第二论和第三轮的输入字顺序改变, 分别为1, 6, 11,0, 5, 10, 15, 4, 9, 14, 3, 8, 13, 2, 7, 12和5, 8, 11, 14, 1, 4, 7, 10, 13, 0, 3, 6, 9, 12, 15, 2.

10 每轮移位数改变 第一轮为7,12,17,22 第二轮为5,9,14,10 第三轮为4,11,16,23 第四轮为6,10,15,21 第j步(不是每轮)有唯一的加法常数 的整数部分. 每步加上了上一步的结果,易产生“雪崩效应”.

11 6.4.4 安全散列标准 美国国家标准技术研究所与国家安全局共同设计一个与美国数字签名算法(DSS)一起使用的安全哈希算法( Secure Hash Algorithm, 简称SHA)。1992年1月31日公布,1993年5月11日采纳为标准。1994年7月修改,1995年4月17日公布修改版本称为SHA-1。SHA与MD4设计原则极为相似,下面列出MD4, MD5, SHA三种哈希函数基本参数   位长 遍数*每遍步数 相对速度 MD * MD * SHA *

12 SHA_1所用的运算与MD4相同,每轮算法相同,只是所用的函数和常数不同 :
5A ED9EBA1 8F1BBCDC CA62C1D6 SHA_1的输入是消息x,求它的消息摘要 。开始阶段的处理与MD4相同,生成M。

13 1)设置五个寄存器A, B, C, D, E A = B = EFCDAB89 C = 98BADCFE D = E = C3D2E1F0 2)for to do 3) for to do 4)将 扩展成 for to do 5) AA = A, BB = B, CC = C, DD = D, EE = E

14 6) 执行第一轮 for to do 7)     执行第二轮 for to 39 do

15 8) 执行第三轮 for to do 9) 执行第四轮 for to do

16 10)     A = A+AA, B = B+BB, C = C+CC, D = D+DD, E = E+EE 最后 = A || B || C || D || E。


Download ppt "6.4.有代表性的哈希函数 基于私钥密码系统的哈希函数 基于离散对数问题的哈希函数 MD系列哈希函数"

Similar presentations


Ads by Google