网络安全消息认证和Hash函数-11
网络安全基础教程课后答案1

1.分析计算机及网络系统中各自存在的主要安全威胁和隐患。
答:计算机目前所面临的安全威胁,主要涉及以下几个方面:(1)计算机病毒;(2)木马;(3)恶意软件。
网络所面临的主要安全威胁:(1)系统漏洞威胁;(2)人为因素的威胁,①人为失误;②恶意攻击。
这些安全隐患主要表现为:(1)由于黑客攻击所带来的机密信息泄露或网络服务器瘫痪。
(2)由于病毒、木马或恶意软件所带来的文件损坏或丢失,甚至计算机系统破坏。
(3)重要邮件或文件的非法访问、窃取或截获与操作等。
(4)关键部门未经授权的非法访问和敏感信息的泄露等。
(5)备份数据和存储媒介的损坏和丢失等。
2.什么叫网络安全?网络安全的有哪些主要特征?答:也就是信息系统的安全。
网络安全包括系统运行的安全、系统信息的安全保护、系统信息传播后的安全和系统信息内容的安全四个方面内容。
网络安全既要保证网络系统物理硬件与设施的安全,又要保证软件系统与数据信息存储、传输和处理等全部过程的安全,还要保证网络服务不中断。
特征:(1).保密性(2).完整性(3).可用性(4).可靠性3.WPDRRC模型的主要内容是什么?与P2DR和PDRR相比有和优缺点?答:WPDRRC信息安全模型适合中国国情的信息系统安全保障体系建设模型,它在PDRR模型的前后增加了预警和反击功能。
WPDRRC模型有6个环节。
6个环节包括预警、保护、检测、响应、恢复和反击,它们具有较强的时序性和动态性,能够较好地反映出信息系统安全保障体系的预警能力、保护能力、检测能力、响应能力、恢复能力和反击能力。
优缺点:比后两者多了预警和反击使6个环节具有较强的时序性和动态性,能够较好地反映出信息系统安全保障体系的预警能力、保护能力、检测能力、响应能力、恢复能力和反击能力。
缺点:运用的技术体系庞大,难于操作。
6.什么是网络边界?网络边界的作用是什么?答:网络边界是指在单一的安全策略下通过网络链接起来的计算机及其网络设备的集合作用:是防止外来攻击,也可以用来对付某些恶意的内部攻击第二章6.试写出DES的加密过程。
无线网络安全技术应用11散列算法和MAC算法

Secure Hash Algorithm算法
1992年NIST制定了SHA(128位) 1993年SHA成为标准(FIPS PUB 180) 1994年修改产生SHA-1(160位) 1995年SHA-1成为新的标准,作为SHA-1
(FIPS PUB 180-1) 2002年发布修订版SHA-256,SHA-384,SHA-
T]
X散:列将码标用识K符xaI加D密x ,后密形文成EK签xy[名M发],送以给及A对。IDx和密文消息的
A:解密签名,用散列码验证消息,这时A只能验证消息 的密文而不能读取其内容。然后A将来自X的所有信息加 上时间戳并用Kay加密后发送给Y。
2019/11/16
41
直接数字签名方法2
用发送方的私钥对消息的hash码进行加密 (2) A→B: M||EKRa[H(M)]
提供数字签名
H(M) 受到密码算法的保护,例如MD5或SHA1;
只有A 能够生成EKRa[H(M)]
(2’) A→B: EK[M||EKRa[H(M)]] 提供保密性、数字签名。
引入仲裁者,通信双方都非常信任仲裁者。
2019/11/16
40
直接数字签名方法1
用发送方的私钥对整条消息进行加密来产生签名. (1) A→B: EKRa[M]
提供了鉴别与签名
只有A具有KRa进行加密; 传输中没有被篡改; 任何第三方可以用KUa 验证签名
(1’) A→B: EKUb [EKRa(M)] 提供了保密(KUb)、鉴别与签名(KRa)
仲裁者在这一类签名模式中扮演敏感和关 键的角色。
所有的参与者必须极大地相信这一仲裁机制工 作正常。(trusted system)
密(研)11-密码学Hash函数

