《信息安全技术》课件第4章.ppt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息安全技术 信息 安全技术 课件
- 资源描述:
-
1、4.1 Hash函数4.2 消息认证码4.3 MD5算法4.4 SHA-1算法4.5 Hash函数的攻击分析小结习题消息摘要函数、散列函数或杂凑函数,记为h=H(M)。我们把Hash函数值h称为输入数据M的“数字指纹”。Hash函数的这种单向性特征和输出数据长度固定的特征使得它可以用于检验消息的完整性是否遭到破坏。如果消息或数据被篡改,那么数字指纹就不正确了。4.1 Hash函数函数 用做消息认证的Hash函数具有如下一些性质:(1)消息M可以是任意长度的数据。(2)给定消息M,计算它的Hash函数值h=H(M)是很容易的。(3)任意给定,则很难找到M使得h=H(M),即给出Hash函数值,要
2、求输入M在计算上是不可行的。这说明Hash函数的运算过程是不可逆的,这种性质被称为函数的单向性。(4)给定消息M和其Hash函数值H(M),要找到另一个M,且MM,使得H(M)=H(M)在计算上是不可行的,这条性质被称为抗弱碰撞性。抗弱碰撞性保证对于一个消息M及其Hash函数值,无法找到一个替代消息M,使它的Hash函数值与给定的Hash函数值相同。这条性质可用于防止伪造。抗强碰撞性对于消息Hash函数的安全性要求更高。这条性质保证了对生日攻击方法的防御能力。碰撞性是指对于两个不同的消息M和M,如果它们的摘要值相同,则发生了碰撞。虽然可能的消息是无限的,但可能的摘要值却是有限的。如Hash函数
3、MD5,其Hash函数值长度为128位,不同的Hash函数值个数为2128。因此,不同的消息可能会产生同一摘要,碰撞是可能存在的。但是,Hash函数要求用户不能按既定需要找到一个碰撞,意外的碰撞更是不太可能的。显然,从安全性的角度来看,Hash函数输出的比特越长,抗碰撞的安全强度越大。4.1.1 一个简单的一个简单的Hash函数函数基于安全强度的需要,现有的Hash函数一般都十分复杂。本节我们介绍一个简单的Hash函数,便于建立对Hash函数的感性认识。对于明文m,按每组n比特进行划分,如果最后一组长度不够,则补充0。不妨设划分为r组,mi=mi1,mi2,min,1ir,mij=0或1,然后
4、将各分组逐比特进行模2加运算,则输出为h=h1,h2,hn,其中h1=m11+m21+mr1(mod 2),hn=m1n+m2n+mm(mod 2)。从定义可见,hi表示所有分组的第i比特进行模2加,因此,若消息改变,摘要值也会随之改变。一个例外的情况是,若消息出错,而摘要值仍然不变的概率为2-n。当n充分大时,出错的概率或者说消息被篡改的概率非常小,视为小概率事件,可忽略不计。4.1.2 完整性检验的一般方法完整性检验的一般方法消息完整性检验的一般机制如图4-1-1所示。无论是存储文件还是传输文件,都需要同时存储或发送该文件的数字指纹;验证时,对于实际得到的文件重新产生其数字指纹,再与原数字
5、指纹进行对比,如果一致,则说明文件是完整的,否则,是不完整的。图 4-1-1 消息完整性检验的一般机制 在4.1节中我们简单介绍了消息的完整性检验,这只能检验消息是否是完整的,不能说明消息是否是伪造的。因为,一个伪造的消息与其对应的数字指纹也是匹配的。消息认证具有两层含义:一是检验消息的来源是真实的,即对消息的发送者的身份进行认证;二是检验消息是完整的,即验证消息在传送或存储过程中未被篡改、删除或插入等。4.2 消消 息息 认认 证证 码码 产生消息的数字指纹的方法很多。当需要进行消息认证时,仅有消息作为输入是不够的,需要加入密钥K,这就是消息认证的原理。能否认证,关键在于信息发送者或信息提供
6、者是否拥有密钥K。消息认证码(Message Authentication Code,MAC)通常表示为MAC=CK(M)其中:M是长度可变的消息;K是收、发双方共享的密钥;函数值CK(M)是定长的认证码,也称为密码校验和。MAC是带密钥的消息摘要函数,即一种带密钥的数字指纹,它与不带密钥的数字指纹是有本质区别的。1.消息认证认证码被附加到消息后以MMAC方式一并发送,接收方通过重新计算MAC以实现对M的认证,如图4-2-1所示。图 4-2-1 消息认证假定收、发双方共享密钥K,如果接收方收到的MAC与计算得出的MAC一致,那么可以得出如下结论:(1)接收方确信消息M未被篡改。此为完整性验证。
7、(2)接收方确信消息来自所声称的发送者,因为没有其他人知道这个共享密钥,所以其他人也就不可能为消息M附加合适的MAC。此为消息源验证。2.消息认证与保密在消息认证中,消息以明文方式传送,这一过程只提供认证而不具备保密性。如图4-2-2所示提供了一种既加密又认证的方式,发送方发送EK2(M)CK1(M)。该种处理方式除具备息认证的功能外,还具有保密性。图 4-2-2 消息认证与保密3.密文认证密文认证改变消息认证与保密中加密的位置,得到另外一种消息保密与认证方式,即密文认证,如图4-2-3所示。该种处理方式先对消息进行加密,然后再对密文计算MAC,传送EK2(M)CK1(EK2(M)给接收方。接
8、收方先对收到的密文进行认证,认证成功后,再解密。图 4-2-3 密文认证MD表示消息摘要(Message Digest,MD)。MD4算法是1990年由Ron Rivest设计的一个消息摘要算法,该算法的设计不依赖于任何密码体制,采用分组方式进行各种逻辑运算而得到。1991年MD4算法又得到了进一步的改进,改进后的算法就是MD5算法。MD5算法以512 bit为一块的方式处理输入的消息文本,每个块又划分为16个32 bit的子块。算法的输出是由4个32 bit的块组成的,将它们级联成一个128 bit的摘要值。MD5算法如图4-3-1所示,包括以下几个步骤。4.3 MD5算法算法 图 4-3-
展开阅读全文