应用密码学总结
绪论
密码学发展历史
古代加密方法(手工阶段)
古典密码(机械阶段)
近代密码(计算机阶段)
网络信息安全的机制和安全服务

安全攻击的主要形式及分类

密码学基础
密码学相关概念
密码学 (cryptology) ✓是密码编码学和密码分析学的统称
密码编码学(cryptography) ✓通过变换消息使其保密的科学和艺术 ✓是密码理论的基础,也是保密系统设计的基础
密码分析学(cryptanalysis) ✓在未知密钥的情况下从密文推演出明文或密钥的艺术
密码编码学和密码分析学既相互对立,又相互促进和 发展
密码分析分类:根据密码分析者对明文、密文等信息 掌握的多少
唯密文攻击 (Ciphertext-only Attack) :破译者已知:密码算法、待破译的密文
已知明文攻击 (Known-plaintext Attack) :破译者已知:密码算法、一定数量的明文-密文对、截获 的待解密的密文
选择明文攻击 (Chosen-plaintext Attack) :破译者已知:密码算法、选定的明文和对应的密文
选择密文攻击 (Chosen-ciphertext Attack) :破译者已知:密码算法、选定的密文和对应的明文
选择文本攻击 (Chosen-text Attack):破译者已知:密码算法、选定的明文和对应的密文、选 定的密文和对应的明文
密码系统
密码体制的安全性仅应依赖于对密钥的保密,而不应依 赖于对算法的保密
密码系统的安全条件
计算安全性 指使用目前最好的方法攻破它所需要的计算远远超出攻击 者的计算资源水平,则可以定义这个密码体制是安全的
可证明安全性 这种方法是将密码系统的安全性归结为某个经过深入研究 的数学难题,数学难题被证明求解困难。 该方法存在的问题:只说明了安全和另一个问题是相关的 ,并未完全证明问题本身的安全性
无条件安全性 假定攻击者拥有无限的计算资源,但仍然无法破译该密码 系统。 除一次一密方案外,无其他的加密方案是无条件安全的。 一次一密方案使用与消息一样长的随机密钥,且密钥使用 永不重复。 但是不实用,因为消息发送者和接受者必须每次安全更新 随机密钥,在当前技术条件下这并不现实
密码系统用户所能做的全部努力就是满足下面准则中的 一个或两个
➢ 破译密文的代价超过被加密信息的价值
➢ 破译密文所花的时间超过信息的有用期
安全模型
密码体制
对称密码体制 非对称密码体制

古典密码
代替密码
单表代替密码和多表代替密码。
单表代替密码
移位密码
加密变换,E={E:Z26→Z26, Ek (p) = p + k (mod26)| p∈P, k∈K }
解密变换,D={D:Z26→Z26, Dk (c) = c-k (mod26)| c∈C, k∈K }
使用密钥的单表代替密码
设密钥为:spectacular。
明文: ABCDEFGHIJKLMNOPQRSTUVWXYZ
对应的密文:spectaulrbdfghijkmnoqvwxyz
仿射密码
仿射密码举例
✓ 设明文消息为China,密钥k = (k1 , k2 ) = (7, 3),用仿射密 码对其进行加密,然后再进行解密。
✓ 解答:利用扩展的欧几里德算法可计算出k1 -1 = 7-1=15 (mod 26),加密函数为Ek (p) = 7× p + 3 (mod 26),对应 的解密函数为Dk (c) = 15 ×(c - 3) (mod 26)=15c-19 (mod 26)。
多表代替密码
**普莱费尔密码(Playfair Cipher) **
**维吉尼亚密码(Vigenere Cipher) **
希尔密码(Hill Cipher)
换位密码
密码的破解
单表代替密码攻击:统计分析攻击
多表代替密码的破解: Kasiski测试法, 重合指数法
数学引论
欧几里得算法
扩展欧几里得算法
费马定理

欧拉函数




欧拉定理

对称密码体制——分组密码
针对安全性的分组密码设计要求
✓分组长度足够大
✓密钥量足够大
✓密码变换足够复杂
✓加密和解密运算简单,易于软件和硬件高速实现
分组密码的操作模式

DES算法
1.明文分组64比特,使用的密钥为64位,有效密钥长度 为56位(有8位用于奇偶校验位或者完全随意设置)
2.DES由初始置换,16轮Feistel变换,逆初始置换组成
3.基本运算操作:置换、替换、异或与循环移位


AES算法
Rijndael算法是一种非Feistel密码结构的对称分组密码 体制,采用代替/置换网络
轮函数由3个不同的可逆均匀变换组成,称它们为3个 “层”:
✓线性混合层:确保多轮之上的高度扩散
✓非线性层:由16个S盒并置而成,起到混淆的作用
✓密钥加层:子密钥异或到中间状态
AES基本运算
✓字节代替SubBytes
✓列混淆MixColumns
✓轮密钥加AddRoundKey
✓行移位ShiftRows
非对称密码体制
概述
对称密码体制的主要问题
✓系统开放性差,需要可靠的密钥传递渠道
✓密钥管理困难 任何两个用户间要进行保密通信就需要一个密钥,不同用户 间进行保密通信时必须使用不同的密钥。n个用户需要 C(n,2)=n(n-1)/2个密钥,当用户量增大时密钥空间急剧增大。 如n=100时,C(100,2)=4995;n=500时,C(500,2)=124750
✓陌生人间的保密通信问题 对称密码体制的密钥分发方法要求密钥共享各方是互相信任 的
✓数字签名问题 对称密码体制不能实现通信中的抗抵赖需求
Diffie-Hellman密钥交换算法
算法的有效性依赖于计算有限域中离散对数的困难性
中间人攻击

