信息安全基础课件:11Hash函数.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《信息安全基础课件:11Hash函数.pptx》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 安全 基础 课件 11 Hash 函数
- 资源描述:
-
1、1协商大素数p,本原根g选择随机数XA、XB计算YA=gXA,YB=gXB (mod p)Alice计算K= (YB ) XA(mod p); Bob计算K = (YA ) XB(mod p), K = K =g XA XB(mod p)协商大素数q,本原根选择随机数XAAlice计算YA= XA (mod q); PU= q, , YA SU= XAK = K =g XA XB(mod P)Bob随机选择k,K= YakC1= k, C2=KMAliceK=C1XAM=C2K-12pHash函数的应用p两个简单的Hash函数p需求和安全性p基于CBC的Hash函数p安全Hash算法(SHA)
2、pSHA-3Hash实例第三部分第三部分:数据完整性算法:数据完整性算法3Hash实例网络通信的攻击威胁网络通信的攻击威胁p 泄露泄露p 流量分析流量分析p 伪装伪装p 内容篡改内容篡改p 顺序修改顺序修改p 时间修改时间修改p 发送方发送方否认否认p 接收接收方否认方否认消息认证数字签名不属于机密性范畴,属于数据完整性范畴4Hash实例p散列函数散列函数( Hash Functions):一个散列函数以作为,并产生一个定长的散列码一个定长的散列码,有时也称消息摘要消息摘要,作为输出输出。p消息消息认证认证(Message Authentication):是一个证实证实来自可信的源点来自可信的
3、源点且未被未被篡改篡改的过程。p数字签名数字签名(Digital Signature)是一种防止防止或抵赖抵赖的鉴别技术。5Hash实例p散列函数散列函数( Hash Functions):一个散列函数以作为,并产生一个定长的散列码一个定长的散列码,有时也称消息摘要消息摘要,作为输出输出。单向性:单向性:对于预先指定的Hash值,找到对应的数据块在计算上不可行抗碰撞性:抗碰撞性:找到两个不同数据块,对应相同的Hash值在计算上不可行6Hash实例p 消息消息认证认证(Message Authentication):是一个证实证实来自可信的源点来自可信的源点且未被篡改未被篡改的过程。p 实现方式
4、:发送者根据待发送消息产生一组Hash值,将消息与Hash值一同发送;接收者作同样算法验证结果是否一致。消息认证消息认证HashHash的应用:的应用:7Hash实例p 实现方式:发送者根据待发送消息产生一组Hash值,将消息与Hash值一同发送;接收者作同样算法验证结果是否一致。消息认证消息认证HashHash的应用:的应用:中间人攻击加密4种方案啊8Hash实例方案方案(a)消息认证消息认证HashHash的应用:的应用:kAB :EMH (M ) 提 供 鉴 别 加 密 保 护 H ( M ) 提 供 保 密 仅 A 和 B 共 享 密 钥 k 回顾:流密码、一次一密的篡改攻击9Hash
5、实例方案方案(b)消息认证消息认证HashHash的应用:的应用:用于无须保密性的应用10Hash实例方案方案(c)消息认证消息认证HashHash的应用:的应用:不需要加密算法11Hash实例方案方案(d)消息认证消息认证HashHash的应用:的应用:不需要加密算法12Hash实例消息认证消息认证HashHash的应用:的应用:13Hash实例消息认证消息认证HashHash的应用:的应用:密钥Hash消息认证码(MAC)消息认证的过程:消息认证的过程:1. 将密钥与消息快一同输入将密钥与消息快一同输入Hash函数,得到函数,得到MAC2. 将将MAC与消息一同发送或存储与消息一同发送或存
6、储3. 需要需要验证时重新计算验证时重新计算MAC看是否一致看是否一致说明:说明: 攻击攻击者不知道密钥,篡改消息后无法生成者不知道密钥,篡改消息后无法生成新的新的MAC 由于有密钥才能生成由于有密钥才能生成MAC,验证方也就知道发送者是谁,验证方也就知道发送者是谁了了14Hash实例消息认证消息认证HashHash的应用:的应用:数字签名的操作与数字签名的操作与MAC类似:类似:1. 签名:使用用户私钥加密消息的签名:使用用户私钥加密消息的Hash值值2. 验证:任何知道该用户公钥的都可以进行验证验证:任何知道该用户公钥的都可以进行验证数字签名数字签名15Hash实例消息认证消息认证Hash
7、Hash的应用:的应用:数字签名的操作与数字签名的操作与MAC类似:类似:1. 签名:使用用户私钥加密消息的签名:使用用户私钥加密消息的Hash值值2. 验证:任何知道该用户公钥的都可以进行验证验证:任何知道该用户公钥的都可以进行验证数字签名数字签名16Hash实例消息认证消息认证HashHash的应用:的应用:数字签名数字签名17Hash实例消息认证消息认证HashHash的应用:的应用:1. 生成单向口令:生成单向口令:存储口令的Hash值而不是口令本身,即使被黑客访问口令文件,也不会泄露2. 入侵入侵检测和病毒检测:检测和病毒检测:将文件的Hash值存储在安全系统中,通过重新计算Hash
8、值判断文件是否被修改3. 构建伪随机函数或伪随机数发生器构建伪随机函数或伪随机数发生器4. 构建构建抗量子计算的公钥密码系统抗量子计算的公钥密码系统数字签名数字签名其他应用其他应用18Hash实例两个简单的两个简单的HashHash函数:函数:消息: 0 1 1 0, 0 1 0 0 0 0 1 1, 0 1 0 1Hash: 0 1 0 1, 0 0 0 1大多数文本文件最高位是0的概率大128位Hash有效性为2-11219Hash实例两个简单的两个简单的HashHash函数:函数:消息: 0 1 1 0, 0 1 0 0 0 0 1 1, 0 1 0 1改进:改进:1. Hash初始值为
9、初始值为02. 对每个对每个n位分组位分组 当前Hash循环左移一位 将该分组与移位后的Hash异或Hash1: 0 1 1 0, 0 1 0 0左移: 1 1 0 0, 1 0 0 02组消息: 0 0 1 1, 0 1 0 1Hash2: 1 1 1 1, 1 1 0 120Hash实例两个简单的两个简单的HashHash函数:函数:改进:改进:1.Hash初始值为初始值为02.对每个对每个n位分组位分组 当前Hash循环左移一位 将该分组与移位后的Hash异或p 若仅加密若仅加密Hash值值(图图11.3b和和11.4a)该方法无法保证数据完整性。该方法无法保证数据完整性。p 攻击者可以
10、选定某消息攻击者可以选定某消息然后在该消息后附加一个然后在该消息后附加一个n位分组位分组得到相同得到相同Hash值值p 即使即使CBC方式加密后方式加密后(11.3a的模式的模式)也不安也不安全全21Hash函数Hash实例碰撞对于h=H(x),称x为h的原像。考虑b位消息M的n位Hash函数,平均每个Hash值都对应2b-n个原像。Hash函数的安全性要求函数的安全性要求1. 输入长度可变:H可用于任何尺寸的消息M2. 输出长度固定:产生固定长度的输出 h3. 效率:对任何消息x ,计算h=H(x)是容易的4. 抗原像攻击(单向性):给定 h ,计算满足H(x)=h的x在计算上是不可行的5.
11、 抗第二原像攻击(抗弱碰撞性):给定x,计算满足H(y)=H(x)的y在计算上是不可行的6. 抗(强)碰撞性:找到任何满足 H(y)=H(x)的偶对( x,y ),在计算上是不可行的。 7. 伪随机性:H满足伪随机性测试标准22Hash函数Hash实例Hash函数的安全性要求函数的安全性要求1.输入长度可变:H可用于任何尺寸的消息M2.输出长度固定:产生固定长度的输出 h3.效率:对任何消息x ,计算h=H(x)是容易的4.抗原像攻击(单向性):给定 h ,计算满足H(x)=h的x在计算上是不可行的5.抗第二原像攻击(抗弱碰撞性):给定x,计算满足H(y)=H(x)的y在计算上是不可行的6.抗
12、(强)碰撞性:找到任何满足 H(y)=H(x)的偶对( x,y ),在计算上是不可行的。 7.伪随机性:H满足伪随机性测试标准p 满足15,弱Hash函数;满足16,强Hash函数p 强Hash函数在签名中可以防止替换签名内容的攻击23Hash函数Hash实例Hash函数的安全性要求函数的安全性要求p 不满足单向性的危害在Hash函数的用法11.3(e)中, 秘密值S本身并不发送, 如果散列函数不是单向的,攻击者截获到M和H(M|S). 然后通过某种逆变换获得M|S, 因而攻击者就可以得到S.p 不满足抗弱碰撞性的危害攻击者以一个有效签名(x,y)开始,此处y= sigk(h(x)。首先他计算
13、Z=h(x),并企图找到一个x满足h(x)=h(x)。若他做到这一点,则(x,y)也将为有效签名。p 不满足抗强碰撞性的危害攻击者首先找到两个消息x=x,满足h(x)=h(x),然后Oscar把x 给Bob且使他对x的摘要h(x)签名,从而得到y,那么(x,y)是一个有效的伪造。24Hash函数Hash实例Hash函数的安全性要求函数的安全性要求抗原像攻击(单向性):给定 h ,计算满足H(x)=h的x在计算上是不可行的抗第二原像攻击(抗弱碰撞性):给定x,计算满足H(y)=H(x)的y在计算上是不可行的抗(强)碰撞性:找到任何满足 H(y)=H(x)的偶对( x,y ),在计算上是不可行的。
14、 25Hash函数Hash实例不同应用中对不同应用中对Hash函数的安全性要求函数的安全性要求满足满足15或或16条件的条件的Hash函数会收到什么样的威胁呢?函数会收到什么样的威胁呢?26Hash函数Hash实例穷举攻击穷举攻击p 原像攻击原像攻击和和第二原像攻击第二原像攻击:对于:对于m位的位的Hash值,攻击者平值,攻击者平均要试均要试2m-1次次p 碰撞攻击碰撞攻击:大约:大约2m/2次次 生日攻击生日攻击p 生日攻击生日攻击p 攻击者的主要攻击目标是找到一对或更多对碰撞消息。p 攻击Hash算法和计算碰撞消息的方法。1.一般的方法,攻击任何类型的Hash算法,比如“生日攻击”;2.特
展开阅读全文