当前课程知识点:网络空间安全技术 >  第4章 网络空间安全防御加密与认证技术 >  4.4 哈希技术 >  4.4 哈希技术

返回《网络空间安全技术》慕课在线视频课程列表

4.4 哈希技术在线视频

下一节:4.5 认证技术与PKI体系

返回《网络空间安全技术》慕课在线视频列表

4.4 哈希技术课程教案、知识点、字幕

同学们,大家好

今天我们一起来学习

《网络空间安全技术》这门课程的第三篇

网络空间安全防御技术体系

第4章网络空间安全防御加密与认证技术的第四部分内容

哈希技术

在这一节里面

我们分以下几点来跟大家一起讨论

首先

我们要讨论哈希函数的概念和特点

第二我们要讨论

针对哈希算法的攻击及其防御

第三点是介绍传统的哈希算法

第四点我们重点来考察

我们的国产商用哈希算法

第五点是我们这一节的思考与拓展的内容

首先我们来看第一点

哈希函数的概念和特点

首先我们来看哈希函数的概念

所谓哈希函数又称为散列函数

杂凑函数或者是消息摘要函数

它是可以将任意长度的消息M

也就是输入

映射输出为一个长度较短

而且长度固定的值H(M)

称H(M) 为哈希值

或者叫散列值

或者叫杂凑值或者叫消息摘要

哈希函数

本质上它是一种不可逆的压缩映射

压缩映射是指散列值的空间

通常要远小于输入的消息空间

因此

不可能从散列值来确定唯一的输入值

说它是不可逆的映射是指单向密码体制

也就是说从明文到密文的不可逆映射

因此它仅有加密过程而没有解密过程

接下来我们来看一下哈希函数的特点

它的特点主要有六个

首先第一个是易于压缩

也就是说

对于任意大小的原始输入信息

哈希值的长度是很小的

第二个是正向快速(传递)

给定了明文和哈希算法

可以在有限的时间和资源内快速求得

第三个特点是逆向困难

也就是说

从哈希输出

无法倒推输入的原始数值

第四点是抗碰撞性

理想的哈希函数

应该是无碰撞的

第五点是高灵敏性

原始输入信息的微小差异

产生的哈希值可能会截然不同

第六点是长度一致

也就是说长度不同的输入信息

经过散列计算以后

它的哈希值长度是一致的

这就是哈希的六个特点

接下来我们来看一下哈希技术的用途

第一个是数据校验

也就是用来校验数据信息的完整性

第二个是数字签名

也就是说用来

提供信息服务的不可否认性

第三个是鉴权协议

用来验证

用户是否拥有访问系统的权利

接下来我们讨论

针对哈希算法的攻击及其防御

首先

我们要看哈希算法攻击的基本思想

接下来我们讨论一下

碰撞表攻击法与加盐哈希

第三个我们简单介绍一下差分攻击法

首先我们来看

哈希算法攻击的基本思想

我们如何实现针对哈希算法的攻击呢

也就说是逆向还是碰撞

在逆向方面它存在着一定的困难性

任意长的数据经过哈希处理之后

本质上是进行了

有信息损失的这么一种

压缩运算

压缩后所含的信息量已经大大的减少

缺乏还原出初始数据的信息

那么从碰撞的角度考虑,来考察

碰撞的可能性

找到一个原文

算出来的哈希值与已知的哈希值一致

需要利用到

计算哈希值

所需的时间成本和空间成本

可以通过

碰撞表攻击法

和差分攻击法等来实现攻击

接下来我们来看一下碰撞表攻击法与加盐哈希

碰撞表攻击法它的特点

是用来寻求破解的途径

那么暴力碰撞法呢

它的本质是利用计算机的资源

来尝试碰撞

已知的哈希值

穷举法需要耗费极大的时间成本

那么字典法呢也需要

耗费极大的空间成本

因此它在工程上呢是不可行的

第二种方法是时空折衷法

首先我们来看一下彩虹表法

彩虹表是为碰撞哈希值

而准备的预先计算好的一个表

常用于恢复由有限集字符

组成的固定长度的纯文本

它的本质是解决逆向破解难题的“密码对 ”表

哈希链算法

它是利用时空权衡思想

而设计的一种算法来实现

时间和空间的折衷

接下来我们来看一下加盐哈希

利用查表法和彩虹表法的前提是

只有所有数值均以相同的方式

进行哈希加密时才有效

因此我们可以通过

随机化哈希来阻止此类攻击

因此即便是同一个初始值

分别进行两次哈希得到的哈希值

也是不相同的

由此使得碰撞类方法不再有效

那么其中

加盐哈希的一个重要的参数就是盐值

