现代密码学第六章:单向函数和散列函数2

上传人:ji****72 文档编号:48577222 上传时间:2018-07-17 格式:PPT 页数:31 大小:480.50KB
返回 下载 相关 举报
现代密码学第六章:单向函数和散列函数2_第1页
第1页 / 共31页
现代密码学第六章:单向函数和散列函数2_第2页
第2页 / 共31页
现代密码学第六章:单向函数和散列函数2_第3页
第3页 / 共31页
现代密码学第六章:单向函数和散列函数2_第4页
第4页 / 共31页
现代密码学第六章:单向函数和散列函数2_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《现代密码学第六章:单向函数和散列函数2》由会员分享,可在线阅读,更多相关《现代密码学第六章:单向函数和散列函数2(31页珍藏版)》请在金锄头文库上搜索。

1、HASH函数和MAC(二)现代密码学第六讲1上节内容回顾n单向函数nHash函数的定义nhash函数的用途nMD5算法nSHA-256算法2本节主要内容n消息鉴别码定义nCBC-MACnHMACnCCT认证加密标准3消息鉴别码n消息鉴别码又称为带密钥的hash4消息鉴别码消息认证码MAC(Message Authentication Code)是 一种消息认证技术。n发送方A和接收方B共享密钥K,若A向B发送消息M,则A 计算利用C=F (K, M)计算MAC值;然后将原始消息M和C 一起发送给接收方。n接收方B对收到的消息M用相同的密钥K进行相同的计算 得出新的MAC值C。并将接收到的C与其

2、计算出的C进行 比较 ,若相等,则: (1) 接收方可以相信消息未被修改。 (2) 接收方可以确信消息来自真正的发送方。 F是MAC函数,它利用密钥K和任意长度的消息M来 生成一个固定长度的短数据块C。5消息鉴别码攻击目的 1 伪造攻击: 攻击者在没有密钥K的情况下,伪造一个未经 过认证的(M,Mac)对.存在性伪造: 如果攻击者只能够对一个不由他控制的消息进行伪造 ,那么这种伪造攻击称为存在性伪造攻击.选择性伪造: 如果攻击者能够对由他选择的消息进行伪造,那么这种 伪造攻击称为选择性伪造攻击. 2 密钥恢复攻击: 攻击者通过分析一系列(M,Mac)对, 找到控制这些(M,Mac)对的密钥.非