第11章 密码学Hash函数Crytographic Hash Functions课程内容大纲1. 引言第一部分:对称密码2. 传统加密技术第三部分:密码学数据完整性算法11.密码学Hash函数3. 分组密码与数据加密标准(DES) 12.消息认证码(MAC) 4. 数论与有限域的基本概念 13.数字签名 5. 高级加密标准(AES) 6. 分组密码的工作模式 7. 伪随机数的产生和流密码第四部分:相互信任14.密钥管理与分发 15.用户认证第二部分:公钥密码8. 数论入门 9. 公钥密码学与RSA 10. 密钥管理和其他公钥密码体制讲课内容11.1 密码学Hash函数的应用 11.2 两个简单的Hash函数 11.3 需求和安全性、安全Hash函数结构 11.4 基于分组密码链接的Hash函数 11.5 安全Hash算法(SHA) 补充:Hash函数MD511.1 密码学Hash函数的应用Hash函数定义• (单词"hash"的翻译:哈希、杂凑、散列、… ) • Hash函数H是一公开函数,用于将任意长的消息 M映射为较短的、固定长度的一个值H(M)。
称函 值H(M)为杂凑值、杂凑码或消息摘要 M → h = H(M)• 在安全应用中使用的Hash函数称为密码学Hash 函数(cryptographic hash function)Hash函数特点• Hash值 H(M) 是消息中所有 比特的函数,因此提供了一 种错误检测能力,即改变消 息中任何一个比特或几个比 特都会使杂凑码发生改变。
Hash函数的应用(1)消息认证 (2)数字签名 (3)其它一些应用Hash函数应用之一:消息认证• 消息认证是用来验证消息完整性的一种机制或服务 完整性 • 当Hash函数用于提供消息认证功能时,Hash函数 值通常称为消息摘要(message digest)• 一般地,消息认证是通过使用消息认证码(MAC) 实现的,即带密钥的Hash函数。
harsh函数-概述说明以及解释

harsh函数-概述说明以及解释1.引言1.1 概述概述部分的内容可以描述一下harsh函数是什么以及它的重要性和作用。
可以参考以下内容:概述:随着计算机科学的快速发展,数据安全和隐私保护变得尤为重要。
在这个数字化时代,我们需要一种可靠的方法来保护数据的完整性和安全性。
在这方面,hash函数扮演着至关重要的角色。
Hash函数是一种常见的密码算法,主要用于将数据转换为固定长度的字符串。
它通过对任意长度的数据应用哈希算法,生成一个唯一的哈希值。
这个哈希值可以用来验证数据的完整性,检测数据的变化和确定数据的唯一性。
在hash函数的世界里,harsh函数是一种特殊类型的hash函数,它具有许多独特的特点和优势。
与传统的hash函数相比,harsh函数不仅具有更高的效率和更低的冲突率,还可以提供更好的数据安全性和隐私保护。
harsh函数的工作原理是将输入数据通过一系列复杂而精确的计算,转换为一个唯一的哈希值。
这个哈希值具有不可逆的特性,即无法通过哈希值来恢复原始数据。
这种不可逆的特性使得harsh函数成为密码学中重要的工具,广泛应用于数字签名、数据验证、身份验证等各个领域。
此外,harsh函数还具有较低的碰撞概率,即不同的输入数据生成相同哈希值的概率非常低。
这使得harsh函数在数据完整性验证等关键应用场景中更加可靠。
另外,harsh函数还具有良好的计算性能和效率,使得它能够承担大规模数据处理的任务。
总的来说,harsh函数在确保数据安全性和完整性方面发挥着重要作用。
它的独特特性使其在各个领域得到广泛应用,同时也推动了数据安全和密码学的发展。
未来,随着计算机技术的不断进步,人们对于更加高效和安全的harsh函数算法的需求也将不断增加。
1.2文章结构文章结构部分的内容可以描述整篇文章的组织架构和章节安排:在本文中,我将按照如下结构来阐述关于harsh函数的相关知识。
首先,我将在引言部分进行概述,简要介绍harsh函数的定义、背景和应用领域。
信息安全 第5章消息认证

