HASH函数

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

密码学

(第十三讲)

HASH函数

张焕国

武汉大学计算机学院

目录

密码学的基本概念

1、密码学

2、古典

、古典密码

3、数据加密标准(

DES)

、数据加密标准(DES

4、高级

AES)

数据加密标准(AES

高级数据加密标准(

5、中国商用密码(

SMS4)

、中国商用密码(SMS4

6、分组密码的应用技术

7、序列密码

8、习题课:复习对称密码

、公开密钥密码(11)

9、公开密钥密码(

目录

公开密钥密码(22)

10

10、

11、数字签名(1)

12、数字签名(2)

13、

、HASH函数

13

14

14、

15、

15

PKI技术

16

16、

、PKI

17、习题课:复习公钥密码

18、总复习

一、HASH 函数函数的概念的概念

1、Hash Hash的作用的作用

•Hash Hash码也称报文摘要码也称报文摘要。。

•它具有极强的错误检测能力错误检测能力。。

•用Hash Hash码作码作MAC ,可用于认证认证。。

•用Hash Hash码辅助码辅助数字签名数字签名。。

•Hash Hash函数可用于函数可用于保密保密。。

一、HASH 函数的概念

2、Hash Hash函数的定义函数的定义

①Hash Hash函数将任意长的数据函数将任意长的数据M 变换为定长的码h ,

记为记为::h=HASH(M)h=HASH(M)或或h=H(M)h=H(M)。。

②实用性:对于给定的数据对于给定的数据M M ,计算,计算h=HASH(M)h=HASH(M)是是

高效的。

③安全性安全性::

•单向性:对给定的对给定的Hash Hash值值h ,找到满足H(x)H(x)==h 的x 在

计算上是不可行的计算上是不可行的。。

否则否则,,设传送数据为设传送数据为C=C=<<M ,H(M||K )>,K 是密钥。攻击者可以截获攻击者可以截获C,C,求出求出Hash 函数的逆函数的逆,,从而得出

M||S =H -1(C),然后从M 和M ||K即可即可得出得出K。

一、HASH 函数的概念

2、Hash Hash函数的定义函数的定义

③安全性安全性::

•抗弱碰撞性:对任何给定的对任何给定的x x ,找到满足找到满足y≠x y≠x

且H(x)=H(y)H(x)=H(y)的的y 在计算上是不可行的在计算上是不可行的。。

否则否则,,攻击者可以截获报文M 及其Hash 函

数值H(M),并找出另一报文M ′使得

H(M ′)=H(M)。这样攻击者可用M ′去冒充M ,

而收方不能发现而收方不能发现。。

•抗强碰撞性:找到任何满足H(x)=H(y)的偶对(x,y)在计算上是不可行的在计算上是不可行的。。

一、HASH 函数的概念

3、安全安全Hash Hash函数的一般结构函数的一般结构

Merkle Merkle提出了安全提出了安全Hash Hash函数主处理的一般结构函数主处理的一般结构•对数据压缩对数据压缩,,产生产生Hash Hash码码。b 位分组位分组,,f 为压缩函数,L 轮链接迭代,n 位输出位输出。。

f f f M 0

M L -1M 1

b 位b 位

b 位n 位n 位

n 位n 位IV=CV 0CV 1CV L -1HASH 值

CV L

一、HASH 函数的概念

3、安全安全Hash Hash函数的一般结构函数的一般结构

•分组:将输入分为L -1个大小为b 位的分组位的分组。。

•填充:若第L -1个分组不足b 位,则将其填充为

b 位。

•附加:再附加上一个表示输入的总长度分组。

•共L 个大小为b 位的分组

位的分组。。

•由于输入中包含长度由于输入中包含长度,,所以攻击者必须找出具有相同Hash 值且长度相等的两条报文值且长度相等的两条报文,,或者找

出两条长度不等但加入报文长度后Hash 值相同

的报文的报文,,从而增加了攻击的难度。

•目前大多数Hash 函数均采用这种结构。

二、SHA SHA--1 HASH 函数

1、SHA 系列系列Hash Hash函数函数

•SHA 系列系列Hash Hash函数函数是由美国标准与技术研究所(NIST)

设计的设计的。

•1993年公布了SHA SHA--0(FIPS PUB 180180)),后来发现它不安全安全。。

•1995年又公布了SHA SHA--1(FIPS PUB 180180--1)。

•2002年又公布了SHA SHA--2(FIPS PUB 180180--2)。

SHA SHA--2包括3个Hash Hash函数:函数:SHA SHA--256,SHA SHA--384,

SHA SHA-

-512•2005年王小云给出一种攻击SHA SHA--1的方法的方法,,用269操作

找到一个碰撞找到一个碰撞,,以前认为是280。

•NIST 打算2010年废弃SHA SHA--1。

相关文档
最新文档