RSA
大整数的因子分解困难性

如何快速计算a m mod n :快速取模指数算法
如何检测一个数是素数 :确定性素数测试算法,概率测试算法
如何找到足够大的素数p和q:确定性素数测试和概率测试结合
椭圆曲线密码体制ECC
ECC的安全性基于椭圆曲线离散对数问题的难解性
概念与定义


椭圆曲线的加法规则





散列函数与消息认证
基本概念
✓消息认证用来抗击主动攻击
✓消息认证是一个过程,用于验证接受消息的真实性(的 确是由它所声称的实体发来的)和完整性(未被篡改、 插入、删除),同时还用于验证消息的顺序性和时间性 (未重排、重放、延迟)
✓除此之外,在考虑网络安全时还需考虑业务的不可否认性,即防止通信双方中的某一方对所传输消息的否认
✓实现消息的不可否认性可通过数字签名
✓数字签名也是一种认证技术,也可用于抗击主动攻击
✓消息认证机制和数字签名机制都有一产生认证符的基本 功能,这一基本功能又作为认证协议的一个组成部分
✓认证符是用于认证消息的数值,它的产生方法又分为消 息认证码(Message Authentication Code,MAC)、哈希 函数(Hash Function)两大类
消息认证码
系统实现功能
➢ 接收方相信发来的消息未被篡改
➢ 接收方相信发方不是冒充的
哈希函数
基本概念
✓又称杂凑函数或散列函数
✓哈希函数H可以将任意长度的消息M映射为**较短的、固定长度的一个值H(M)**,作为认证符
✓称H(M)为哈希值或哈希码或消息摘要
哈希函数性质
✓函数算法H公开
✓ 单向性:已知消息M,H(M)易于计算;但是已知H(M) ,求M计算不可行
✓ 弱抗碰撞性:已知消息M,找一个消息M’ (M’≠ M),使 得H(M)=H(M’)计算不可行
✓ 强抗碰撞性:找出任意两个不同的输入M和M’,使得 H(M)=H(M’)计算不可行
✓ 雪崩性:微小修改消息M ,会使H(M)发生巨大变化


数字签名
概述
数字签名是手写签名的一种电子模拟,针对电子文档 的一种签名确认方法
目的
✓用于向接收方或第三方证实消息被信源方签署
✓用于存储的数据或程序的完整性证实
数字签名性质
✓精确性:签名是对文档的一种映射,不同的文档内容所 得到的映射结果是不一样的
✓唯一性:签名应基于签名者的唯一性特征(如私钥), 从而确定签名的不可伪造性和不可否认性
✓时效性:签名应该具有时间特征,防止签名的重复使用
数字签名要求
✓ 接收者能够核实发送者对报文的签名
✓ 发送者事后不能抵赖对报文的签名
✓ 接收者不能伪造对报文的签名
✓ 必须能够认证签名时刻的内容
✓ 签名必须能够被第三方验证,以解决争议
数字签名的产生方式(了解)



RSA签名

案例分析(大题)

密钥管理

公钥加密体制的密钥管理
公钥的分配方法——公用目录表
✓本方案的安全性虽然高于公开发布的安全性,但仍易受 攻击。如果敌手成功地获取管理员的秘密钥,就可伪造 一个公钥目录表,以后既可假冒任一用户又能监听发往 任一用户的消息,且公用目录表还易受到敌手的窜扰
公钥的分配方法——公钥管理机构
上述公钥管理机构分配公开钥时也有缺点,由于每一用 户要想和他人联系都需求助于管理机构,所以管理机构 有可能成为系统的瓶颈,而且由管理机构维护的公钥目 录表也易被敌手窜扰
序列密码
概念
序列密码,即流密码(Stream Cipher),按位或字节处理
序列密码与分组密码的区别
✓序列密码以一个符号作为基本的处理单元,而分组密码 以一定大小的分组作为基本的处理单元
✓序列密码使用一个随时间变化的简单的加密变换,即不同时刻所用的密钥不同,而分组密码在不同时刻所用的 密钥是相同的
序列密码分类
✓分为同步序列密码和自同步序列密码
✓在同步序列密码中,密钥流的产生与明密文消息流相互独立
同步序列密码

同步序列密码特点
✓无错误传播,一个传播错误只影响一个符号,不会影响 到后继的符号 ✓同步要求
➢ 发送方和接收方必须保持精确的同步,用同样的密钥并作 用在同样的位置上,接收方才能正确的解密
➢ 通信中丢失或增加了一个密文字符,接收方将一直错误, 直到重新同步为止,这是同步序列密码的一个主要缺点
➢ 但对应的同步序列密码也能够容易检测插入、删除等主动攻击。这是因为一旦这种攻击发生,接收方就会出现解码 错误
自同步序列密码

自同步序列密码特点
✓有限错误传播
➢ 设自同步序列密码的密钥序列产生器具有n位存储,则一个 符号的传输错误将影响到后面n符号的解密,但不影响后面 第n+1个及其以后符号的解密
密钥流发生器设计准则
✓密钥量足够大(应不小于128位)
✓加密序列的周期足够长(一般为2 128或2 256)
✓密钥流应该尽可能地接近于一个真正的随机数流的特征
线性反馈移位寄存器(LFSR)可能有大题
求周期2的n次方减1
