现代密码学(清华大学出版社)课堂课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
•单击此处编辑母版标题样式 加密和解密运算简单:
易于软件和硬件高速实现。 易于软件和硬件高速实现。
• 数据扩展: 数据扩展: • 单击此处编辑母版副标题样式 一般无数据扩展。 一般无数据扩展。 • 差错传播尽可能地小。
单击此处编辑母版标题样式
• 扩散和混淆是由 扩散和混淆是由Shannon提出的设计密码系统的两 提出的设计密码系统的两 个基本方法, 个基本方法,目的是抗击敌手对密码系统的统计分 析。 • 单击此处编辑母版副标题样式 • 所谓扩散,就是将明文的统计特性散布到密文中去 所谓扩散,就是将明文的统计特性散布到密文中去 扩散 明文的统计特性散布到密文 • 混淆是使密文和密钥之间的统计关系变得尽可能复 混淆是使密文和密钥之间的统计关系变得尽可能复 是使密文 以使敌手无法得到密钥。 杂,以使敌手无法得到密钥。
3.1.2 扩散和混淆
Feistel加密结构 加密结构 单击此处编辑母版标题样式
Li = Ri −1 • 单击此处编辑母版副标题样式
Ri = Li −1 ⊕ F ( Ri −1 , K i )
• DES IDEA CAST
图3.3 Feistel网络示意图 网络示意图
3.2 数据加密标准
(data encryption standard, DES) ) 分组长度为64 分组长度为 bits (8 bytes) •密文分组长度也是 bits。 密文分组长度也是64 密文分组长度也是 。 •密钥长度为 密钥长度为64 bits,有8 bits奇偶校验,有效密钥 奇偶校验, 密钥长度为 , 奇偶校验 长度为56 长度为 bits。 。 •16轮 轮
密码可能经受的攻击 单击此处编辑母版标题样式
攻击类型
惟密文攻击
攻击者拥有的资源
•
•加密算法 加密算法 单击此处编辑母版副标题样式 •截获的部分密文 截获的部分密文 •加密算法, 加密算法, 加密算法 •截获的部分密文和相应的明文 截获的部分密文和相应的明文 •加密算法 加密算法 •加密黑盒子,可加密任意明文得到相应的密文 加密黑盒子, 加密黑盒子 •加密算法 加密算法 •解密黑盒子,可解密任意密文得到相应的明文 解密黑盒子, 解密黑盒子
应用中对于分组码的要求 单击此处编辑母版标题样式
• 安全性 • 运行速度 • 单击此处编辑母版副标题样式 • 存储量(程序的长度、数据分组长度、高速缓存大 存储量(程序的长度、数据分组长度、 小) • 实现平台(硬、软件、芯片) 实现平台( 软件、芯片) • 运行模式
称明文分组到密文分组的可逆变换为代换 称明文分组到密文分组的可逆变换为代换 单击此处编辑母版标题样式
3.4 分组密码的运行模式 单击此处编辑母版标题样式
• 电子码本(ECB) 电子码本( • 单击此处编辑母版副标题样式 密码分组链接( 密码分组链接(CBC) • • 密码反馈(CFB) 密码反馈( • 输出反馈(OFB) 输出反馈(
3.6 AES算法 算法——Rijndael 算法 单击此处编辑母版标题样式
•单击此处编辑母版标题样式 无条件安全 • 如果算法产生的密文不能给出唯一决定相应明 文的足够信息,无论截获多少密文, 文的足够信息,无论截获多少密文,花费多少时 间都不能解密密文。 间都不能解密密文。 • 单击此处编辑母版副标题样式 • Shannon指出,仅当密钥至少和明文一样长时 指出, 指出 达到无条件安全(即一次一密) 达到无条件安全(即一次一密) • 计算安全 – 破译密文的代价超过被加密信息的价值 – 破译密文所花时间超过信息的有效期
• 2.1 流密码的基本概念 单击此处编辑母版标题样式 • 流密码 关键密钥流产生器 • •同步流密码 单击此处编辑母版副标题样式 • 自同步流密码 • 有限状态自动机 • 密钥流序列具有如下性质: 密钥流序列具有如下性质: 极大的周期、良好的统计特性、抗线性分析、 极大的周期、良好的统计特性、抗线性分析、抗 统计分析。 统计分析。 • 密钥流产生器:驱动部分和非线性组合部分 密钥流产生器:
单击此处编辑母版标题样式
Golomb对伪随机周期序列提出了应满足的如下 个 对伪随机周期序列提出了应满足的如下3个 对伪随机周期序列提出了应满足的如下 随机性公设: 随机性公设: • 在序列的一个周期内,0与1的个数相差至多为 。 在序列的一个周期内, 与 的个数相差至多为 的个数相差至多为1。 ①单击此处编辑母版副标题样式 在序列的一个周期内,长为i的游程占游程总数的 ② 在序列的一个周期内,长为 的游程占游程总数的 1/2i (i=1,2,…),且在等长的游程中 的游程个数和 ,且在等长的游程中0的游程个数和 1的游程个数相等。 的游程个数相等。 的游程个数相等 异相自相关函数是一个常数。 ③ 异相自相关函数是一个常数。 大周期 易于计算 不可预测 2.5 m序列密码的破译 序列密码的破译
1.4 几种古典密码
单击此处编辑母版标题样式
• 1 仿射变换
c = Ea ,b ( m ) = am + b(mod 26)
m = Da ,b (c ) = a −1 (c − b )(mod 26)
• 单击此处编辑母版副标题样式
2移位密码
单击此处编辑母版标题样式 第2章 流密码 章
2.1 流密码的基本概念 • 单击此处编辑母版副标题样式 2.2 线性反馈移位寄存器 2.3 线性移位寄存器的一元多项式表示 2.4 m序列的伪随机性 序列的伪随机性 2.5 m序列密码的破译 序列密码的破译 2.6 非线性序列
已知明文攻击
选择明文攻击
选择密文攻击
对敌手攻击能力的假设
单击此处编辑母版标题样式
Kerckhoff 假设 假设敌手知道除使用的具体密钥 假设----假设敌手知道除使用的具体 假设敌手知道除使用的具体密钥 之外的一切信息,目的是恢复明文 目的是恢复明文! 之外的一切信息 目的是恢复明文 • 单击此处编辑母版副标题样式 即一切秘密蕴于密钥之中! 即一切秘密蕴于密钥之中 假设敌手知道: 假设敌手知道 (1) 所使用的密码体制 ; (2) 知道明文的概率分布规律 ; (3) 知道密钥的概率分布规律 ; (4) 知道所有的破译方法 !
现代密码学
总 目 录
第1章 章 第2章 章 第3章 章 第4章 章 第5章 章 第6章 章 第7章 章 第8章 章 引言 流密码 分组密码体制 公钥密码 密钥分配与密钥管理 消息认证和杂凑算法 数字签字和密码协议 网络加密与认证
第1章 引言 章
1.1 信息安全面临的威胁 1.2 信息安全的模型 1.3 密码学基本概念
• Rijndael是一个迭代型分组密码,其分组长度和密钥长度 是一个迭代型分组密码, 是一个迭代型分组密码 都可变,各自可以独立地指定为128比特、192比特、256 比特、 比特 比特、 都可变,各自可以独立地指定为 比特 比特。 比特。 • 单击此处编辑母版副标题样式 Round (State, RoundKey) { ByteSub (State); ShiftRow (State); MixColumn (State); AddRoundKey (State, RoundKey) }
费尔玛定理 • 单击此处编辑母版副标题样式 是素数, 是正整数且 是正整数且gcd(a, 定理4.2 (Fermat)若p是素数,a是正整数且 若 是素数 定理 p)=1,则ap-1≡1 mod p。 , 。 欧拉函数 是一正整数, 且与n互素的正整数的 设n是一正整数,小于 且与 互素的正整数的 是一正整数 小于n且与 个数称为n的欧拉函数,记为φ(n)。 个数称为 的欧拉函数,记为 。 欧几里得( 欧几里得(Euclid)算法 ) gcd(55,22)=gcd(22,11)=gcd(11,0)=11
• 设计的算法应满足下述要求: 设计的算法应满足下述要求: • 分组长度 要足够大,使分组代换字母表中的元素 分组长度n要足够大 要足够大, • 单击此处编辑母版副标题样式 个数2 足够大,防止明文穷举攻击法奏效。 明文穷举攻击法奏效 个数 n足够大,防止明文穷举攻击法奏效。 • 密钥量要足够大(即置换子集中的元素足够多), 密钥量要足够大(即置换子集中的元素足够多), 尽可能消除弱密钥并使所有密钥同等地好, 尽可能消除弱密钥并使所有密钥同等地好,以防 密钥穷举攻击奏效 奏效。 止密钥穷举攻击奏效。 • 由密钥确定置换的算法要足够复杂: 由密钥确定置换的算法要足够复杂: 充分实现明文与密钥的扩散和混淆, 充分实现明文与密钥的扩散和混淆,没有简单的 关系可循,要能抗击各种已知的攻击。 关系可循,要能抗击各种已知的攻击。
图2.7 常见的两种密钥流产生器
单击此处编辑母版标题样式
• 2.3 线性移位寄存器的一元多项式表示 LFSR的输出序列 m序列。 序列。 的输出序列 序列 单击此处编辑母版副标题样式 •• 序列有最大周期 特征多项式是本原多项式
2.2 线性反馈移位寄存器 线性反馈移位寄存器LFSR
2.4 m序列的伪随机性 序列的伪随机性
•三重 三重DES 三重
3.3 差分密码分析与线性密码分析 单击此处编辑母版标题样式
• 差分密码分析基本思想是:通过分析明文对的差 差分密码分析基本思想是 基本思想是: • 单击此处编辑母版副标题样式 值对密文对的差值的影响来恢复某些密钥比特。 值对密文对的差值的影响来恢复某些密钥比特。 • • 线性密码分析是对迭代密码的一种已知明文攻击, 线性密码分析是对迭代密码的一种已知明文攻击, 是对迭代密码的一种已知明文攻击 它利用的是密码算法中的“不平衡(有效) 它利用的是密码算法中的“不平衡(有效)的线 性逼近” 性逼近”。
•单击此处编辑母版标题样式 7mod26 • 26=3×7+5 5=1 ×26-3×7 × - × • 7=1×5+2 2=1×7-1×5 × × - × • 单击此处编辑母版副标题样式 • 2=4×7 - 1×26 × × • 5=2×2+1 1=1×5 - 2×2 × × × • 1= 1×26-3×7-8×7+2×26 × - × × × • =3×26 - 11×7 × × • 7的乘法逆元:26 - 11=15 的乘法逆元: 的乘法逆元
第4章 公钥密码 章
4.1 密码学中一些常用的数学知识 4.2 公钥密码体制的基本概念 4.3 RSA算法 算法 4.4 背包密码体制 4.5 Rabin密码体制 密码体制 4.6 NTRU 公钥密码系统 4.7 椭圆曲线密码体制
4.1 密码学中一些常用的数学知识
单击此处编辑母版标题样式
• 素数和互素数 模运算
2.6 非线性序列
密钥流生成器可分解为驱动子系统和非线性组 合子系统。 合子系统。 驱动子系统常用一个或多个线性反馈移位寄存 器来实现, 器来实现, 非线性组合子系统用非线性组合函数F来实现 来实现。 非线性组合子系统用非线性组合函数 来实现。
第3章 分组密码体制 章
3.1 分组密码概述 3.2 数据加密标准 3.3 差分密码分析与线性密码分析 3.4 分组密码的运行模式 3.5 IDEA 3.6 AES算法 算法——Rijndael 算法 习题
1.1 信息的安全威胁
因特网的开放性和共享性, 因特网的开放性和共享性,给人们提供了方便 也带来了危险。 也带来了危险。
图1.1 攻击类型分类
单击此处编辑母版标题样式
• 单击此处编辑母版副标题样式
图1.2 恶意程序分类
安全业务
安全业务指安全防护措施,有以下5种 安全业务指安全防护措施,有以下 种。 1. 保密业务 2. 认证业务 3. 完整性业务 4. 不可否认业务 5. 访问控制
1.3 密码学基本概念
密码学:研究信息系统安全保密的科学。 密码学:研究信息系统安全保密的科学。 密码编 码学 密码分析学 加密 解密 密钥 明文 密文 密码算法 单钥体制 双钥体制
图1.5 保密通信系统模型
1.3.3 密码攻击概述
单击源自文库处编辑母版标题样式
• 攻击方法 (1)穷举攻击 )穷举攻击: • 2)统计分析攻击 (单击此处编辑母版副标题样式 ) (3)解密变换攻击 )