所以许多不同的密钥(约2k-n个),计算出来的MAC都 等于MAC1。这些密钥中哪一个是正确的密钥不得而 知。这时需要新的M-MAC对来测试这2k-n个密钥, 于是有如下的重复攻击:
重复攻击
Step 1:
给定M1和MAC1 = C k1 (M1) 对所有2k个密钥,判断MACi = C ki (M1) 匹配数约为: 2k-n
没有消息认证的通信系统是极为危险的
消息M
用户A 用户B
篡改、伪造、重放、冒充
恶意者C
消息认证(Message Authentication)
消息认证用于抗击主动攻击
验证接收消息的真实性和完整性 真实性
的确是由所声称的实体发过来的
完整性
未被篡改、插入和删除
验证消息的顺序性和时间性(未重排、重放
MD5 hash算法 MD5 Hash Algorithm
MD4是MD5杂凑算法的前身, 由Ron Rivest于1990年10月作为RFC 提出,1992年4月公布的MD4的改进 (RFC 1320,1321)称为MD5。
M E K EK(M) D K M
由于攻击者不知道密钥K,他也就不知道如何改变密文中的 信息位才能在明文中产生预期的改变。 接收方可以根据解密后的明文是否具有合理的语法结构来进 行消息认证。 但有时发送的明文本身并名优明显的语法结构或特征,例如 二进制文件,因此很难确定解密后的消息就是明文本身。
提供消息认证和保密性:
K2
A
M
E C
K1
||
C K1
C K 1 [ E K 2 ( M )]
D 比较 K2
B
A和B共享K1和K2 K1:用于生成MAC K2:用于加密
Hash函数(消息认证)

3
应用
由于加密软件慢、硬件费用高、加密算法专利保护 和出口限制等因素, 人们倾向于不使用带有加密的认 证方法,愿意使用方法(3)。 数据源认证方案不能提供数据源的不可拒绝性,因 为任何一方都可以使用共享密钥创建一个消息及其 认证。如果需要解决这种潜在的争执,可以使用可 信第三方或公钥技术。 使用MAC能够确定数据是在过去某个时间由特定一 方生成的,但是不能提供唯一性和时间上的保证, 也不能发现消息是否重用或重发。为了解决这些问 题,必须使用随时间变化的参数,例如时间戳、序 列号和随机数等。
击者也能计算压缩函数的输出。 (2) 即使IV是随机的和秘密的,攻击者也能找到Hash函数的碰 撞。
在目前的计算水平下,使用MD5和SHA-1等作为HMAC 算法所嵌入的Hash函数,HMAC的安全性是可以保证的。
10
3 应用
数据完整性 数据完整性是指数据在生成、传送或存储过程中没有 被非法篡改. 使用Hash函数可以保证数据的完整性 使用MAC
MD5-MAC软件实现比较容易,其运算速度与MD5 大体相近 .
5
2
HMAC算法
消息认证码HMAC(keyed-hashing for message authentication code)是Bellare等人于1996年提出, 1997年作为RFC 2104发表,成为事实上的Internet 标准,包括IPSec协议在内的一些安全协议都使用 了HMAC算法。 HMAC算法利用已有的Hash函数,关键问题是如何 使用密钥。使用不同的Hash函数,就可以得到不同 的HMAC。选用MD5时的HMAC记为HMAC-MD5, 选用SHA-1时的HMAC记为HMAC-SHA1。
发送方 A x hK’ x1 || EK C DK x 接收方B hK’
hash函数进行消息认证的过程
HASH函数进行消息认证的过程一、概念解释我们需要了解什么是HASH函数。
HASH函数是一种对数据进行加密的方法,它通过将输入转换为固定长度的输出,在加密技术中有着重要的作用。
在消息认证中,HASH函数用于验证消息的完整性和真实性,因为它能够将一段消息转换成固定长度的HASH值,任何轻微的改动都会导致HASH值发生巨大变化,从而确保消息内容的完整性和不可篡改性。
二、消息认证的过程接下来,让我们来探讨HASH函数进行消息认证的过程。
在实际应用中,消息认证通常分为以下几个步骤:1. 发送方使用HASH函数对待发送的消息进行HASH运算,得到HASH值。
2. 发送方将消息和HASH值一起发送给接收方。
3. 接收方收到消息后,使用相同的HASH函数对收到的消息进行HASH运算,得到一个新的HASH值。
4. 接收方将计算得到的HASH值与接收到的HASH值进行比较,如果两者一致,则消息没有被篡改;否则,消息被篡改。
这一过程可以确保消息的完整性和真实性,因为只有发送方知道如何对消息进行HASH运算,并且HASH值是通过特定的算法计算得到的,接收方也能通过相同的算法验证消息的完整性和真实性。
三、个人观点和理解在我看来,HASH函数进行消息认证的过程非常重要,特别是在网络通信安全领域。
通过HASH函数,我们可以确保消息在传输过程中不会被篡改,保护通信的安全性。
HASH函数也广泛应用于数字签名、密码学等领域,具有非常重要的意义。
了解HASH函数进行消息认证的过程对于我们拓展知识面、提高信息安全意识具有重要意义。
总结回顾通过本文的介绍,我们了解了HASH函数进行消息认证的过程及其重要性。
消息认证通过HASH函数可以确保消息的完整性和真实性,在信息安全领域有着重要的应用。
我们也对HASH函数的概念和消息认证的过程有了更深入的理解,这对我们在实际应用中能更好地运用HASH函数进行消息认证具有重要帮助。
在实际撰写过程中,我们应该遵循从简到繁、由浅入深的方式来探讨主题,同时也要兼顾总结和回顾性的内容,以便读者能全面、深刻和灵活地理解主题。
消息认证(Message Authentication)
的功能
– 电子商务上的应用,如电子付款、电子投票
消息认证的功能(目的)
-验证信息来源的真实性,即信源识别 -验证信息内容的完整性,保证消息不被篡改
如何实现消息认证
• 消息认证码(Message Authentication Code)
• 发送方用双方都知道的密钥计算出
MAC值,并连同消息送給接收方
• Hash Message Authentication Code (HMAC)
– RFC 2104 标准 – 可嵌入多种杂凑函数算法:MD4、MD5 与 SHA-1
– 加入『秘密密钥』
发送方 M 消 息 M MAC 杂凑 算法 密钥 K MAC 接收方 M
HMAC 算法
消 息
HMAC 算法 杂凑 算法
一、Hash 函数(One-way Hash Function)
• 把任意长的消息“压缩”成固定长的消息的算 法 • 数字签名时,常被使用 • 通常,HASH 函数是公开的 • 输出长度应足够大,防止生日攻击 • 64-bits 认为太小 • 通常 128~512bits
1. Hash函数的概念
=
?
密钥 K
HMAC 算法
HMAC 结构
HMACK(M) = H [(K+ ⊕ opad) || H [(K+ ⊕ ipad) || M]]
• 密钥 K 以 0 填满 b bits产生K+ • ipad:將 00110110 重复 b/8 次 • opad:將 01011100重复 b/8 次
K+
如何实现消息认证
•MAC-BCB-AES算法
方法:
1. 消息认证码(Message Authentication Code, MAC)
信息安全原理与技术ch05Hash函数和数字签名
PPT文档演模板
2020/11/4
信息安全原理与技术ch05Hash函数 和数字签名
• 首先k个人的生日排列的总数目是365k。这样, k个人有不同生日的排列数为:
• 因此,k个人有不同生日的概率为不重复的排列 数除以总书目,得到:
• 则,k个人中,至少找到两个人同日出生的概率 是:
PPT文档演模板
PPT文档演模板
2020/11/4
信息安全原理与技术ch05Hash函数 和数字签名
生日攻击(Birthday Attack)
• 如果攻击者希望伪造消息M的签名来欺骗接收者, 则他需要找到满足H(M’)=H(M)的M’来替代M。 对于生成64位散列值的散列函数,平均需要尝 试263次以找到M’。但是建立在生日悖论上的生 日攻击法,则会更有效。
PPT文档演模板
2020/11/4
信息安全原理与技术ch05Hash函数 和数字签名
Yuval的生日攻击(续)
• (3) 攻击者在上述两个消息集合中找出可以产生相同 散列值的一对消息。根据“生日悖论”理论,能找 到这样一对消息的概率是非常大的。如果找不到这 样的消息,攻击者再产生一条有效的消息和伪造的 消息,并增加每组中的明文数目,直至成功为止。
• 设消息M=(X1||X2||…||Xm),即由64位分组Xi联结而成。定义
Δ(M)=X1X2… Xm
Ck(M)=EK[Δ(M)] 攻击者可以用任何期望的Y1至Ym-1替代X1至Xm-1,用Ym替代 Xm来进行攻击,其中Ym如下计算的:
Ym=Y1Y2…Ym-1Δ(M) 攻击者可以将Y1至Ym-1与原来的MAC连结成一个新的消息M’, 接收方收到(M’, Ck(M))时,由于Δ(M’)= Y1 Y2… Ym =Δ(M),因此Ck(M)=EK[Δ(M’)],接受者会认为该消息是真实。 用这种办法,攻击者可以随意插入任意的长为64(m-1)位的 消息。
认证、哈希算法PPT课件
T[64] = EB86D391
16 MD5算法描述(Cont.)
• 步骤5:输出结果。所有L个512位数据块处理完毕后,最后的结果 就是128位消息摘要。
CV0 = IV CVq+1 = SUM32(CVq,RFI[Yq,RFH[Yq,RFG[Yq,RFF[Yq,CVq]]]]) MD = CVL
其中:IV = ABCD的初始值(见步骤3) Yq = 消息的第q个512位数据块 L = 消息中数据块数; CVq = 链接变量,用于第q个数据块的处理 RFx = 使用基本逻辑函数x的一轮功能函数。 MD = 最终消息摘要结果 SUM32=分别按32位字计算的模232加法结果。
Yq
512
CVq 128
字
T[i] = 表T中的第i个32位字;
+
= 模 232的加;
ABCD
基本MD5操作(单步)
+
g
X[k] +
T[i] +
CLSs
Function g g(b,c,d) 1 F(b,c,d) (bc)(bd) 2 G(b,c,d) (bd)(cd) 3 H(b,c,d) bcd 4 I(b,c,d) c(bd)
实现都实际可行; – 对任意给定的码h, 寻求x使得H(x)=h在计算上是不
可行的(单向性); – 任意给定分组x, 寻求不等于x的y, 使得H(y)= H(x)
在计算上不可行(弱抗攻击性); – 寻求对任何的(x,y)对使得H(x)=H(y)在计算上不可
行(强抗攻击性);
7 Hash 函数设计原理
• 步骤2: 添加长度。原始消息长度(二进制位的个数 ),用64位表示。
表示为L个512位的数据块:Y0,Y1,…,YL-1。其长度为 L512bits。令N=L16,则长度
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010-8-13
西安电子科技大学计算机学院
18
保密性和认证性
认证性
认证性和 数字签名
2010-8-13
西安电子科技大学计算机学院
19
保密性、认证性和数字签名
认证性
保密性、认证性
2010-8-13 西安电子科技大学计算机学院 20
Hash函数和数字签名 函数和数字签名
2010-8-13
西安电子科技大学计算机学院
2010-8-13 西安电子科技大学计算机学院 7
P233-234
2010-8-13 西安电子科技大学计算机学院 8
消息认证码 (MAC)
一种认证技术 利用密钥来生成一个固定长度的短数据块( 利用密钥来生成一个固定长度的短数据块(MAC), ) 并将该数据块附加在消息之后。 并将该数据块附加在消息之后。 MAC的值依赖于消息和密钥 的值依赖于消息和密钥 MAC = Ck(M) MAC函数于加密类似 , 但 MAC算法 不要求 可逆 函数于加密类似, 算法不要求 函数于加密类似 算法 不要求可逆 而加密算法必须是可逆的。 性,而加密算法必须是可逆的。 接收方进行同样的MAC码计算并验证是否与发送过 码计算并验证是否与发送过 接收方进行同样的 来的MAC码相同 来的 码相同
2. 3.
2010-8-13
西安电子科技大学计算机学院
13
2010-8-13
西安电子科技大学计算机学院
14
2010-8-13
西安电子科技大学计算机学院
15
用对称密码产生MACs 用对称密码产生
采用分组密码的链接工作模式, 采用分组密码的链接工作模式 , 并把最后分组 作为MAC 作为 Data Authentication Algorithm (DAA) 是一个广 泛使用的数据认证算法,基于DES-CBC(FIPS 泛使用的数据认证算法,基于 ( PUB113,ANSI X9.17) )
2010-8-13 西安电子科技大学计算机学院 2
消息认证:验证所收到的消息确实是来自真 消息认证:验证所收到的消息确实是来自真 确实 实的发送方且未被修改的消息, 实的发送方且未被修改的消息,它也可验证 消息的顺序和及时性。 消息的顺序和及时性。 数字签名:是一种认证技术, 数字签名:是一种认证技术,其中的一些方 认证技术 法可用来抗发送方否认攻击。( 。(接收者可验 法可用来抗发送方否认攻击。(接收者可验 证但不能伪造) 证但不能伪造)
27
但是对于安全性来说,最终的 但是对于安全性来说,最终的MAC还是太小了 还是太小了
2010-8-13
西安电子科技大学计算机学院
16
Data Authentication Algorithm
2010-8-13
西安电子科技大学计算机学院
17
Hash函数 函数
浓缩任意长的消息M到一个固定长度的 浓缩任意长的消息 到一个固定长度的 取值 h = H(M) 通常假设hash函数是公开的且不使用密 通常假设 函数是公开的且不使用密 使用密钥) 钥(MAC使用密钥) 使用密钥 Hash函数用户检测对消息的改变 函数用户检测对消息的改变 多种工作方式 常用于产生数字签名
两个集合进行比较以发现具有同样Hash的一对消息(根 的一对消息( 两个集合进行比较以发现具有同样 的一对消息 据生日悖论,找到这对消息的概率大于0.5) 据生日悖论,找到这对消息的概率大于 ) 攻击者将该有效变式提供给发送方签名, 攻击者将该有效变式提供给发送方签名,将签名附于伪 造消息的有效变式后,发送给预期的接收者。 造消息的有效变式后,发送给预期的接收者。
抗碰撞性( 抗碰撞性(strong collision resistance) )
2010-8-13
西安电子科技大学计算机学院
23
简单Hash函数举例 函数举例 简单
最简单的Hash函数: 分组之后按位异或 已有的算法
MD4 MD5 SHA-1
2010-8-13
西安电子科技大学计算机学院
24
生日攻击
2010-8-13
西安电子科技大学计算机学院
5
消息加密
公钥体制中: 公钥体制中
加密不能提供对发送方的认证(公钥是公开的) 加密不能提供对发送方的认证(公钥是公开的) 发送方可用自己的私钥进行签名 接收方可用发送方的公钥进行验证 保密性和可认证性
2010-8-13
西安电子科技大学计算机学院
6
P(y)=H(x)的y在计算上是不可行的 给定 ,计算满足 的 在计算上是不可行的
抗弱碰撞性( 抗弱碰撞性(weak collision resistance) )
6.
的偶对( 找到任何满足 H(y)=H(x)的偶对( x,y ),在计算上是 的偶对 不可行的。 不可行的。
IV=0且最后一个分组用 填充其后以补足 位分组 且最后一个分组用0填充其后以补足 且最后一个分组用 填充其后以补足64位分组 的密文分组链接模式CBC解密消息 用DES的密文分组链接模式 的密文分组链接模式 解密消息 把最后一个分组作为MAC发送 发送 把最后一个分组作为
或者取最后分组的左边M 或者取最后分组的左边 bits (16≤M≤64)
2010-8-13
西安电子科技大学计算机学院
12
的要求: 对MACs的要求: 的要求
抗多种攻击(例如穷举密钥攻击) 抗多种攻击(例如穷举密钥攻击) 且满足: 且满足
1.
已知一条消息和MAC, 构造出另一条具有同样 已知一条消息和 MAC的消息是不可行的 的消息是不可行的 MACs应该是均匀分布的 应该是均匀分布的 MAC应该依赖于消息的所有比特位 应该依赖于消息的所有比特位
2010-8-13
西安电子科技大学计算机学院
4
消息加密
消息加密也能提供一种认证的方法 对称密码, 对称密码 , 既可以提供认证又可以提供保 密性,但不是绝对的。 密性,但不是绝对的。
只有消息具有适当的结构、冗余或含有校验和, 只有消息具有适当的结构、冗余或含有校验和, 接收方才可能对消息的任何变化进行检测。 接收方才可能对消息的任何变化进行检测。 否则,认证难以完成。 否则,认证难以完成。
2010-8-13
西安电子科技大学计算机学院
9
Message Authentication Code
2010-8-13
西安电子科技大学计算机学院
10
若相同,则有: 若相同,则有:
接收方可以相信消息未被修改。 接收方可以相信消息未被修改。 接收方可以相信消息来自真正的发送方。 接收方可以相信消息来自真正的发送方。 接收方可以确信消息中含有的序列号是正确 的。
为什么需要使用MAC? 为什么需要使用
有些情况只需要认证(如广播) 有些情况只需要认证(如广播) 文档的持续保护(例如解密后的保护) 文档的持续保护(例如解密后的保护) ……
由于收发双方共享密钥, 所以MAC不能 由于收发双方共享密钥 , 所以 不能 提供数字签名
2010-8-13
西安电子科技大学计算机学院
结论就是用更多比特位的 MAC/hash
2010-8-13 西安电子科技大学计算机学院 25
小结
消息认证的方法
消息加密 MACs Hash函数 函数
安全讨论
(略)
2010-8-13
西安电子科技大学计算机学院
26
第11章作业 章作业
思考题: 思考题:11.6
2010-8-13
西安电子科技大学计算机学院
《密码编码学与网络安全》 密码编码学与网络安全》
Chapter 11
消息认证和Hash函数 函数 消息认证和
§11.1 对认证的需求
可能的攻击: 可能的攻击:
1. 泄密 2. 传输分析 面向连接:频率、持续时间, 传输分析( 面向连接:频率、持续时间, 无连接:消息的数量和长度) 无连接:消息的数量和长度) 3. 伪装 4. 内容修改(插入、删除、转换和修改) 内容修改(插入、删除、转换和修改) 5. 顺序修改(插入、删除和重新排序) 顺序修改(插入、删除和重新排序) 6. 计时修改(延时和重放) 计时修改(延时和重放) 7. 发送方否认 8. 接收方否认
消息认证
数字签名
2010-8-13
西安电子科技大学计算机学院
3
§11.2 认证函数
两层: 两层:产生认证符 + 验证 产生认证符的函数类型: 产生认证符的函数类型:
消息加密:消息的密文作为认证符。 消息加密:消息的密文作为认证符。 消息认证码:消息和密钥的函数,产生定长的值 消息认证码:消息和密钥的函数, 作为认证符。 作为认证符。 MAC: message authentication code Hash函数:将任意长消息映射为定长的hash值 函数:将任意长消息映射为定长的 函数 值 作为认证符。 作为认证符。
11
MAC 特性
MAC码是一个密码校验和 码是一个密码校验和 MAC = CK(M) 消息M的长度是可变的 消息 的长度是可变的 密钥K是要保密的,且收发双方共享。 密钥 是要保密的,且收发双方共享。 是要保密的 产生固定长度的认证码 MAC算法是一个多对一的函数 算法是一个多对一的函数 多个消息对应同一MAC值 值 多个消息对应同一 但是找到同一MAC值所对应的多个消息应该是 值所对应的多个消息应该是 但是找到同一 困难的 困难的。
也许认为64-bit的hash已经是安全的,但生日悖论 的 已经是安全的, 也许认为 已经是安全的 的结果告诉我们, 的结果告诉我们,不! 生日攻击: 生日攻击
攻击者产生消息的2 攻击者产生消息的
m/ 2 种变体 , 且每一种具有同样含义 。 种变体, 且每一种具有同样含义。 m/ 2种变体
攻击者还可以产生一个伪造消息的2 攻击者还可以产生一个伪造消息的