消息认证技术知识概述课件.ppt





《消息认证技术知识概述课件.ppt》由会员分享,可在线阅读,更多相关《消息认证技术知识概述课件.ppt(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第4 4讲讲 消息认证技术消息认证技术HashHash函数函数消息认证码消息认证码MD5MD5算法算法SHA-1SHA-1算法算法Hash函数的攻击分析函数的攻击分析4.1 Hash4.1 Hash函数函数4.1.1 一个简单的一个简单的Hash函数函数4.1.2 完整性检验一般方法完整性检验一般方法4.1 Hash4.1 Hash函数函数Hash函数,就是将一种任意长度的消息压缩成某一固定长度的消息摘要的函数,又称消息摘要函数,散列函数或杂凑函数,记为:h=H(M)。我们把Hash值 称为输入数据M的“数字指纹”。Hash函数的这种单向性特征和输出数据长度固定的特征使得它可以用于检验消息的
2、完整性是否遭到破坏。4.1 Hash4.1 Hash函数函数用作消息认证的Hash函数具有如下一些性质:(1)消息M可以是任意长度的数据。(2)给定消息M,计算它的Hash值 h=H(M)是很容易的。(3)任意给定 h,则很难找到M使得h=H(M),即给出Hash值,要求输入M在计算上是不可行的,即运算过程是不可逆的,这种性质称为函数的单向性。(4)给定消息M和其Hash值H(M),要找到另一个 M,且M M,使得H(M)=H(M)在计算上是不可行的,这条性质被称为抗弱碰撞性。(5)对于任意两个不同的消息 M M,它们的摘要值不可能相同,这条性质被称为抗强碰撞性。4.1 Hash4.1 Has
3、h函数函数弱抗碰撞性保证对于一个消息M及其Hash值,无法找到一个替代消息M,使它的Hash值与给定的Hash值相同。这条性质可用于防止伪造。强抗碰撞性对于消息Hash函数的安全性要求更高,这条性质保证了对生日攻击的防御能力。碰撞性是指对于两个不同的消息M和M,如果它们的摘要值相同,则发生了碰撞。虽然可能的消息是无限的,但可能的摘要值却是有限的。因此,不同的消息可能会产生同一摘要,碰撞是可能存在的。但是,Hash函数要求用户不能按既定需要找到一个碰撞,意外的碰撞更是不太可能的。显然,从安全性的角度来看,Hash函数输出的比特越长,抗碰撞的安全强度越大。4.1.1 4.1.1 一个简单的一个简单
4、的HashHash函数函数一个例外的情况是,若消息出错,而摘要值仍然不变的概率为 。当n充分大时,出错的概率或者说消息被篡改的概率非常小,视为小概率事件,忽略不计。4.1.2 4.1.2 完整性检验一般方法完整性检验一般方法消息完整性检验的一般机制如图所示。无论是存储文件还是传输文件,都需要同时存储或发送该文件的数字指纹;验证时,对于实际得到的文件重新产生其数字指纹,再与原数字指纹对比,如果一致,则说明文件是完整的。否则,是不完整的。4.2 4.2 消息认证码消息认证码消息认证具有两层含义:一是检验消息的来源是真实的,即对消息的发送者的身份进行认证;二是检验消息是完整的,即验证消息在传送或存储
5、过程中未被篡改、删除或插入等。当需要进行消息认证时,仅有消息作为输入是不够的,需要加入密钥k,这就是消息认证的原理。能否认证,关键在于信息发送者或信息提供者是否拥有密钥k。消息认证码(Message Authentication Code,MAC)通常表示为MAC=CK(M)其中M是可变长的消息,K是收发双方共享的密钥,函数值CK(M)是定长的认证码,也称为密码校验和。MAC就是带密钥的消息摘要函数,其实就是一种带密钥的数字指纹,它与不带密钥的数字指纹是有本质区别的。4.2 4.2 消息认证码消息认证码1.消息消息认证认证码被附加到消息后以M|MAC方式一并发送,收方通过重新计算MAC以实现对
6、M的认证。如图所示。假定收、发双方共享密钥k,如果收到的MAC与计算得出的MAC一致,那么可以得出如下结论:接收方确信消息M未被篡改。此为完整性验证。接收方确信消息来自所声称的发送者,因为没有其他人知道这个共享密钥,其他人也就不可能为消息M附加合适的MAC。此为消息源验证。4.2 4.2 消息认证码消息认证码2.消息消息认证与保密与保密在(1)中,消息以明文方式传送,这一过程只提供认证而不具备保密性。如图4-2-2所示提供一种即加密又认证的方式,发送方发送Ek2M|Ck1(M)。该种处理方式除具备(1)的功能外,还具有保密性。4.2 4.2 消息认证码消息认证码3.密文密文认证改变(2)中加密
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 消息 认证 技术 知识 概述 课件

限制150内