散列函数、消息摘要与消息认证码.docx

上传人:a**** 文档编号:8914 上传时间:2017-10-21 格式:DOCX 页数:10 大小:1.37MB
返回 下载 相关 举报
散列函数、消息摘要与消息认证码.docx_第1页
第1页 / 共10页
散列函数、消息摘要与消息认证码.docx_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《散列函数、消息摘要与消息认证码.docx》由会员分享,可在线阅读,更多相关《散列函数、消息摘要与消息认证码.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第 /章散列函数、消息摘要与消息认证码 随着数字签名技术越来越被广泛地理解和使用,世界许多国家都在竞相开发自己的签 名标准,以便使数字签名的使用与应用更标准化。电子商务中的一些电子应用,如电子邮件 和金融交易都需要使用数字签名。当传输敏感信息或需要某些安全服务时 ( 如对发送方的 身份验证、消息完整性和不可否认性 $都需要对电子邮件进行数字签名。在金融交易中,要 么是直接转账,要么是服务和货物的交换,这些金融交易都受益于数字签名。对消息摘要签 名而非对消息本身签名,通常能提高处理的效率,因为消息摘要通常要比消息小得多。 在电子商务中,常常需要通信双方互相验证彼此的身份。一种实用的身份验证方法是

2、 使用单向散列函数的加密验证协议。通过填充全零,其包括 1位标志位、十六进制的原始消 息长度,将可变长度的消息映射到合适的位值来实现按固定长度对消息进行分组。为了能 方便地将消息按某一固定长度进行分组,则必须进行一些适当地填充。为了使用散列函数 计算消息摘要,本章将介绍几种与之相关的算法。本章所涉及的散列函数有: 类 8ES消息 摘要计算 ( 1,81$題633&;$11;631:? 1111#&= 11, 11 (1994)、 415 (1992)和 39(-1 (1995)。 5. 1 DMDC 算法 DMDC使用 数据加密标准 ( DataEncryptionStandarcDES)变种

3、作为单向散列函数。 1994年, CDMA蜂窝移动通信系统引人这一方案,用来计算 18位的认证数据。 DMDC将 消息按 6W位进行分组。 DMDC散列函数能生成可变大小的消息摘要,这些消息摘要可以 是 18位、 32位 64位或 128位。 DMDC方案非常适用于数字签名,因此,采用它可以增强 Internet的安全性。 先将要签名的消息按 64位进行分组,得到的分组序列为 : M1 M., , Mt 为了能方便地分割消息,需要制定适当的填充规则。相邻的消息分组与自生成的密钥 散列在一起。更好的方法是使正确消息的一个分组长度 #4位)正好等于密钥的长度。 图 5. 1给出了 M= 192位,

4、使用 DMDC计算散列码的典型方案。 5.1.1密钥调度 在 CDMA移动系统中,一个认证问题是如何通过移动台与基站之间的交换信息,来确 认该移动台的身份。当消息接人参数的认证字段被设置为 “ 01” 时,移动台通过在接人信道 发送注册请求消息来试着注册,并执行认证过程。为了计算移动台注册的认证数据,消息值 应为 152 位,包括 RAND(32 位 )、 ESN(32 位 )、 MIN(24 位)和 SSD-A(64 位 ) : RAND:认证随机挑战值。 ESN:电子序列号。 MIN:移动台识别号。 SSD-A:支 证过程的 机密数据。 192位的值是由长度为 152位的消息和 W0位的填

5、充组成。假设 Me、 M2 | M3是 192 位填充消息的分解。 Mc=6W位将作为图 5.1中密钥生成方案的输人。置换选择 2运算将 产生 W8位密钥,排列成如下所示的 6X8数组: 输人 (按列 ) 8 1 7 13 19 25 31 37 43 2 8 14 20 26 32 38 44 3 9 15 21 27 33 39 45 4 10 16 22 28 34 40 46 5 H 17 23 29 35 41 47 6 12 18 24 30 36 42 48 行置换 5 H 17 23 29 35 41 47 1 7 13 19 25 31 37 43 3 9 15 21 27

6、33 39 45 6 12 18 24 30 36 42 48 2 8 14 20 26 32 38 44 4 10 16 22 28 34 40 46 置换 H 35 5 47 17 41 29 23 7 31 1 43 13 37 25 19 9 33 3 45 16 39 27 21 12 36 6 48 18 42 30 24 8 32 2 44 14 38 26 20 10 34 4 46 16 40 28 22 /输出(按行 ) 因此,表 5.1给出了根据 Me计算生成的 48位密钥。 表 5.1利用行 /列置换生成的 48位密钥 11 35 5 47 17 41 29 23 7

7、31 1 43 13 37 25 19 9 33 3 45 15 39 27 21 12 36 6 48 18 42 30 24 8 32 2 44 14 3/8 26 20 10 34 4 46 16 40 28 22 例 5.1假设将 192位填充消息按 64位进行分组,所得到的分组如下: Mc = 7al38b2524afl7c3 M. =17b439al2f51c5a8 M3 = 51cb360000000000 注意,在这个示例中,没有插人 1位标志位和十六进制的消息长度。下面给出了按行 /列置 换生成的 48位密钥。假定将第一个数据分组 Me作为密钥输人。利用表 3.1(PC-1)

8、, 将 Me 分成两个分组 C =a481394, D0=e778253 如表 3. 2所示,将 C。 和 D。 分别向左移动 1位,得到 CC和 D: CC=W 902 729, D1=cef04a7 利用表 3. 3(PC-2),计算所得的 W8位压缩密钥为 : K = 058c4517a7a2 最后,使用表 5. 1,按行 /列置换计算所得的 W8位密钥为: K=5458c42bcc07 这是为 M.和 M3提供的密钥分组,如例 5. 2所示。 例 5. 2 参考图 5. 1,处理 M. = 17bW39a12f51c5a8, M3 = 51cb360000000000 的过程如 下所示

9、: 利用表 3.,将 M.和 M3分成: Li=6027537d Ri=ca9e9W11 和 L. =03050403 R. =02040206 使用表 3. 5对这四个数据分组进行扩展,得到: E(LC) = b0010eaa6bfa E(R1) = e554fd4a80a3 E(L2) = 80680a808006 E(R2)=00400800400c 通过行 /列置换得到的 48位密钥 K= 5458c42bcc07,应向左移动。位、 2位、 1位和 3 位,使得 Ki = 5458c42bcc07(移动 0 位) K2 = a8b18857 97 0e (移动 2 位) K3 = 51

10、6310af301d(移动 1 位) K4 = a2c6215e603a (移动 3 位) 将这四个密钥与扩展分组进行异或运算,得到 ri = =E(Li) Ki =c459ca81a7fd r.= =E(Ri) K. = b437ede5b0be r3 =E(L2) K3 =.8498.471808 rw = =E(R.) Kw =a286295e2036 将这 4 个 r,(1i4)分别作为 S-盒的输人。利用表 3. 6,计算所得的 S盒 输 出 为 : $1 = a4064766 = =1dldabb8 $3 = =f89d0bl6 $4 = =dabaae4d 对每个 $应用表 3.

11、 7的运算,得到 : P( i) = 00f63638 P( 2$ 9f2874d3 P(03) = 96aab362 P(04) = 5df889ee 从表 3.7所得的这 4个数据分组将用于计算消息摘要(或散列码 ), 如例 5.3所示。 5.1.2消息摘要计算 例 5.3计算散列码。 32位散列码的计算 图 5.2给出了 32位散列码的计算处理方案。在该图中,使用了下面的符号。 : 16 位整数模 216 +1 = 65 537 乘。 田 : 16位整数模 216 =655 360加。 : 16 分组逐位进行异或运算。 E级联。 图 5.2 32位散列码的计算方案 由于在例 5.2中 ,

12、 我们已计算出 P($), 所以根据图 5.2,就能计算出 32位的消息摘要 : Yi = c6cc Y2 = e99a Y3 = fd20 Y4 = 4839 Hi = 3bec H2 = ala3 级联 He eH.,得到 32位的散列码 8使得 h= (Hi | | H2 ) = 3becala3 64 列码的计算 参照图 5.3,计算 64位消息摘要的过程如下: YC =97aOe99a Y2 = 37ld4fc8 HC = f41d3352 H. = 753f20dc 图 5. 3 64位散列码的计算方案 因此,计算所得的 64位散列码为: h=(HC| |H2)=f41d33527

13、53f20dc : *: 32 位分组模 232 +1 = 4 294 967 297 乘。 田: 32 位分组模 2322 =4 294 967 296 加。 ! m:向左移动 m位。 18 列码的计算 利用上面得到的 64位消息摘要,根据图 5.4,从抽取处理中计算 18位散列码。 h = f41d3352753f20dc(64 位 ) 抽取的规则是将 64位的消息 h两端丢弃 6位! 3位抽选 1位 , 使得 h=oomoomomoooi(18 位 ) 128 列码的计算 # 移) 参考图 5. 5,将每个 P($=)左移 m位。然后,级联它们产生 128位消息摘要 : H1 = 7bl

14、blcoo H. = ald34e7c H3 = 59b14b55 H4 = bfll3dcb 图 5.W 18位散列码的 图 5.5采用左移的 128位散列码的计算 计算方案 因此! 28位散列码为: h = (Hi ( H2 ( H3 ( H4) = 7blblc00ald34e7c59bl4b55bfll3dcb 128 列码的计算 ( ) 根据图 5.6,下面计算另外一个 128位消息摘要: Xc =00f6 X2 = 3638 X3 = 9f28 X1 9b24 X2 = c9c8 X3 Zi = 96aa Z2 = b362 Z3 = Z 1 = bf34 Z2 = 4c9e Z3

15、 X4 = 74d3 =60d8 X 1 = 8el2 5df8 Z4 = 89ee =a208 Z 1 = b652 图 5. 6使用逆运算计算 128位散列码 因此,从逆值的联结中计算 128位散列码: h=(X 1 II X. II X3 II X 1 II Z 1 II Z. II Z3 II Zc) =9d24c9cB60d88el2bf344c9ea208b652 128位散列码计算(使用加和乘 ) 5. 7, 计算 128位消息摘要的过程如下: P($i)田 P($3) = 97a0e99a!C5 = f41d3352 P(02)P($4) = 371d4fc8 !l0 = 75

16、3f20de P(0i)P(03) = 56c9017f !10 = 2405fd5b P($2)田 P($4) = 2420fecl !5 = aWlfd83f h= (P($c)田 P($2) !5 | (P($2)P($4) !l II (P($2)田 P($4) !5 | (P($2)P($3) !10 f41d3352 753f20dc a41fd83f 2405fd5b(128 位 ) 图 5. 7使用加和乘的 128位散列码计算 这是得到的 128位散列码。到目前为止,我们已经讨论了 DMDC的计算,此 DMDC没 1 和十六进制消息 。 5.2 高级 DMDC算法 本节介绍安全

17、的 DMDC算法,其能提供令人满意的安全级别。 5.2.1密钥调度 图 5. 9给出了新设计的密钥生成方案。利用表 3. l(PC-l),将 64位输入密钥重构为 56 位密钥序列。将 56位密钥加载到两个 28位寄存器 ( C0, D。)。 这两个寄存器的值分别向左 移动SL和 Sf位。 SL和 S)由状态转换函数 F(r)产生,如图 5.8和图 5.9所示。在图 5.9中, 64位的输分成两个 32 。每个 32 都作为 F(r)的输入 Sin。 且是从 (mod 32)来计算没和 Sf。 在图 5. 10中, LFSR是生成伪随机二进制序列 ( pseudorandom binary s

18、equence, PRBS)的设备,其特征函数为: f (x) x32+ x7+ x5+x3+x2+ x+l, 周 期 为 232 1。 假定 64位输入密钥为 7al38b2524afl7c5。使用图 5. 11,计算出所有的轮密钥,如表 5. 2 。 表 5.2对应于 ( S纟和 S?)而生成的轮密钥 (SL, S) (第轮密钥 ) 1 (2, 21) 36320340397a 2 (14, 19) 9394d0aac24c 3 #, 15) 91c2c6fcd01e 4 #, 7) fcf6701c06a4 5 (21, 13) c38496e8c45e 6 (1, 20) 12f64d47235d 0 #, 17) 174al6a3c335 332 (1, 2) 17320b413872 333 (9, 17) 9ad8226cd646 334 (1, 11) 961203c1315b 335 (2, 18) 125ec46f8a55 336 (2, 13) cd8d4610f0c4 337 (19, 9) 5e40db051358 338 (15, 8) 0414fc86b547 图 5.9新 设 计 的 DMDC密钥生成方案 图 5.10生成 PRBS, LFSR所用的本原多项式

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 毕业论文

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