所谓盐值是指在初始值进行哈希之前

混入一段“随机”的字符串也就是“盐值”

即便是同一个初始值

每次都会被哈希为完全不同字符串

而且攻击者无法确知盐值

于是就无法预先计算出一个查询表

或者是彩虹表

那么接下来我们看一下盐值的管理

为了校验初始值是否正确

需要储存盐值

通常将其与哈希值一起存放在

账户的数据库中

或者直接存储为哈希字符串的一部分

接下来我们来看一下差分攻击法

差分攻击法

它的关键在于寻找差分和差分路径

给定一个特定长度的原文M1

加上一个特定常数得到新的明文M2

通过哈希运算

M1和M2就可以得到相同的哈希值

构造差分路径

涉及到如何处理差分循环移位和

选择高概率的充分条件

中国科学家王小云利用差分攻击算法

寻找到了MD5

SHA-1等哈希算法的可能碰撞

为提升全球网络空间的信息安全

做出了杰出的中国贡献

接下来我们来讨论一下

传统的哈希算法

首先我们来看传统哈希算法的分类

接下来

要介绍MD系列算法

以及SHA系列算法

传统哈希算法的分类

从哈希函数概念诞生至今

已经提出了几十种哈希算法

那么每类算法

对应不同的参数

又会形成不同的算法实现

比如说MD系列包括MD2、MD3

MD4、MD5等

SHA系列

包括SHA-1、SHA-224、SHA-256

SHA-384、SHA-512等

当然此外还有其他的一些

哈希算法

比如说CRC-32校验算法

我们来看一下MD系列算法

我们以MD5算法为例

MD5是由美国密码学家

罗纳德.李维斯特设计

于1992年公开

由 MD4导出

MD5算法原理是MD5码

512位分组来处理输入的信息

而且

每一个分组又被划分为16个

32位的子分组

经过这样一系列处理算法的输出

由四个32位分组组成

将这四个32位分组级联之后

将生成一个128位的散列值

我们也称为报文摘要

接下来我们讨论MD5算法的安全性

由于MD5算法普遍、稳定

快速的特点,曾广泛应用于

普通数据的安全保护和认证领域

2004年

中国科学家王小云证实

MD5算法无法阻止碰撞

因此不适用于安全性认证

如SSL公开密钥认证

或是数字签名等用途

在实际的应用当中

可遭受到彩虹表等攻击

目前MD5

已经逐步退出了历史舞台

接下来我们看一下第二类

典型的哈希算法

SHA系列算法

我们以SHA-256算法为例

SHA-256算法是

SHA-2算法下的细分算法之一

它是由美国国家安全局(NSA)研发

是其SHA-1的后继者

这个算法的原理是输入按

512位分组进行处理

通过常量的初始化、信息预处理

使用逻辑运算

得到一个256位的散列值

也叫做报文摘要

我们来讨论一下

SHA-256 算法的安全性

SHA系列算法标准是至今世界上使用

最为广泛

而且是安全性比较好的哈希算法之一

目前SHA-256算法

得到了全面推广应用

比如说在区块链当中

它用的哈希函数

就是使用的SHA-256

2005年

王小云证实

SHA-1算法无法防止碰撞

因此不适用于安全性认证

但目前SHA-2算法仍然是安全的

SHA-256安全的主要原因是

该算法产生碰撞的可能性比较小

而且它的报文摘要比较长

因此加大了彩虹表攻击的时间复杂度

和空间复杂度

相对于MD5来说呢

SHA-256更为安全

同学们接下来我们来重点讨论一下

国产商用哈希算法

国产商用哈希算法

主要是SM3杂凑算法

也称为哈希算法或散列算法

这个算法是由我国国家密码管理局于

2010年12月17日发布

相关的标准是

GM/T0004-2012

《SM3密码杂凑算法》

SM3算法给出了杂凑函数算法的计算方法

和相关的计算步骤

并给出了运算示例

在国产商用密码体系当中

SM3主要用于数字签名及验证

消息认证码生成及验证、随机数生成等

而且SM3算法是公开的

目前

它可以满足多种密码应用的安全需求

此外SM3杂凑算法还在SM2

SM9标准当中得到了具体的应用

接下来我们来看一下

SM3算法的国际影响

从安全性上来说

SM3的安全性及效率与

SHA-256相当

含有我国

SM3杂凑算法密码算法的

ISO/IEC10118

《信息安全技术杂凑函数第3部分:专用杂凑函数》

第4版由国际标准化组织

ISO发布

标志着SM3的算法

正式成为国际标准

同学们

接下来我们来看一下这一节的思考与拓展

我们提出的问题是

如何考虑

