苗付友 2015 年 12 月.

Slides:



Advertisements
Similar presentations
因数与倍数 2 、 5 的倍数的特征
Advertisements

质数和合数 2 的因数( ) 6 的因数( ) 10 的因数 ( ) 12 的因数 ( ) 14 的因数 ( ) 11 的因数 ( ) 4 的因数( ) 9 的因数( ) 8 的因数( ) 7 的因数( ) 1 、 2 、 3 、 4 、 6 、 12 1 、 11 1 、 2 、 5 、 10.
3 的倍数的特征 的倍数有 : 。 5 的倍数有 : 。 既是 2 的倍数又是 5 的倍数有 : 。 12 , 18 , 20 , 48 , 60 , 72 , , 25 , 60 ,
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
2.8 函数的微分 1 微分的定义 2 微分的几何意义 3 微分公式与微分运算法则 4 微分在近似计算中的应用.
第四单元 100 以内数的认识
新人教版四年级数学上册 笔算除法 森村中心学校 江国飞 1 、口算。 360÷30= 840÷40= 200÷50= 270÷90= 40÷20= ÷40=3600÷19≈30 90÷30=3 900÷31≈30.
第四单元 100 以内数的认识
第八章 信息认证和散列函数 (Message Authentication and Hash Functions)
(第十四讲) 认证 张焕国 武汉大学计算机学院
常用逻辑用语复习课 李娟.
周福才 /4/9 可信计算基础 周福才
第三节 格林公式及其应用(2) 一、曲线积分与路径无关的定义 二、曲线积分与路径无关的条件 三、二元函数的全微分的求积 四、小结.
第二章 导数与微分 第二节 函数的微分法 一、导数的四则运算 二、复合函数的微分法.
密码学导论˙第8章 消息认证及其算法 12学时 李卫海.
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
第十讲公钥加密算法 (续) 公钥密码(续) RSA \ ElGamal algorithms.
网络与系统安全实验 一 传统加密技术 古典密码技术.
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
现代密码学理论与实践 第15章 电子邮件的安全 Fourth Edition by William Stallings
数字签名与身份认证 本章内容: 数字签名 鉴别协议 数字签名标准 身份认证技术.
走进编程 程序的顺序结构(二).
密码学基础(3) 胡建斌 北京大学网络与信息安全研究室
计算机数学基础 主讲老师: 邓辉文.
§2 求导法则 2.1 求导数的四则运算法则 下面分三部分加以证明, 并同时给出相应的推论和例题 .
Online job scheduling in Distributed Machine Learning Clusters
现代密码学理论与实践 第9章 公钥密码学与RSA
第八模块 复变函数 第二节 复变函数的极限与连续性 一、复变函数的概念 二、复变函数的极限 二、复变函数的连续性.
若2002年我国国民生产总值为 亿元,如果 ,那么经过多少年国民生产总值 每年平均增长 是2002年时的2倍? 解:设经过 年国民生产总值为2002年时的2倍, 根据题意有 , 即.
第4章 非线性规划 4.5 约束最优化方法 2019/4/6 山东大学 软件学院.
第一章 函数与极限.
分组密码的工作模式 为克服分组密码自身所具有的缺陷,在具体的分组密码系统设计中必须对其基本的工作模式(电码本模式Electronic Codebook, ECB)进行改进。 密码分组链接模式(Cipher Block Chaining ,CBC) 密码反馈模式(Cipher Feed back ,CFB)
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
概 率 统 计 主讲教师 叶宏 山东大学数学院.
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
5.2 常用统计分布 一、常见分布 二、概率分布的分位数 三、小结.
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
复习.
IT 安全 第 11节 加密控制.
用计算器开方.
Lightweight Data-flow Analysis for Execution-driven Constraint Solving
第4章 Excel电子表格制作软件 4.4 函数(一).
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
现代密码学理论与实践 第11章 消息认证和散列函数
定理21.9(可满足性定理)设A是P(Y)的协调子集,则存在P(Y)的解释域U和项解释,使得赋值函数v(A){1}。
第16讲 相似矩阵与方阵的对角化 主要内容: 1.相似矩阵 2. 方阵的对角化.
§6.7 子空间的直和 一、直和的定义 二、直和的判定 三、多个子空间的直和.
3.16 枚举算法及其程序实现 ——数组的作用.
第三章 函数的微分学 第二节 导数的四则运算法则 一、导数的四则运算 二、偏导数的求法.
第4课时 绝对值.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
学习任务三 偏导数 结合一元函数的导数学习二元函数的偏导数是非常有用的. 要求了解二元函数的偏导数的定义, 掌握二元函数偏导数的计算.
第一部分:概率 产生随机样本:对分布采样 均匀分布 其他分布 伪随机数 很多统计软件包中都有此工具 如在Matlab中:rand
2.2矩阵的代数运算.
第15讲 特征值与特征向量的性质 主要内容:特征值与特征向量的性质.
正弦、余弦函数的性质 华容一中 伍立华 2017年2月24日.
§2 方阵的特征值与特征向量.
实验目的:掌握数据的顺序存储结构及它们在计算机中的操作。 实验内容:
滤波减速器的体积优化 仵凡 Advanced Design Group.
基于列存储的RDF数据管理 朱敏
VoIP组工作汇报 黄权 李光华.
第四节 向量的乘积 一、两向量的数量积 二、两向量的向量积.
第三章 从概率分布函数的抽样 (Sampling from Probability Distribution Functions)
第十七讲 密码执行(1).
第十二讲 密码执行(上).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
三角 三角 三角 函数 余弦函数的图象和性质.
§4.5 最大公因式的矩阵求法( Ⅱ ).
§2 自由代数 定义19.7:设X是集合,G是一个T-代数,为X到G的函数,若对每个T-代数A和X到A的函数,都存在唯一的G到A的同态映射,使得=,则称G(更严格的说是(G,))是生成集X上的自由T-代数。X中的元素称为生成元。 A变, 变 变, 也变 对给定的 和A,是唯一的.
Cfc Zeilberger 算法 陈焕林 陈永川 付梅 臧经涛 2009年7月29日.
Presentation transcript:

