第一章密码学概述
密码学 发展阶段
1.古典密码时期 手工阶段
2.近代密码时期 转轮机 安全性基于密钥
3.现代密码时期 1949年香农 保密系统的通信理论->使密码学成为一门真正的科学
特点:都具备 DES RSA AES
密码学发展历史:
古典密码时期,近代密码时期,现代密码时期
密码技术发展简介:
密码学特性:
1.机密性
2.数据完整性
3.鉴别
4.抗抵赖性
保密通信模型:
发送者信源,接收者信宿,经过加密变换的消息称为密文,传输消息的通道叫信道
五元组{M,C,K,E,D} 称为一个密码系统
明文空间,密文空间,密钥空间,加密算法E,解密算法D
密码系统的安全性评估
安全性:主要和使用密码算法本身的安全强度,密码算法之外的不安全因素相关
评估密码系统安全性的方法
1.无条件安全法
2.可证明安全性
3计算安全性
密码体质的分类及特点
1.根据密码算法所用的密钥数量
对称密码体制(单钥密码体制):DES AES IDEA RC6
非对称密码体制(双钥密码体制): RSA ELGamal
2.根据对明文信息的处理方式
对称密码:
(1):分组密码:数据分组,一次处理一个数据块
分组大小:64bit / 128bit
DES AES IDEA RC6
(2):序列密码:连续处理输入的数据。序列密码加密一次加密一个bit 或一个字节
3.根据是否能进行可逆的加密变换
(1):单向函数密码体制:
MD4 MD5 SHA-1
可以很容易的单向变化,反之则是不行
(2):双向变化密码体制:
能进行可逆的加解密变换
对称密码和非对称密码的优点缺点比较
1)对称密码:
优点:加解密处理速度快,效率高。算法安全性高,
缺点:不安全
2)非对称加密:
优点:密钥分配简单。系统密钥量少。系统开放性好。可以实现数字签名。
缺点:运算速度慢
第2章古典密码技术
类型
2.1替代密码(密钥:替换表)
单表替代,多表替代,
2.1.1单表替代密码
特例 移位密码
26个字母 和整数0-25对应
k=3时 为凯撒密码
p17
3.仿射密码
2.1.2 多表替代密码
2.希尔(hill)密码
4.Playfair密码(双字母单表替代密码)
2.2置换密码(换位密码):改变明文各元素相对位置
2.2.1周期置换密码
例2.7 P23
计算
1) k=3时 为凯撒密码
p17
2)Playfair密码
3)置换密码(换位密码)
维吉尼亚密码
第三章分组密码
特点
特点:速度快,易于实现标准化和便于软硬件实现等特点
3.2.1分组密码的设计原则
分组密码的设计原则
1.针对安全性对一般设计原则
扰乱原则
扩散原则
2.针对实现的设计原则
软件实现的设计原则
硬件实现的设计原则
3.2.2分组密码的评估
3个方面 :安全性 ,性能,算法和实现特性,
安全性是评估中最重要的因素
算法性能主要包括在各个平台上的计算效率和对存储空间的需求
算法和实现特性主要包括灵活性,硬件和软件适应性,算法的简单性
其它的分组密码
迭代法设计分组的常用方法:feistel 结构和spn结构
3.3.1 Feistel结构
典型的迭代密码
”加解密相似性“ 是 Feistel型密码的实现优点
3.3.2 SPN结构(替代-置换网络)
是特殊的迭代密码
第一层S层 ,也称替换层,主要起扰乱作用
第一层P层 ,也称置换层,主要起扩散作用
3.4 数据加密标准 —— DES
明文分组64位,有效分组56位,输出密文64位,具有16轮迭代的分组对称算法,DES由初始置换,16轮迭代,初始逆置换组成。
1.初始置换ip 初始逆置换ip(图里的注释错误:初始置换是把第58放到第1位,逆置换是把第1个放到第58位,其实就是相反的过程)
2.e-拓展变换
3.s-盒运算
4.p- 置换
L0保持不变,对R0 进行一系列加密变换操作。
子密钥生成器:
64bit K 删掉8位,并且置换pc-1 pc-1 = C0 D0
C0 是前28 D0是后28
在经过分别 LS1(循环左移)和置换选择pc-2
《DES 的f 函数:》
p35
DES算法流程
(1) 输入64bit 明文经行初始置换ip ,得到置换后64位bit 数据
(L0 =置换前32位;R0=置换后32位)
(2) 把初始置换后64bit 数据平均分成两组,分别是L0,R0
(3) L0保持不变,对R0 进行一系列加密变换F操作。
1.E-BOX :对R0部分经行E-box操作得到48bit 数据(32-》48)
2.密钥加密运算:对子密钥和e-box 输出的48bit 数据进行按位模2相加(异或运算)输出仍然为48bit 数据
3.S-box : 把密钥加密输出的48 bit 数据进行 S-box 操作,得到32bit数据(48-》32)
4.P-BOX: P-box 对S-box 输出的32 bit 数据进行变换,得到的数据长度仍然还是32位
(4) 把L0和 P-box 输出的32 bit 数据进行异或运算,得到的数据就是 R1 ; 而原有未进行一系列加密变换F 操作的R0 就变成L 1
(5) L1和R1再合在一起,R1在上面L1在下面
3.4.2 DES的安全性分析
3.4.3 三重DES
3.5 高级加密标准 ——AES
速度快
3.5.3 算法的基本变化
1.字节替代变换
2.行替代变换
3.列混合替代变换
3.5.4 密钥拓展算法
3.6 分组密码的工作模式
用工作模式的原因是因为要加密的消息长度太多
1电子密码本模式 (ECB)
最简单的工作模式
2 密码分组链接模式 (CBC)
当前明文分组Mi和上一次产生的密文分钟Ci-1的异或其输出为密文分组c1
3 密码反馈模式 (CFB)
分组变得更细,分组密码-》流密码
4 输出反馈模式 (OFB)
(内部反馈模式),不依赖明文和密文,块内部
5 计数器模式(CTR)
随机访问,高效率
3.7
3.7.1 IDEA 加密算法
密钥长度为128位
第四章
1.为什么提出公钥密码体制
对称密码体制不能完全适应应用的需要。主要表现再3个方面:
1.密钥管理的困难性
2.系统的开放性问题
3.数字签名问题
2.公钥密码体制的基本思想
公钥密码也称为非对称密码
用户拥有两个密钥,一个公钥一个私钥
3.公钥密码的应用
1.机密性的实现
2.数字签名
3.密钥分发和协商
4.不同公钥密码体制的安全性来源于
大整数因子分解的困难性
5.RSA公钥密码体制的加解密运算
4. RSA公钥密码体制具体过程:
(1)密钥生成
①选择两个随机的大素数p和q,并计算n = pq和φ(n)=(p-1)(q-1)
②选择一个随机数e,1<e<φ(n)满足gcd(e,φ(n))=1,并计算
d = e-1 mod(φ(n))
③公钥为(e,n),私钥为d。
(2)加密
对明文m<n,其对应的密文为c = me mod n
(3)解密
对密文c,其对应的明文为m = cd mod n
【RSA 计算私钥d的计算方法 (辗转相除法) | 手酷】http://www.so-cools.com/?p=818
5. 如何快速计算am mod n
用“平方-乘法”算法计算。
6. RSA的安全性,密钥长度介于1024比特至4096比特之间的RSA是安全的。
7. RSA在应用中的问题:
(1)用户之间不要共享模数n
(2)不同的用户选用的素数不能相同
(3)一般不能直接应用RSA进行加解密
8. ElGamal公钥密码体制的安全性是基于离散对数问题。
9. 椭圆曲线密码体制(ECC)的安全性是基于椭圆曲线离散对数问题的难解性。
第五章
1.散列函数的别称
散列函数又称为哈希函数(Hash函数)、杂凑函数。是一种单向密码体制,只有加密没有解密
2.什么是散列码
散列函数将任意长度的输入消息压缩为某一固定长度的消息摘要。输出的消息摘要也称为散列码
3.散列函数的应用
1.保证数据的完整性
2.单向数据加密
3.数字签名
4.迭代型散列函数的一般结构
MD5 SHA
5.散列函数的设计方法
(1)基于公开密钥密码算法设计散列函数(安全但效率低)
(2)基于对称分组密码算法设计散列函数(不安全)
(3)直接设计散列函数(它是直接构造复杂的非线性关系达到单向性要求来设计单向散列函数。MD2,4,5 SHA系列等散列算法)
6.安全散列算法SHA(给你消息,计算散列值)
SHA-1输出160为散列函数值
(1)基本操作和元素
①逐位逻辑运算
②加法运算
③移位操作
(2)散列过程
(3)压缩
7.SHA-1的压缩操作
8.sha算法的填充方法。最后面的填充部分
9.散列函数的攻击
对散列函数的攻击,遵循柯克霍夫斯(Kerckhoffs)原则。
攻击方法分为两类:
(1)穷举攻击(暴力攻击)。例:生日攻击。
(2)密码分析法。
10.消息鉴别的实现手段
3.实现消息鉴别的手段可以分为两类:
(1)基于加密技术的消息鉴别。
①利用对称加密体制实现消息鉴别。
特点:1.能提供机密性。2.提供鉴别。3.不能提供数字签名(缺点)
②利用公钥密码体制实现消息鉴别。
特点:提供机密性、数字签名和鉴别。
缺点:一次完整的通信需要执行公钥算法的加密、解密操作各两次。
(2)基于散列函数的消息鉴别。
特点:①容易计算。②压缩。③强抗碰撞性。④没有密钥(缺点)
11.消息鉴别码(MAC)
是用于提供数据原发鉴别和数据完整性的密码校验值。
12.消息鉴别为什么存在
1.容易计算
2.压缩
3.前抗碰撞性
13.基于散列函数的消息鉴别可不可靠
14.HMAC 算法
p94
HMAC算法是一种基于密钥的报文完整性的验证方法
15.MAC 特性
容易计算
压缩
强抗碰撞性
16.了解:CV ,IV ,代式散列结构
CV 链接变量 IV 初始变量 ,函数f 称为压缩函数
第六章数字签名
1.数字签名的类型
数字签名:①普通数字签名 ②特殊数字签名
2.数字签名和传统签名的区别
利用密码技术进行。可以获得比传统签名更高的安全性
手写签名和数字签名的主要差别:
1)所签文件方面不同
2)验证方面不同
3)拷贝方面不同
3.数字签名的特点
①不可伪造 ②不可抵赖 ③可信的 ④不可复的 ⑤签名的消息是不可篡改的。
4.数字签名方案的组成(五元组)
一个数字签名方案由两部分组成:带有陷门的数字签名算法和验证算法。
五元组:M(消息),S(签名),K(密钥),sig(数字签名算法),ver(验证算法):称为一个签名算法
基于公钥加密算法是最基本的数字签名方法
5.数字签名的执行方式
数字签名的两种执行方式:
(1)直接方式 (2)具有仲裁的方式
6.具有仲裁者的数字签名
三种需要仲裁者的数字签名方案:
(1)对称加密,仲裁者可以看到消息内容。
(2)对称加密,仲裁者不能看到消息内容。
(3)公钥加密,仲裁者不能看到消息内容(最适用)。
7.基于公钥密码体制的典型数字签名方案(记2-3个)
(1)RSA数字签名方案
(2)ElGamal数字签名方案
安全性基于有限域上求解离散对数问题的困难性
(3)数字签名标准DSS
ElGamal数字签名的改进
安全性基于有限域上求解离散对数问题的困难性
8.特殊的数字签名方案
(1)不可否认签名。主要目的是阻止签名文件的随便复制和任意发布。
三部分组成:签名生成算法,签名的验证协议和签名的否认协议
(2)盲数字签名
盲数字签名2个显著特点:
1)消息内容对签名者是不可见的
2)再签名被接收者公开后,签名者不能追踪签名
(3)群签名
1)只有群组的成员才能代表这个群组对消息签名,并产出群签名
2)签名验证者能验证这个签名是该群组的一个有效签名,但不能辨别是群组中哪一个成员产生的签名
3)在后来发生的争端的情况下,通过可信机构能识别出那个签名者
第七章
1.密钥管理原则
1.区分密钥管理的策略和机制
2.全程安全原则
3.最小权力原则
4.责任分离原则
5.密钥分级原则
6.密钥更新原则
7.密钥应当有足够的长度
8.密码体制不同,密钥管理也不同
2.密钥的层次结构
1.密钥的分级
1)初级密钥(密钥加密密钥)
会话密钥
文件密钥:有和保护文件一样长的生命周期
2)密钥加密密钥(二级密钥)
用于保护初级密钥
3)主密钥
密钥层次体系中的最高价密钥,主密钥主要用于对密钥进行保护
2.层次化密钥的优点
1)安全性强
是动态的密钥系统
2)可实现密钥的自动化管理
3.密钥的生命周期
密钥的产生,存储,备份,终止和销毁
密钥的产生:
好的密钥应有好的随机性和密码特性,避免弱密钥的出现
不同级别的密钥产生方式一般不同
密钥的存储和备份:
密钥的安全存储就是要确保密钥存储状态下的秘密性,真实性和完整性
3.初级密钥的存储
密钥备份
7.4.密钥的分发和密钥协商
4.密钥分发(密钥分配)
离线分发和在线分发两种方式
离线分发:通过非通信网络渠道写道密钥发个各用户
在线分发:通过通信与计算机网络的密钥在线,自动分发方式。主要通过建立一个密钥分发中心(key)来实现
1.具体执行会话密钥交换有2种处理方式
1.会话密钥由通信方发起
2.会话密钥由KDC生成
7.4.2密钥协商
密钥协商是一个协议,它通过两个或多个成员在一个公开的信道上通信共同建立一个密码密钥
1.DIFFIE-Hellman 的密钥协商协议
安全性能基于有限域Zp 的离散对数问题
2.端-端密钥协商协议
安全加固
引入数字签名机制来对抗中间人攻击
5.公开密钥的分发 有几种
1.公开发布
优点:
缺点:
2.建立公钥目录
优点:
缺点:
3.带认证的公钥分发(在线服务器方式)
优点:
缺点:
4.使用数字证书的公钥分发(离线服务器方式)
优点:
缺点:
6.公钥证书的好处
用户只要获得CA的公钥,就可以安全得获得其他用户的公钥
7.X.509公钥证书
第八章 身份鉴别
1.身体鉴别相关实体
2.身份鉴别的基本方法
3.如何保证消息的即时性(实时性)
4.
第九章
序列密码的类型和特点:
序列密码分为同步序列密码和自同步序列密码两种。
同步序列密码的特点:
(1)无错误传播
(2)有同步要求
自同步序列密码的特点:
(1)有限错误传播
(2)自同步
序列密码特点:
分组密码以一定大小的分组作为每次处理的基本单元,
而序列密码则以一个元素(如一个字母或一个比特)作为基
本的处理单元
序列密码使用一个随时间变化的加密变换,具有转换速
度快、低错误传播的优点,
密钥流发生器设计准则
(1)密钥量足够大
(2)加密序列周期足够长
(3)密钥流应尽可能接近一个真正的随机数流的特征
序列密码序列密码为一六元组:
(P,C,K,L,E,D)和函数g
第十章
第10章 密码技术应用
1.数据加密方式
2.
PGP 应用场景:为电子邮件系统提供机密性,完整性和鉴别服务也可提供
文件的安全保护
技术特点:
鉴别,机密性,压缩,电子邮件的兼容性,分段
PKI
应用场景:
电子商务,政务系统,本质上是通过数字证书来证明某个公开密钥的真实性,并通过证书撤销列表来确认某个公开密钥的有效性
PKI 提供的服务与应用
1.鉴别服务
2.完整性服务
3.机密性服务