SM3算法与国际同类算法的比较

我们给出一些提示

比如说在结构实现方面

SM3算法有哪些特点

在自主可控方面

SM3算法能起到哪些作用

在算法安全方面

SM3算法存在哪些优势

还有哪些方面需要改进

这是我们这节课需要同学们

思考和拓展的问题

同学们

本讲结束

感谢观看

下次再见,谢谢

网络空间安全技术课程列表:

课程总览

-课程总览

第1章 新时代网络空间及其安全概述

-1.1 网络与网络空间

--1.1 网络与网络空间

-1.2 网络安全与网络空间安全

--1.2 网络安全与网络空间安全

-1.3 网络空间安全与国家安全

--1.3.1 网络空间安全与国家安全(上)

--1.3.2 网络空间安全与国家安全(下)

-1.4 网络空间安全威胁 风险与攻防

--1.4 网络空间安全威胁 风险与攻防

-第1章 习题

--第1章 习题

第2章 网络空间安全攻防对抗体系

-2.1 安全理论 技术 与工程的关系

--2.1 安全理论 技术 与工程的关系

-2.2 网络空间信息系统安全工程

--2.2.1 网络空间信息系统安全工程(上)

--2.2.2 网络空间信息系统安全工程(中)

--2.2.3 网络空间信息系统安全工程(下)

-2.3 网络空间安全技术体系

--2.3 网络空间安全技术体系

-2.4 网络安全与攻防对抗模型

--2.4.1 网络安全与攻防对抗模型(上)

--2.4.2 网络安全与攻防对抗模型(下)

-第2章 习题

--第2章 习题

第3章 网络安全攻击技术体系

-3.1 攻击模型与攻击链

--3.1 攻击模型与攻击链

-3.2 攻击向量与攻击面

--3.2 攻击向量与攻击面

-3.3 攻击图

--3.3 攻击图

-3.4 网络安全攻击技术分类

--3.4.1 网络安全攻击技术分类(上)

--3.4.2 网络安全攻击技术分类(下)

-3.5 典型的安全攻击方法

--3.5 典型的安全攻击方法

-第3章 习题

--第3章 习题

第4章 网络空间安全防御加密与认证技术

-4.1 密码与加密概述

--4.1.1 密码与加密概述(上)

--4.1.2 密码与加密概述(下)

-4.2 对称加密技术

--4.2.1 对称加密技术(上)

--4.2.2 对称加密技术(下)

-4.3 非对称加密技术

--4.3.1 非对称加密技术(上)

--4.3.2 非对称加密技术(下)

-4.4 哈希技术

--4.4 哈希技术

-4.5 认证技术与PKI体系

--4.5 认证技术与PKI体系

-第4章 习题

--第4章 习题

第5章 网络空间安全防御系统与网络安全技术

-5.1 信任体系与零信任安全

--5.1 信任体系与零信任安全

-5.2 操作系统与终端安全

--5.2 操作系统与终端安全

-5.3 网络安全防护架构

--5.3 网络安全防护架构

-5.4 典型的网络安全技术

--5.4.1 典型的网络安全技术(上)

--5.4.2 典型的网络安全技术(下)

-第5章 习题

--第5章 习题

第6章 网络空间安全防御应用与数据安全技术

-6.1 漏洞扫描与漏洞挖掘技术

--6.1 漏洞扫描与漏洞挖掘技术

-6.2 Web安全技术

--6.2 Web安全技术

-6.3 软件安全技术

--6.3 软件安全技术

-6.4 数据安全技术体系

--6.4 数据安全技术体系

-6.5 信息隐藏技术

--6.5 信息隐藏技术

-第6章 习题

--第6章 习题

第7章 网络空间安全管控技术体系

-7.1 网络安全风险评估技术

--7.1 网络安全风险评估技术

-7.2 网络安全测评技术

--7.2 网络安全测评技术

-7.3 网络安全等级保护

--7.3.1 网络安全等级保护(上)

--7.3.2 网络安全等级保护(下)

-7.4 网络安全情报分析与态势感知技术

--7.4 网络安全情报分析与态势感知技术

-7.5 内容安全技术

--7.5 内容安全技术

-第7章 习题

--第7章 习题

第8章 网络空间安全新技术与新应用

-8.1 工业控制系统安全保障

--8.1 工业控制系统安全保障

-8.2 物联网安全保障

--8.2 物联网安全保障

-8.3 信息物理系统安全保障

--8.3 信息物理系统安全保障

-8.4 云计算安全保障

--8.4 云计算安全保障

-8.5 区块链安全保障

--8.5 区块链安全保障

-第8章 习题

--第8章 习题

4.4 哈希技术笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。