苗付友 年 12 月

现代密码学理论与实践 2/36  消息认证是用来验证消息完整性的一种机制或服务。消 息认证确保收到的数据确实就发送时的一样 ( 即没有修 改、插入、删除或重放 ) ,且发送方声称的身份是真实 有效的。  对称密码在那些相互共享密钥的用户间提供认证。用消 息发送方的私钥加密消息也可提供一种形式的认证。  用于消息认证的最常见的密码技术是消息认证码和安全 散列 (hash) 函数。  MAC 是一种需要使用秘密密钥的算法,以可变长的消 息和秘密密钥作为输入,产生一个认证码。拥有秘密密 钥的接收方产生一个认证码来验证消息的完整性。  散列函数将可变长度的消息映射为固定长度的散列值, 或叫消息摘要。对于消息认证码,安全散列函数必须以 某种方式和秘密密钥捆绑起来。

现代密码学理论与实践 3/36  11.1 消息认证 Message Authentication 11.1 消息认证 Message Authentication ◦ 对认证的要求 对认证的要求  11.2 认证函数 11.2 认证函数 ◦ 消息加密 消息加密  1) 对称密钥加密 2 )公开密钥加密 1) 对称密钥加密 2 )公开密钥加密 ◦ 消息认证码 MAC 消息认证码 MAC ◦ 散列函数 Hash Function 散列函数 Hash Function  11.3 消息认证码 MAC 11.3 消息认证码 MAC  11.4 散列函数 11.4 散列函数 ◦ 对散列函数的要求 对散列函数的要求 ◦ 强哈希函数 强哈希函数 ◦ 对哈希函数的攻击法 对哈希函数的攻击法  1) Rabin 的对哈希函数的攻击法 1) Rabin 的对哈希函数的攻击法  2) Yuval 对哈希函数的生日悖论攻击法 2) Yuval 对哈希函数的生日悖论攻击法

现代密码学理论与实践 4/36  消息认证 ( 报文认证 ) 关心的问题是 ◦ 保护消息的完整性 ◦ 验证发起方身份 ◦ 消息源的不可否认 ( 解决分歧 )  消息认证要考虑安全需求  三种消息认证的方法 ◦ 消息加密 ◦ 消息认证码 (MAC) ◦ 哈希函数

