当前位置:文档之家› (中文版) 公钥加密和消息认证

(中文版) 公钥加密和消息认证


7
概要
利用传统加密的认证 非加密的消息认证 Hash函数的要求
简单hash函数
8
概要
利用传统加密的认证 非加密的消息认证 Hash函数的要求
简单hash函数
9
认证
• 要求 – 必须能够证实如下内容:
1. 消息来自合法的信源或者发送者; 2. 内容没有被篡改; 3. 可能还希望验证消息的时效性以及消息流的顺序。
函数。
43
简单Hash函数
一种最简单的Hash函数的每一个数据块都按比特异或。
这可用下式表示: Ci = bi1⊕bi2⊕…⊕bim 其中: Ci 为Hash码的第i比特,1 ≤ i ≤ n m 为输入中的n比特数据块的数目 bij 为第j块的第i比特 ⊕为异或操作
44
简单Hash函数
图3.3 (教材60页)
36
概要
利用传统加密的认证 非加密的消息认证 Hash函数的要求
简单Hash函数
37
Hash函数的要求
Hash函数的目的是为文件、消息或者其他数据块产生
“指纹” 。 为满足在消息认证中的应用, Hash函数H必须具有下 列性质:

1, H 可适用于任意长度的数据块。
38
Hash函数的要求

6, 找到满足H (x) = H (y)的任意一对(x, y)在计算 上不可行的.。这一特性有时被称为(strong collision resistance)(能够抵御生日攻击)。
40
Hash函数的要求
满足上面前五个性质的Hash函数称为弱Hash
函数。
如果还满足第六个性质,则称其为强Hash函数。
15
利用传统加密的认证

如果消息里包含错误检测码和序列号,则接收 者能够确认消息是否被篡改过和序列号是否正 确。
16
利用传统加密的认证

如果消息里还包含时间戳,则接收者能够确认 消息是否被延迟 超过正常的网络传输延时。
17
概要
利用传统加密的认证 非加密的消息认证 Hash函数的要求

2, H 能生成固定长度的输出。 3, 对于任意给定的x, H (x)要容易计算,并且可 以用软/硬件方式实现。


4, 对于任意给定值h, 找到满足H (x) = h的x在 计算上不可行。这一特性在文献中有时被称做单 向(one-way)性。
39
Hash函数的要求

5, 对任意给定的数据块x,找到满足H (y) = H (x) 的y ≠ x在计算上是不可行的。这一特性有时被称 为抗弱碰撞性(weak collision resistance)。
概要
利用传统加密的认证 非加密的消息认证 Hash函数的要求
简单Hash函数
13
利用传统加密的认证
回顾传统加密算法(42页, 表2.3)
14
利用传统加密的认证
简单地使用传统加密进行消息认证:

我们假设只有发送者和接收者共享一个密钥, 那么只有真正的发送者才能够成功地为对方加 密消息。
20
非加密的消息认证

2, 在信息交换中,另一种可能的情况是通信某一 端的负载太大,没有时间解密所有传入的消息。 3, 对明文形式的计算机程序进行认证是很有意义 的事情。

21
消息认证码
什么是消息认证码 (MAC)?

一种认证技术利用私钥产生一小块数据,并将其附 到消息上,产生的那一小块数据就是消息认证码。

1, 如下图所示(图3.2 (a)) 消息摘要可用传统加密算法加密;如果只有发送者 和接收者共享密钥,则保密性是能保证的。
30
31
单向Hash函数

2, 如下图所示 (图3.2 (b)) 消息也可以使用公钥方式加密。 公钥方法有两个优势: (1) 既能提供数字签名又能提供消息认证; (2) 不需要在通信各方之间分发密钥。
22
消息认证码
例如 (教材56页, 图3.1)
23
A
B
24
消息认证码
使用MAC进行消息认证的概述:

该技术假设两个通信实体,我们称其为A和B,共享 一个公共密钥KAB。 当A有消息要发送给B时,A计算消息认证码 (MAC),作为消息和密钥的一个函数:MACM = F(KAB, M) 。消息连同MAC被一起传送给预定接收 者。
25
消息认证码

接收者对收到的消息进行相同的计算; 利用相同的密钥,产生一个新的MAC; 将收到MAC与计算得到的MAC进行比较。
26
消息认证码
若收到的认证码与计算得到的认证码相吻合,则:

