第1章 密码学概论 1
1.1 密码学的目标与知识构成 1
1.2 密码学的发展简史 4
1.2.1 古典密码时期 4
1.2.2 近代密码时期 5
1.2.3 现代密码时期 6
1.3 对加密体制的攻击和安全性* 8
小结 10
扩展阅读建议 10
习题 10
第2章 古典密码体制 11
2.1 密码系统的概念模型 11
2.2 置换加密体制 12
2.3 代换加密体制 13
2.3.1 单表代换密码 14
2.3.2 多表代换密码 15
2.3.3 多表代换密码的统计分析 18
2.3.4 转轮密码机 20
小结 22
扩展阅读建议 22
上机实验 24
习题 24
第3章 信息理论安全 25
3.1 保密系统的数学模型 25
3.2 完善保密性 30
3.3 乘积密码体制 32
小结 33
扩展阅读建议 33
习题 34
第4章 序列密码 35
4.1 序列密码的基本原理 35
4.1.1 序列密码的核心问题 36
4.1.2 序列密码的一般模型 36
4.2 密钥流生成器 39
4.2.1 密钥流生成器的架构 39
4.2.2 线性反馈移位寄存器 41
4.2.3 非线性序列生成器* 43
4.2.4 案例学习:A5算法 45
4.3 伪随机序列生成器的其他方法 46
4.3.1 基于软件实现的方法(案例学习:RC4算法) 46
4.3.2 基于混沌的方法简介 50
小结 50
扩展阅读建议 51
上机实验 51
习题 51
第5章 分组密码 52
5.1 分组密码的原理 52
5.1.1 分组密码的一般模型 52
5.1.2 分组密码的基本设计原理 54
5.1.3 分组密码的基本设计结构 55
5.1.4 分组密码的设计准则 57
5.1.5 分组密码的实现原则 58
5.2 案例学习:DES 59
5.2.1 DES的总体结构和局部设计 60
5.2.2 DES的安全性* 68
5.2.3 多重DES 71
5.3 案例学习:AES 73
5.3.1 AES的设计思想 73
5.3.2 AES的设计结构 74
5.4 案例学习:SMS4* 84
5.5 分组密码的工作模式 86
5.5.1 ECB模式 86
5.5.2 CBC模式 87
5.5.3 CFB模式 88
5.5.4 OFB模式 89
5.5.5 CTR模式 90
小结 91
扩展阅读建议 92
上机实验 92
习题 92
第6章 Hash函数和消息鉴别 94
6.1 Hash函数 94
6.1.1 Hash函数的概念 94
6.1.2 Hash函数的一般模型 96
6.1.3 Hash函数的一般结构(Merkle-Damgard变换)* 97
6.1.4 Hash函数的应用 98
6.1.5 Hash函数的安全性(生日攻击) 99
6.2 Hash函数的构造 100
6.2.1 直接构造法举例SHA-1 100
6.2.2 基于分组密码构造 103
6.2.3 基于计算复杂性方法的构造* 105
6.3 消息鉴别码 106
6.3.1 认证系统的模型 107
6.3.2 MAC的安全性 108
6.3.3 案例学习:CBC-MAC 108
6.3.4 嵌套MAC及其安全性证明* 110
6.3.5 案例学习:HMAC 112
6.4 加密和Hash函数的综合应用* 114
小结 115
扩展阅读建议 117
上机实验 117
习题 117
第7章 公钥加密(基础) 119
7.1 公钥密码体制概述 119
7.1.1 公钥密码体制的提出 119
7.1.2 公钥密码学的基本模型 120
7.1.3 公钥加密体制的一般模型 120
7.1.4 公钥加密体制的设计原理 121
7.2 一个故事和三个案例体会 122
7.2.1 Merkle谜题(Puzzle) 122
7.2.2 Pohlig-Hellman对称密钥分组加密 124
7.2.3 Merkle-Hellman背包公钥密码方案 124
7.2.4 Rabin公钥密码体制 126
7.3 RSA密码体制 130
7.3.1 RSA方案描述 131
7.3.2 RSA方案的安全性* 132
小结 136
扩展阅读建议 136
上机实验 137
习题 137
第8章 公钥加密(扩展) 139
8.1 EIGamal密码体制 139
8.1.1 离散对数问题与Diffie-Hellman问题 139
8.1.2 Diffie-Hellman密钥交换协议 140
8.1.3 ElGamal方案描述 141
8.1.4 ElGamal方案设计思路的讨论 143
8.1.5 ElGamal方案的安全性* 145
8.2 椭圆曲线密码系统 146
8.2.1 ECDLP以及ECDHP 146
8.2.2 ElGamal的椭圆曲线版本 147
8.2.3 Manezes-Vanstone椭圆曲线密码体制 148
8.2.4 ECC密码体制 149
8.3 概率公钥密码体制* 151
8.3.1 语义安全 151
8.3.2 Goldwasser-Micali加密体制 152
8.4 NTRU密码体制* 155
8.4.1 NTRU加密方案 155
8.4.2 NTRU的安全性和效率 157
小结 158
扩展阅读建议 158
上机实验 159
习题 159
第9章 数字签名 161
9.1 数字签名概述 161
9.1.1 数字签名的一般模型 161
9.1.2 数字签名的分类 162
9.1.3 数字签名的设计原理* 162
9.1.4 数字签名的安全性* 163
9.2 体会四个经典方案 164
9.2.1 基于单向函数的一次性签名 165
9.2.2 基于对称加密的一次性签名 166
9.2.3 Rabin数字签名 167
9.2.4 RSA数字签名及其安全性分析 168
9.3 基于离散对数的数字签名 171
9.3.1 ElGamal签名 171
9.3.2 ElGamal签名的设计原理与安全性分析 172
9.3.3 Schnorr签名 175
9.3.4 数字签名标准 177
9.4 其他基于离散对数的签名* 180
9.4.1 基于离散对数问题的一般签名方案 180
9.4.2 GOST签名 181
9.4.3 Okamoto签名 182
9.4.4 椭圆曲线签名 183
9.5 基于身份识别协议的签名* 184
9.5.1 Feige-Fiat-Shamir签名方案 185
9.5.2 Guillou-Quisquater签名方案 186
9.5.3 知识签名 187
小结 188
扩展阅读建议 189
上机实验 189
习题 190
第10章 实体认证与身份识别 191
10.1 实体认证与身份识别概述 191
10.1.1 实体认证的基本概念 191
10.1.2 身份识别的基本概念 192
10.1.3 对身份识别协议的攻击 193
10.2 基于口令的实体认证 193
10.2.1 基于口令的认证协议 194
10.2.2 基于Hash链的认证协议 195
10.2.3 基于口令的实体认证连同加密的密钥交换协议 196
10.3 基于“挑战-应答”协议的实体认证 197
10.3.1 基于对称密码的实体认证 197
10.3.2 基于公钥密码的实体认证 199
10.3.3 基于散列函数的实体认证 200
10.4 身份识别协议 201
10.4.1 Fiat-Shamir身份识别协议 201
10.4.2 Feige-Fiat-Shamir身份识别协议 203
10.4.3 Guillou-Quisquater身份识别协议* 204
10.4.4 Schnorr身份识别协议* 205
10.4.5 Okamoto身份识别协议* 206
小结 206
扩展阅读建议 207
习题 207
第11章 密钥管理 209
11.1 密钥管理概述 209
11.1.1 密钥管理的内容 209
11.1.2 密钥的种类 210
11.1.3 密钥长度的选取 211
11.2 密钥生成* 211
11.2.1 伪随机数生成器的概念 212
11.2.2 密码学上安全的伪随机比特生成器 213
11.2.3 标准化的伪随机数生成器 214
11.3 密钥分配 215
11.3.1 公钥的分发 215
11.3.2 无中心对称密钥的分发 216
11.3.3 有中心对称密钥的分发 216
11.3.4 Blom密钥分配协议* 220
11.4 PKI技术 222
11.4.1 PKI的组成 222
11.4.2 X.509认证业务 223
小结 226
扩展阅读建议 226
习题 227
附录 228
附录A 信息论基本概念 228
A.1 信息量和熵 228
A.2 联合熵、条件熵、平均互信息 229
参考文献 233
- 《终南山密码》巫童著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《青春密码》王欣著 2019
- 《序列密码分析与设计》关杰,丁林,张凯著 2019
- 《乔治的宇宙 不可破解的密码》(英)露西·霍金 2019
- 《红楼密码 下》张凯庆,张虓著 2019
- 《红楼密码 上》张凯庆,张虓著 2019
- 《傈僳密码》欧光明著 2019
- 《密码学辞典》朱甫臣编 2020
- 《扫码学按摩》臧俊岐主编 2018
- 《考古郑州》任伟,刘彦锋著 2019
- 《嵩山古建筑群》任伟主编 2008
- 《现代密码学》任伟 2020
- 《自动控制原理学习指导与解题指南》任伟建,于镝,董宏丽主编 2013
- 《统计学原理》张宏主编;周德勇,任伟,宋万杰参编 2012
- 《数学化的场论 球面世界的哲学》任伟著 2013
- 《现代密码学 第2版》任伟编著 2014
- 《Oracle程序设计实训教程》任伟主编 2004
- 《钢压杆稳定极限承载力分析》任伟新,曾庆元著 1994
- 《Visual InterDev 编程指南》任伟等编著 1999