现代密码学理论与实践 5/36  泄密 Disclosure ,将消息透露给没有合法身份的第三方  传输分析 Traffic analysis ,分析双方通信模式  伪装 Masquerade ,欺诈源向网络中插入一条消息  内容篡改 Content modification ,对消息内容的修改  顺序篡改 Sequence modification ,对消息顺序的修改  计时篡改 Timing modification ,对消息的延时和重放  信源抵赖 Source repudiation, 发送方否认发送过某消息  信宿抵赖 Destination repudiation ,接收方否认接收过某 消息

现代密码学理论与实践 6/ 消息加密 ◦ 消息加密本身提供了一种认证手段 ◦ 1) 对称加密  接收方可以确信消息是由发送方产生的,因为除了 接收方以外只有发送方拥有加密密钥,产生出用此 密钥可以解密的密文  如果消息可以是任意的位模式,接收方无法确定收 到的消息是合法明文的密文。因此,通常不管密文 的值是什么,如果解密后得到的明文有合法明文的 位模式,接收方都会作为真实的密文接收。 对称加密情况下,选取明文消息 (比如二进制的密钥等)使得其 用另外一种编码方式时具有合法 明文结构,从而可以利用不同编 码节省验证码?

现代密码学理论与实践 8/36

 要求明文具有某种易于识别的结构,如在加密前 对每个消息附加一个帧校验序列 FCS  FCS 和加密函数执行的顺序很重要

现代密码学理论与实践 10/36  考虑使用 TCP/IP 协议传输消息的结构

现代密码学理论与实践 11/36  若要提供认证,发送方用自己的私钥对消息加密, 接收方用发送方的公钥解密 ( 验证 ) ,就提供了认证 功能。  如果发送方用私钥加密消息,再用接收方的公钥加 密,就实现了既保密又认证的通信  这也需要注意区分伪造的不合理的消息  既保密又认证的通信的代价是需要执行四次复杂的 公钥算法而不是两次。

现代密码学理论与实践 12/36  只有特定接受者可验证  使用密钥产生短小的定长数据分组,即所谓的密码检 验 MAC ,将它附加在报文中。通信双方 A 和 B 共享密 钥 K ,报文从 A 发往 B , A 计算 MAC=C K (M), 附在报文 后发给 B 。 B 对接收到的报文重新计算 MAC ,并与接收 到的 MAC 比较。如果只有收发双方知道密钥且两个 MAC 匹配,则: ◦ 接收方可以确信报文未被更改; ◦ 接收方可以确信报文来自声称的发送者; ◦ 接收方可以确信报文序号正确,如果有的话。  Message Authentication( 报文认证 ) 不提供保密  MAC 函数类似加密,但非数字签名,也无需可逆  将 MAC 直接与明文并置,然后加密传输比较常用

现代密码学理论与实践 13/36  MAC 加密所得的消息校验和 MAC = C K (M) ◦ 使用一个秘密密钥 K ,浓缩一个变长的消息 M ,产生一个固 定长度的认证子  MAC 是一种多对一的函数 ◦ 定义域由任意长的消息组成,值域由所有可能的 MAC 和密钥 组成。若使用 n 位长的 MAC, 则有 2 n 个可能的 MAC; 有 N 条可 能的消息, N>>2 n. 若密钥长度为 k, 则有 2 k 种可能的密钥。 ◦ 如 N 为 100 位, n 为 10 位, 共有 不同的消息, 2 10 种不同的 MAC, 平均而言同一 MAC 可由 / 2 10 =2 90 条不同的消息 产生。若密钥长度为 5 ,则从消息集合到 MAC 值的集合有 2 5 =32 不同映射。 ◦ 可以证明,由于认证函数的数学性质,与加密相比,认证函 数更不易被攻破

现代密码学理论与实践 14/36

现代密码学理论与实践 15/36