1, 接收者能够确认消息没有被篡改。 2, 接收者能够确认消息来自它所声称的发送者。

27
消息认证码
简单Hash函数
18
非加密的消息认证
在本节,我们分析几种不依赖于加密的消息认证方法。
因为这种认证方法不加密消息,所以不能提供消息的 机密性。
19
非加密的消息认证
下面给出了三种较好的无需保密的消息认证情况:

1, 许多应用需要把相同的消息广播到多个目的地。 例如,通知当前的用户网络不可使用和控制中心的 警报信号。消息必须以带有相关消息认证标签的明 文形式发送。
• 阻止主动攻击 (伪造数据和交易)
10
消息认证的方法
利用传统加密的认证

只有发送者和接收者共享一个密钥
非加密的消息认证

生成认证标签,并且附在每一条消息上用于传 输
11
消息认证的方法
消息认证码

MAC 是以消息和密钥为输入,通过一定的函数 计算得来的值,MAC = F(K, M)
12
47
简单Hash函数
2, 如下连续处理每个n比特的数据块:

(a), 向左旋转1比特当前的Hash值。 (b), 异或数据块生成Hash值。

48
简单Hash函数
这些操作会使输入数据块“随机化”得更加彻底,消
除了输入中出现的任何规则性。但是它对于数据安全 性几乎不起作用。
49
本次课的知识点
32
33
单向Hash函数

3, 下图(图3.2 (c)) 是一种使用了Hash函数但
是没有使用加密的消息认证技术。
34
35
单向Hash函数

上面讲到的技术假设通信双方, 我们称为A和B, 共享一个秘密的值SAB。 当A要给B传送消息时; A: 计算Hash值 MDM = H (SAB || M) A: 发送[M || MDM]给B B: 由于拥有SAB,他能重新计算 H (SAB || M),验证MDM

3, 如果消息中包含序列号,那么接收者就可以确 认消息的正确序列,因为攻击者不能成功地修改序 列号。
28
单向Hash函数
MAC的一种替代方法是使用单向Hash函数。 如同 MAC,Hash函数接收变长的消息M作为输入,生
成定长的消息摘要H(M)作为输入。
29
单向Hash函数
图3.2 (教材57页)显示了消息认证的三种方式
第三章
公钥加密和消息认证 (Ⅰ)
主讲:綦朝晖
石家庄铁道学院计算机与信息工程分院
1
内容回顾
1,掌握三种分组密码的操作模式; 2,理解链路加密与端到端加密的基本含义; 3, 理解课堂上所提到的四种密钥分配方式;
2
内容回顾
电子密码本 (ECB)
密码分组链接 (CBC)
密码反馈 (CFB)
第六个性质可以防止像生日攻击这种类型的复
杂攻击。
41
概要
利用传பைடு நூலகம்加密的认证 非加密的消息认证 Hash函数的要求
简单Hash函数
42
简单Hash函数
所有Hash函数都按照下面不同原理操作。 把输入看成n比特的序列。 对输入用迭代方式每次处理一块,生成n比特的Hash
1, 掌握MAC 的基本含义; 2, 如何使用MAC进行信息验证; 3, 理解one-way hash函数的基本含义;
4, 理解书58页图3.2;
50
Homework
教材82页3.2
51
45
简单Hash函数
它为每一位比特位产生简单的奇偶校验,这称
作纵向冗余校验。
这种校验对于随机数据的完整性校验相当有效。
不过事实上它也仅仅对数据有效,对于许多格 式化数据函数的有效性很差。
46
简单Hash函数
对上面的方案进行改进的一种简单方法是在每
个数据块处理后, 对Hash值循环移动或者旋 转1比特。其步骤归纳如下: 1, 最初将n比特Hash值设置为零
3
4
5
内容回顾
链路加密 端到端加密
6
内容回顾
密钥分配


1, A能够选定密钥并通过物理方法传递给B。 2, 第三方可以选定密钥并通过物理方法传递给A 和B。 3, 如果A和B不久前使用过一个密钥,一方能够把 使用旧密钥加密的新密钥传递给另一方。 4, 如果A和B各自有一个到达第三方C加密链路, C能够在加密链路上传递密钥给A和B。
相关主题