Ch03 单向散列函数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
验证信息的来源是真实的,而不是伪造的, 此为消息源认证。 验证消息的完整性,即验证信息在传送或存 储过程中是否被篡改。
14
三 消息认证
3 消息认证码
消息认证码(MAC,Messages Authentication
Codes),是与密钥相关的的单向散列函数,也称为 消息鉴别码或是消息校验和。 MAC与单向散列函数一样,但是还包括一个密钥。不 同的密钥会产生不同的散列函数,这样就能在验证发
7
MD5 算法逻辑
输入:任意长度的消息 输出:128位消息摘要 处理:以512位输入数据块为单位
8
SHA和SHA-1
美国NIST和NSA为配合DSS,设计了安全哈希 标准(SHS),其算法为SHA[FIPS PUB 180], 作为联邦信息处理标准于1993年发表(FIPS PUB 180),1995年修订,修改的版本被称为 SHA-1[FIPS PUB 180-1] SHA/SHA-1采用了与MD4相似的设计准则,其 结构也类似于MD4,但其输出为160bits 目前还没有针对SHA有效的攻击
(3)计算速度;3个算法的主要运算都是模232加法和按位逻辑运算,因而都 易于在32位的结构上实现,但SHA-1和RIPEMD-160的迭代次数较多,复杂性 较高,因此速度较MD5慢些。
(4)存储方式:三个算法在低位字节优先与高位字节优先方面都没有明显的 优势。
12
三 消息认证
1 消息认证的概述
11
二 MD5与SHA-1算法
5 优缺点比较
从上面的设计指标和目前的分析结果来看,它们之问的优缺点比较如下:
(1)抗强力攻击的能力:对于弱碰撞攻击,这3个算法都是无懈可击的。 MD5很容易遭遇强碰撞的生日攻击,而SHA-1和RIPEMD-160目前在这方面是 安全的。
(2)抗密码分析攻击的能力:对MD 5的密码分析已经取得了很大的进展。 RIPEMD-160设计时就考虑了如何对抗己知密码分析的攻击。SHA-1也有很高 的抗密码分析攻击的能力。一般来说, RIPEMD-160 应该比SHA-1有更强的 抗密码分析攻击的能力。
6
二 MD5与SHA-1算法
2 安全散列函数
随着对MD5分析的深入,从密码分析和强力攻击的角 度来看,MD5也被认为是易受攻击的。因此,有必要 用一个具有更长散列码和更能抗击已知密码分析攻击的 散列函数来代替现在流行的MD5。目前,已经有两个 散列码长度为160比特的替代者SHA-1和RiPEMD160。 安全散列算法SHA是由美国国家标准和技术协会(NIST) 提出的,并作为联邦信息处理标准在1993年公布。 1995年又发布了—个修订版FIPS PUB180-1,通常称 为SHA-1。SHA是基于MD4算法的。
送者的消息没有经过篡改的同时,验证是由哪一个发
送者发送的。
15
三 消息认证
消息认证码的实现过程
发送方
消息
接收方
密钥K
消息 Hash函数 认证码 消息摘要
公开信道
Hash函数 消息
密钥K
认证码
消息摘要
相等 是 认证有效
否
认证无效
16
hash函数小结
hash函数把变长信息映射到定长信息 hash函数不具备可逆性 hash函数速度较快 hash函数与对称密钥加密算法有某种相似性 对hash函数的密码分析比对称密钥密码更困难 hash函数可用于消息摘要 hash函数可用于数字签名
给定M,很容易计算h;
给定h,根据H(M)=h,反推M很难; 给定M,要找到另一个消息M’,并满足H(M)=H(M’) 是很难的。
单向散死函数是从全体消息集合到一个肯有固定长 度的消息摘要的变换。 带密钥的哈希函数可用于认证、密钥共享、软件保 护等方面。
5
二 MD5与SHA-1算法
1 安全散列函数
RiVest于1990年提出了一个称为MD4的散列函数。它的
设计没有基于任何假设和密码体制,这种直接构造的方
法受到人们的广泛关注。 不久,它的一些缺点也被提出。为了增强安全性和克服 MD4的缺陷,Rivest于1991年对MD4作了六点改进,并将 改进后的算法称为MD5。MD5曾经是使用最普遍的安全散 列算法。
3
哈希(Hash)函数是将任意长的数字串M 映射成一个较短的定长输出数字串H的函 数,通常是单向哈希函数; 哈希函数除了可用于数字签名方案之外, 还可用于其它方面,诸如消息的完整性检 测(一般哈希函数)、消息的起源认证检 测(密码哈希函数)等。
4
一 单向散列函数的概念与性质
2 性质
散列函数要具有单向性,必须满足如下特性:
17
Any Question?
18
网络与信息安全
Ch03 单向散列函数
一 密码学的基本概念
本章学习目的
掌握单向散列函数的概念与性质 了解MD5、SHA-1算法 了解单向散列函数的弱点及攻击
2
一 单向散列函数的概念与性质
1 概念
散列函数(又称hash函数,杂凑函数)是将任意长度的输入消 息M映射成一个固定长度散列值h的特殊函数:
h=H(M)
其中M是变长的输入消息, h=H(M)是定长的散列值(或称 为消息摘要)。 散列函数H是公开的,散列值在信源处被附加在消息上,接 收方通过重新计算散列值来确认消息未被篡改。
由于函数本身公开,传送过程中对散列值需要另外的加密保 护(如果没有对散列值的保护,篡改者可以在修改消息的同 时修改散列值,从而使散列值的认证功能失效)。
9
SHA-1 算法逻辑
输入:最大长度为264位的消息; 输出:160位消息摘要; 处理:输入以512位数据块为单位处理;
10
二 MD5与SHA-1算法
3 MD5与SHA-1描述
MD5(Message Digest)是MD4的改进,它 是由RSA公钥密码算法的首们发明人Ron Rivest设计的。对输入的任意长度的消息将产 生128位长度的散列值。 SHA-1算法的输入为不超过264比特长的任意 消息,输出为一个160比特长的消息摘要。
网络系统安全一般要考虑两个方面:一方面,加密保护
传送的信息,使其可以抵抗被动攻击;另一方面,就是要能
防止对手对系统进行主动攻击,如伪造、篡改信息等。认证
是对抗主动攻击的主要手段,它对于开放的网络中的各种信 息系统的安全性有重要作用。 认证可分为实体认证和消息认证。
13
Βιβλιοθήκη Baidu
三 消息认证
2 消息认证的目的
14
三 消息认证
3 消息认证码
消息认证码(MAC,Messages Authentication
Codes),是与密钥相关的的单向散列函数,也称为 消息鉴别码或是消息校验和。 MAC与单向散列函数一样,但是还包括一个密钥。不 同的密钥会产生不同的散列函数,这样就能在验证发
7
MD5 算法逻辑
输入:任意长度的消息 输出:128位消息摘要 处理:以512位输入数据块为单位
8
SHA和SHA-1
美国NIST和NSA为配合DSS,设计了安全哈希 标准(SHS),其算法为SHA[FIPS PUB 180], 作为联邦信息处理标准于1993年发表(FIPS PUB 180),1995年修订,修改的版本被称为 SHA-1[FIPS PUB 180-1] SHA/SHA-1采用了与MD4相似的设计准则,其 结构也类似于MD4,但其输出为160bits 目前还没有针对SHA有效的攻击
(3)计算速度;3个算法的主要运算都是模232加法和按位逻辑运算,因而都 易于在32位的结构上实现,但SHA-1和RIPEMD-160的迭代次数较多,复杂性 较高,因此速度较MD5慢些。
(4)存储方式:三个算法在低位字节优先与高位字节优先方面都没有明显的 优势。
12
三 消息认证
1 消息认证的概述
11
二 MD5与SHA-1算法
5 优缺点比较
从上面的设计指标和目前的分析结果来看,它们之问的优缺点比较如下:
(1)抗强力攻击的能力:对于弱碰撞攻击,这3个算法都是无懈可击的。 MD5很容易遭遇强碰撞的生日攻击,而SHA-1和RIPEMD-160目前在这方面是 安全的。
(2)抗密码分析攻击的能力:对MD 5的密码分析已经取得了很大的进展。 RIPEMD-160设计时就考虑了如何对抗己知密码分析的攻击。SHA-1也有很高 的抗密码分析攻击的能力。一般来说, RIPEMD-160 应该比SHA-1有更强的 抗密码分析攻击的能力。
6
二 MD5与SHA-1算法
2 安全散列函数
随着对MD5分析的深入,从密码分析和强力攻击的角 度来看,MD5也被认为是易受攻击的。因此,有必要 用一个具有更长散列码和更能抗击已知密码分析攻击的 散列函数来代替现在流行的MD5。目前,已经有两个 散列码长度为160比特的替代者SHA-1和RiPEMD160。 安全散列算法SHA是由美国国家标准和技术协会(NIST) 提出的,并作为联邦信息处理标准在1993年公布。 1995年又发布了—个修订版FIPS PUB180-1,通常称 为SHA-1。SHA是基于MD4算法的。
送者的消息没有经过篡改的同时,验证是由哪一个发
送者发送的。
15
三 消息认证
消息认证码的实现过程
发送方
消息
接收方
密钥K
消息 Hash函数 认证码 消息摘要
公开信道
Hash函数 消息
密钥K
认证码
消息摘要
相等 是 认证有效
否
认证无效
16
hash函数小结
hash函数把变长信息映射到定长信息 hash函数不具备可逆性 hash函数速度较快 hash函数与对称密钥加密算法有某种相似性 对hash函数的密码分析比对称密钥密码更困难 hash函数可用于消息摘要 hash函数可用于数字签名
给定M,很容易计算h;
给定h,根据H(M)=h,反推M很难; 给定M,要找到另一个消息M’,并满足H(M)=H(M’) 是很难的。
单向散死函数是从全体消息集合到一个肯有固定长 度的消息摘要的变换。 带密钥的哈希函数可用于认证、密钥共享、软件保 护等方面。
5
二 MD5与SHA-1算法
1 安全散列函数
RiVest于1990年提出了一个称为MD4的散列函数。它的
设计没有基于任何假设和密码体制,这种直接构造的方
法受到人们的广泛关注。 不久,它的一些缺点也被提出。为了增强安全性和克服 MD4的缺陷,Rivest于1991年对MD4作了六点改进,并将 改进后的算法称为MD5。MD5曾经是使用最普遍的安全散 列算法。
3
哈希(Hash)函数是将任意长的数字串M 映射成一个较短的定长输出数字串H的函 数,通常是单向哈希函数; 哈希函数除了可用于数字签名方案之外, 还可用于其它方面,诸如消息的完整性检 测(一般哈希函数)、消息的起源认证检 测(密码哈希函数)等。
4
一 单向散列函数的概念与性质
2 性质
散列函数要具有单向性,必须满足如下特性:
17
Any Question?
18
网络与信息安全
Ch03 单向散列函数
一 密码学的基本概念
本章学习目的
掌握单向散列函数的概念与性质 了解MD5、SHA-1算法 了解单向散列函数的弱点及攻击
2
一 单向散列函数的概念与性质
1 概念
散列函数(又称hash函数,杂凑函数)是将任意长度的输入消 息M映射成一个固定长度散列值h的特殊函数:
h=H(M)
其中M是变长的输入消息, h=H(M)是定长的散列值(或称 为消息摘要)。 散列函数H是公开的,散列值在信源处被附加在消息上,接 收方通过重新计算散列值来确认消息未被篡改。
由于函数本身公开,传送过程中对散列值需要另外的加密保 护(如果没有对散列值的保护,篡改者可以在修改消息的同 时修改散列值,从而使散列值的认证功能失效)。
9
SHA-1 算法逻辑
输入:最大长度为264位的消息; 输出:160位消息摘要; 处理:输入以512位数据块为单位处理;
10
二 MD5与SHA-1算法
3 MD5与SHA-1描述
MD5(Message Digest)是MD4的改进,它 是由RSA公钥密码算法的首们发明人Ron Rivest设计的。对输入的任意长度的消息将产 生128位长度的散列值。 SHA-1算法的输入为不超过264比特长的任意 消息,输出为一个160比特长的消息摘要。
网络系统安全一般要考虑两个方面:一方面,加密保护
传送的信息,使其可以抵抗被动攻击;另一方面,就是要能
防止对手对系统进行主动攻击,如伪造、篡改信息等。认证
是对抗主动攻击的主要手段,它对于开放的网络中的各种信 息系统的安全性有重要作用。 认证可分为实体认证和消息认证。
13
Βιβλιοθήκη Baidu
三 消息认证
2 消息认证的目的