现代密码学理论与实践 16/36  一个散列函数以变长的报文 M 作为输入,产生定长的散列码 H(M) ,作为输出,亦称作报文摘要 Message Digest. 散列码 是报文所有比特的函数值,具有差错检测能力,报文任意一比 特的改变都将引起散列码的改变  不同的散列码使用方式 ◦ 对附加了散列码的报文进行加密 ◦ 使用常规加密方法仅对散列码加密 ◦ 使用公开密钥方法仅对散列码加密,提供数字签名 ◦ 同时提供保密和签名,可以分别使用常规方法加密报文及使用公 开密钥方法加密散列码 ◦ 其他  对避免加密的方法重视的原因 加密过程很慢,硬件开销大,初始化的开销,专利问题,出口限制

现代密码学理论与实践 17/36

现代密码学理论与实践 18/36

现代密码学理论与实践 19/36

现代密码学理论与实践 20/36  对 MAC 的要求 1. 若攻击者已知 M 和 C(K,M) ,则构造满足 C(K,M’)=C(K,M) 的消息 M’ 在计算上是不可行的 2. C(K,M) 应该是均匀分布的,即对任何随机选择的消息 M 和 M’ , C(K,M’)=C(K,M) 的概率是 2 -n ,其中 n 是 MAC 的位数 3. 设 M’ 是 M 的某个已知的变换,即 M’=f(M) ,如 f 可能表 示逆转 M 的一位或多位,那么 Pr[C(K,M)=C(K,M’)] 的 概率是 2 -n. ( Malleability )  基于 DES 的消息认证码 FIPS PUB 113 ◦ 该算法定义为以密码分组链接 (CBC) 为操作方式的用 0 作为初始化向量的 DES

现代密码学理论与实践 21/36

现代密码学理论与实践 22/36  相同报文进行多点广播,以明文加对应 MAC 的形式 进行广播,接收者负责鉴别,不正确时发出告警  接收方无法对所有收到的报文进行解密工作,则可以 进行有选择地鉴别,对报文作随机检查  对明文计算机程序进行鉴别,检查完整性  某些应用不关注报文的保密而更重视鉴别报文的真实 性,如 SNMPv3 ,将保密与鉴别分开  保密函数与鉴别函数的分离能提供结构上的灵活性, 如在应用层完成鉴别而在较低层加密  在超过接收时间后继续延长保护期限,同时允许处理 报文内容 MAC 不提供数字签名,因为双方共享密 钥。

现代密码学理论与实践 23/36  散列函数 ◦ 一个散列函数以变长的报文 M 作为输入,产生定长的散列 码 H(M) ,作为输出,亦称作报文摘要 Message Digest. 散 列码是报文所有比特的函数值,具有差错检测能力,报文 任意一比特的改变都将引起散列码的改变。 h=H(M)  报文摘要的基本原理 ◦ 对任意长度的明文 m ,经由哈希函数 ( 杂凑函数 )h 产生固定 长度的哈希值 h(m) ,用来对明文作鉴别 (authentication) 或 数字签名 (digital signature) 。哈希函数值是对明文的一种 “ 指纹 ”(finger print) 或是摘要 (digest) 。对哈希函数值的数 字签名,就是对此明文的数字签名,可以用来提高数字签 名的效率。

现代密码学理论与实践 25/36 1. H 可以应用于任意大小的数据块 2. H 产生固定长度的输出 3. 对任意给定的明文 x ,计算 H(x) 容易,可由硬件或 软件实现 4. 对任意给定的散列码 h ,找到满足 H(x)=h 的 x ,在 计算上不可行,单向性 5. 对于给定的分组 x ,找到满足 y≠x 且 H(x)=H(y) 的 y , 在计算上不可行,抗弱碰撞性 6. 找到任何满足 H(x)=H(y) 的偶对 (x, y) ,在计算上不 可行,抗强碰撞性