3、自适应选择明文攻击: 敌手在使用Mac设备之前,必须已经选定要 测试的消息;自适应选择明文攻击:敌手可以根据Mac设备的输出,自行选择下 一次要测试的消息.6消息鉴别码MAC的构造n用hash函数构造MAC n用分组密码构造MAC n用伪随机函数构造MAC n其他构造方法。7消息鉴别码研究进展n1985年, 基于DES的MAC,ISO 8731-1/ ANSI X9.9n2002年,NIST发布标准HMAC, ANSIX9.71nNESSIE工程推荐使用的MAC算法有TTMAC ,UMAC,CBC-MAC,HMAC8CBC-MAC美国国家标准技术研究所(National Institute o

4、f Standards and Technology)于1985年5月30日 发布了计算机信息认证标准(FIPS PUB 113 Federal Information Processing Standards Publication 113),这个标准制定了一个基于 DES数据认证算法(Data Authentication Algorithm (DAA)。这个算法也被用在ISO 8731-1和美国国家标准局(American National Standards Institute (ANSI))发布的金融机构信 息认证的标准ANSI X9.9中。910CBC-MACn基本思想是:首先,填

5、充数据,形成一串n比特组;其 次,使用CBC模式加密这些数据;对最后的输出分组 进行选择处理和截断(如果mn)形成MAC.10设n比特数据组D1,D2,Dq,则MAC的具 体计算过程如下:1.置I1=D1,计算O1=ek(I1)。2.对i=2,3,q,完成下列计算:Ii=Di Oi-1Oi=ek(Ii)3.对Oq进行选择处理和截断,获得m比特 MAC.其中ek表示分组密码的加密函数.11CBC-MAC11CBC-MAC若数据不是加密算法分组长度的整数倍,则需进行消 息填充,填充方法有: 方法1:对需要计算MAC的数据的右边填充若干个或零个“0”比 特,以便得到一个比特长度是n的整数倍的数据串。

6、方法2:对需要计算MAC的数据的右边先填充一个“1”比特,然 后填充若干个或零个“0”比特,以便得到一个比特长度是n的 整数倍的数据串。方法3:首先对需要计算MAC的数据的右边填充若干个或零个 “0”比特,以便得到一个比特长度是n的整数倍的数据串;其 次,在所得到的数据串的左边 填充一个n比特组,该组包含 了未进行填充的数据的比特长度的二元表示,其左边用“0”补 齐。n如果验证者不知道数据的长度,则应选用填充方法2或3,因 为这两种方法可使验证者查明所填充的那些“0”比特。1212CBC-MACn如果在计算CBC-MAC的过程中没有使用选 择处理和截断过程,直接输出最后一步的 输出密文作为最后

7、MAC,是否安全?13CBC-MAC若消息恰好是分组的整数倍,不考虑填充 攻击一:假定MAC1=ek(D1),则MAC2是两个分组的 消息(D1|D2 )的一个合法MAC值,其中, D2=D1 MAC1。这种攻击方法称为”cut and paste” 攻击。 攻击二:攻击者想伪造消息D的合法MAC。首先,选择消息D1发送给认证者,认证者返回 MAC1=ek(D1)然后计算D2=MAC1 D,把消息( D1|D2 )发 送给认证者,认证者返回MAC2=ek(ek(D1)D2)则MAC2是消息D的合法MAC值:MAC2=ek(D)14伪造攻击: 攻击者在没有密钥K的情况下, 伪造一个未经过认证的(

8、M,Mac)对.存在性伪造 VS 选择性伪造? 主动攻击VS被动攻击? 14CBC-MAC课堂练习:n如果使用填充方法1,上述攻击是否存在 ?n如果使用填充方法2,上述攻击是否存在 ?n如果使用填充方法3,上述攻击是否存在 ?n使用选择处理,上述攻击是否存在?15CBC-MACn标准中规定了两种具体的选择处理方法:n选择一个密钥K*,计算O q=ek*(Oq).n选择一个密钥k*,计算O q=ek(dk*(Oq)。n选择处理过程除了避免”cut and paste”攻 击之外,还可以增加密码分析者穷搜索密 钥K的难度 截断方法n在选择处理后,取n比特组的最左边的m比 特构成MAC16HMACn

9、HMAC是由Mihir Bellare,Ran Canetti和Hugo Krawczyk于1996年首先提出n2002年3月6日美国国家标准技术研究所( National Institute of Standards and Technology )发布了The Keyed-Hash Message Authentication Code(HMAC),用来认证消息的 起源及其完整性;这个算法也被用在美国国家标 准局(American National Standards Institute (ANSI))发布的X9.71中17HMACnHMAC的基本观点是: 使用Hash函数H, K1和K2

10、(K1K2)计算MAC=H(K1 H (K2 m),其中K1和K2由同一个密钥K导出 18HMACHMAC的工作流程如下:nH是一个Hash函数nK表示密钥nB表示计算消息摘要时消息分块的字节长度(对MD5和 SHA-1是512比特,64字节)nL表示消息摘要按字节计算的长度(对MD5是16字节)nipad表示0x36重复B次,opad表示0x5c重复B次。nK可以有不超过B字节的任意长度,但一般建议K的长度 不小于L。当使用长度大于B的密钥时,先用H对密钥进 行杂凑,然后用得出的L字节作为HMAC的真正密钥1919HMAC20HMACn计算一个数据“文本”的HMAC的操作如下:1.在K的后面

11、加上足够的0以得到B字节的串2.将上一步得到的B字节串与ipad异或3.将数据流“文本”接在第2步得到的B字节串后面4.将H应用于上一步的比特串5.将第1步所得到的B字节串与opad异或6.将第4步的消息摘要接在第5步的B字节串后面7.应用H于上一步的比特串 上面的描述可以表述为H(K opad) H(K ipad text)2121CCT认证加密标准消息认证方式 1)SSL:认证加 密 2)IPSec:加密 认证 3)SSH:加密、 认证22CCT认证加密标准n先认证后加密:接受方解密和验证程序都 完成后才能确定消息是否有效。具有密文隐藏功能;n先加密后认证:传送信道不安全,传送信 息被篡改

12、(或出现传送错误),接受方在 解密运算之前就可以发现,从而减少不必 要的解密浪费;不具有密文隐藏功能;23CCT认证加密标准24CCT认证加密标准CCM认证加密模式示例25CCT认证加密标准B0 的设置26CCT认证加密标准A0 的设置27CCT认证加密标准注: 1 先解密,然后对明文认证; 2 不必按顺序解密,解密运算可以并行计算 3 密钥K使用的周期内,随机数 N选取需要 保证所有的A0,A1,。均不相等.28本章要点小结n消息鉴别码定义n消息鉴别码的攻击nCBC-MAC算法及安全分析nHMAC算法29作业n对上述选择消息攻击/选择性伪造攻击,三 种填充方法是否可以防止?选择处理(截 断)是否可以抵抗上面攻击?nCFB运行模式是否也可以构造消息认证算 法?30THE END!31

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

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号