第五章消息认证算法:5.1消息认证码 5.1.3数据认证算法 9数据认证算法是最为广泛使用的消息认证码中的 一个,已作为FIPS Publication(FIPS PUB113 )并被ANS作为X9.17标准 0 算法基于CBC模式的DES算法,其初始向量为零向量 需被认证的数据(消息、记录、文件或程序)被分为64比 特长的分组D1,D2,…,DN, 。其中最后一个分组不够64比特的话,可在其右边填充一 些0,然后按图所示过程计算数据认证码 历些毛子代枝大学 12/
5.1.3 数据认证算法 数据认证算法是最为广泛使用的消息认证码中的 一个,已作为FIPS Publication(FIPS PUB 113 )并被ANSI作为X9.17标准 ⚫ 算法基于CBC模式的DES算法,其初始向量为零向量 ⚫ 需被认证的数据(消息、记录、文件或程序)被分为64比 特长的分组D1,D2,…,DN, ⚫ 其中最后一个分组不够64比特的话,可在其右边填充一 些0,然后按图所示过程计算数据认证码 12/ 第五章 消息认证算法:5.1 消息认证码
第五章消息认证算法:5.1消息认证码 5.1.3数据认证算法 9O1=E(D1) 第1次 第2次 第N次 DI (64bit) D2 DN 902=Ex(D2⊕01) 903=Ex(D3⊕02) DES K DES K DES (56bit) 加密 加密 加密 9ON=Ex(DW⊕ON.1) 01 (64bit) 02 ON 其中E为DES加密算法,K为密钥 9 数据认证码或者取为O或者取为O的最左M个比特,其 中16≤M≤64。 历粤毛子代枝大学 13/
5.1.3 数据认证算法 O1=EK(D1 ) O2=EK(D2O1 ) O3=EK(D3O2 ) … ON =EK(DNON-1 ) 其中E为DES加密算法,K为密钥 数据认证码或者取为ON或者取为ON的最左M个比特,其 中16≤M≤64。 13/ 第五章 消息认证算法:5.1 消息认证码
第五章消息认证算法:5.2杂凑函数 5.2.1杂凑函数的定义及使用方式 9杂凑函数H是一公开函数,用于将任意长的消息M映射为 较短的、固定长度的一个值H(M,作为认证符,称函数值 H(M为杂凑值、杂凑码或消息摘要 9杂凑函数又称散列函数、哈希函数、hash函数 。杂凑码是消息中所有比特的函数,因此提供了一种错误检 测能力,即改变消息中任何一个比特或几个比特都会使杂 凑码发生改变 杂凑函数是用来生产认证符的可靠的方式 。杂凑函数用来提供消息认证的基本使用方式 共有三大类6种 历些毛子代枚大学 14/
5.2.1 杂凑函数的定义及使用方式 杂凑函数H是一公开函数,用于将任意长的消息M映射为 较短的、固定长度的一个值H(M),作为认证符,称函数值 H(M)为杂凑值、杂凑码或消息摘要 杂凑函数又称散列函数、哈希函数、hash函数 杂凑码是消息中所有比特的函数,因此提供了一种错误检 测能力,即改变消息中任何一个比特或几个比特都会使杂 凑码发生改变 杂凑函数是用来生产认证符的可靠的方式 杂凑函数用来提供消息认证的基本使用方式 ⚫ 共有三大类6种 14/ 第五章 消息认证算法:5.2 杂凑函数
第五章消息认证算法:5.2杂凑函数 5.2.1杂凑函数的定义及使用方式 第一类:先hash、再对称加密 ·①消息与杂凑码链接后用单钥加密算法加密:见图3(a) ●提供消息的保密性、认证性、 完整性 ② 用单钥加密算法仅对杂凑码加密:见图3(b) 提供消息的认证性、完整性 用于不要求保密性的情况,可减少处理负担。将EH(]看作一 个函数,函数的输入为消息M和密钥K,输出为固定长度 发送方A 接收方B M 比较 注意与MAC中 K EKIMH(M K 的保密认证模式 H(M) (a 相比较 M MAC使用两个 比较 不同密钥,保密 认证能力分开, Ek[H(M) 安全性更强 (b) 历粤毫子种找大学
5.2.1 杂凑函数的定义及使用方式 第一类:先hash、再对称加密 ① 消息与杂凑码链接后用单钥加密算法加密:见图3(a) ⚫ 提供消息的保密性、认证性、完整性 ② 用单钥加密算法仅对杂凑码加密:见图3(b) ⚫ 提供消息的认证性、完整性 ⚫ 用于不要求保密性的情况,可减少处理负担。将EK[H(M)]看作一 个函数,函数的输入为消息M和密钥K,输出为固定长度 15/ 第五章 消息认证算法:5.2 杂凑函数 M ║ E K D K M D 比 较 H(M) 发送方A 接收方B (a) M E ║ K D K M H 比 较 (b) H H EK[M||H(M)] EK[H(M)] 注意与MAC中 的保密认证模式 相比较 MAC使用两个 不同密钥,保密 认证能力分开, 安全性更强
第五章消息认证算法:5.2杂凑函数 5.2.1杂凑函数的定义及使用方式 第二类:先hash,再签名 ③用公钥加密算法和发方秘密钥仅加密杂凑码、即数字签名:见图3(c) 提供消息的认证性、完整性、不可否认性 由于加密运算的速度较慢,代价较高,而且很多加密算法还受到专利保护, 因此在不要求保密性的情况下,方式②和③将比其他方式更具优势 ④将消息连同③产生的签名再用密钥加密:见图3(d) 提供了消息的保密性和数字签字认证性、完整性、不可否认性) M PKA 比较 仅对杂凑值 ESKAH(M)] 加密和签字 (c) 的方式是提 供认证性的 M H SKA KA比较 常用方式 EKIMESKALH(M)II ESKAH(M)I D 如(b)和(c ( 面些莞子代技大学 16/
5.2.1 杂凑函数的定义及使用方式 第二类:先hash,再签名 ③ 用公钥加密算法和发方秘密钥仅加密杂凑码、即数字签名:见图3(c) ⚫ 提供消息的认证性、完整性、不可否认性 ⚫ 由于加密运算的速度较慢,代价较高,而且很多加密算法还受到专利保护, 因此在不要求保密性的情况下,方式②和③将比其他方式更具优势 ④ 将消息连同③产生的签名再用密钥加密:见图3(d) ⚫ 提供了消息的保密性和数字签字(认证性、完整性、不可否认性) 16/ 第五章 消息认证算法:5.2 杂凑函数 M E ║ SKA D PKA M H 比 较 (c) H ESKA[H(M)] M E ║ SKA D PKA M H 比 较 (d) H ESKA[H(M)] E K D K EK[M||ESKA[H(M)]] 仅对杂凑值 加密和签字 的方式是提 供认证性的 常用方式 如(b)和(c)