现代密码学理论与实践 26/36  条件 1, 2, 3 , 4 是所谓单向性问题 (One-way)  条件 5 是对使用的哈希值的数字签名方法所做的安 全保障,否则攻击者可由已知的明文及相关的数字 签名任意伪造对其他明文的签名  条件 6 主要用于防范所谓的生日攻击法  能满足条件 1-5 的,称为弱哈希函数 (Weak Hash Function)  能同时满足条件 6 的,称为强哈希函数 (Strong Hash Function)  应用在数字签名上的哈希函数必须是强哈希函数

 1978 年, Rabin 利用 DES, 使用密文块链方式 (CBC, Cipher Block Chaining) 提出一种简单快速 Hash 函数:

 将明文 M 分成固定长度 64 位的明文块 (block)m 1, m 2, …, m n ,使用 DES 的 CBC 操作方法,对每一明文块陆续加密  令 h 0 = 初始值, h i = E mi [h i-1 ] 以及 G = h n 。  这种方法不使用密钥, G 就是 64 位的哈希函数值, 不安全。

现代密码学理论与实践 29/36  生日悖论攻击法 (Birthday Paradox) ◦ 若试图伪造明文 M 的签名,要求签字人签名 M’ ,即要找 到满足 H(M’)=H(M) 的 M’ ,到底需要找多少明文才能找 到这个对应的 M’ ?  Rabin 的方法 ◦ 若一个函数可能有 n 个函数值,且已知一个函数值 h(x) , 任选 k 个任意数作为函数输入值,问: k 必须多大才能保 证至少找到一个输入值 y ,且 h(x) = h(y) 的概率大于 1/2 ? 当 k>n/2 时,这个概率将超过 1/2 。

现代密码学理论与实践 30/36  对于任意 y ,满足 h(x) = h(y) 的概率是 1/n ,不满足的 概率是 1-1/n 。 k 个任意输入没有一个满足 h(x) = h(y) 的概率是 (1-1/n) k ,至少有一个满足的概率是 1-(1- 1/n) k 。根据二项式定理, (1-a) k = 1-ka + a 2 – a 3 + … 当 a→0 时, (1-a) k →1-ka.  所以, k 个任意输入中至少有一个 y 满足 h(x) = h(y) 的 概率几乎等于 1-(1-ka) = ka ,这里, a 即为 1/n ,至 少有一个 y 满足 h(x) = h(y) 的概率几乎等于 k/n 。当 k>n/2 时,这个概率将超过 1/2 。  因此,看来 64 位的 Hash 函数,有 2 64 种组合,攻击者 只要尝试 k >n/2 ,即 2 64 /2 = 2 63 个明文,就有可能 获得超过 1/2 的成功机会。

现代密码学理论与实践 31/36  但是, Yuval 提出用生日悖论 (Birthday Paradox) 对 Robin 的方法进行攻击,证明只需要 2 32 次的运算就 有可能获得超过 1/2 的成功机会。  生日攻击的数学背景 到底 k 要多大,才能在 k 个人中,至少找到两个人有 同一天生日的概率大于 1/2 ? k 个人的生日总排列数是 365 k , k 个人有不同生日的 总排列数为: N = P k 365 = 即第一个人可能有 365 种生日选择,第二个人必须不同 于第一个人,所以有 364 种选择,依此类推。

现代密码学理论与实践 32/36 k 个人有不同生日的概率 Q(365, k) = (365!/(365-k)!)/365 k = 365!/ (365 k (365-k)!) k 个人中至少有两个人有相同生日的概率是 P(365, k) = 1- Q(365, k) k 要多大,才能保证在 k 个人中,至少有两个人同 一天生日的概率大于 1/2 ? 计算得 P(365, 23) = ,即 k = 23 。 当 k = 100 时, P(365, 100) = 。 可以这样解释,在 23 个人当中,考虑某一个人的 特定生日,在剩下的 22 个人中能找到相同特定生日的概 率是很小的; 但是只考虑同一天生,只有 = 253 种不同的组 合。所以只要 23 个人,找到两人同天生的概率大于 1/2 。

生日悖论

现代密码学理论与实践 34/36  穷举攻击 ◦ 散列函数  2 n/2 将决定散列码抗击强行攻击的强度 ◦ 消息认证码  需要同时知道消息和 MAC ,攻击更难成功  密码分析 ◦ 散列函数  安全散列函数 ◦ 消息认证码

现代密码学理论与实践 35/36

现代密码学理论与实践 36/36 第 11 章: