密码学:基础理论与应用/李子臣 本书特色
本书在国家密码管理局和中国密码学会的指导下,依据教育部高等学校网络空间安全专业教学指导委员会发布的网络空间安全、信息安全本科专业密码学课程知识领域的要求,系统地讲述了密码学的基本内容。本书系统讲述了密码学的基本概念、基本理论和密码算法,基本涵盖了密码学各方面内容。全书共15章:第1章和第2章主要讲述了密码学的发展历史、密码学的基本概念和古典密码,第3章和第4章讲述了分组密码,第5章和第6章讲述了序列密码,第7~9章讲述了公钥密码,第10章以格理论密码为例讲述了后量子密码,第11章和第12章讲述了密码杂凑算法,第13章讲述了数字签名,第14章讲述了身份认证,第15章讲述了密钥管理。在相关的章节系统讲述了国家商用密码算法,包括祖冲之序列密码算法、SM2公钥密码算法、SM3密码杂凑算法、SM4分组密码算法、SM9标识密码算法等。本书可作为高等院校信息安全专业、网络空间安全专业或其他相关专业本科生的教材,也可作为网络空间安全专业、计算机科学与技术专业或其他相关专业研究生的教材,还可作为信息安全相关领域中的教学人员、科研人员及工程技术人员的参考用书。
密码学:基础理论与应用/李子臣 内容简介
本书在国家密码管理局和中国密码学会的指导下,依据教育部高等学校网络空间安全专业教学指导委员会发布的网络空间安全、信息安全本科专业密码学课程知识领域的要求,系统地讲述了密码学的基本内容。本书系统讲述了密码学的基本概念、基本理论和密码算法,基本涵盖了密码学各方面内容。全书共15章:章和第2章主要讲述了密码学的发展历史、密码学的基本概念和古典密码,第3章和第4章讲述了分组密码,第5章和第6章讲述了序列密码,第7~9章讲述了公钥密码,0章以格理论密码为例讲述了后量子密码,1章和2章讲述了密码杂凑算法,3章讲述了数字签名,4章讲述了身份认证,5章讲述了密钥管理。在相关的章节系统讲述了国家商用密码算法,包括祖冲之序列密码算法、SM2公钥密码算法、SM3密码杂凑算法、SM4分组密码算法、SM9标识密码算法等。本书可作为高等院校信息安全专业、网络空间安全专业或其他相关专业本科生的教材,也可作为网络空间安全专业、计算机科学与技术专业或其他相关专业研究生的教材,还可作为信息安全相关领域中的教学人员、科研人员及工程技术人员的参考用书。
密码学:基础理论与应用/李子臣 目录
第1章 概论 1
1.1 密码学的发展历史 1
1.2 密码学的基本概念 5
1.3 密码学的基本属性 6
1.4 密码体制分类 7
1.4.1 对称密码体制 7
1.4.2 非对称密码体制 8
1.5 密码分析 9
1.5.1 密码分析的分类 9
1.5.2 穷密钥搜索 10
1.6 密码的未来 10
1.7 本章小结 11
1.8 本章习题 12
第2章 古典密码 13
2.1 置换密码 13
2.1.1 列置换密码 14
2.1.2 周期置换密码 15
2.2 代换密码 15
2.2.1 单表代换密码 16
2.2.2 多表代换密码 18
2.3 转轮密码 20
2.3.1 Enigma的构造 20
2.3.2 Enigma的加密 21
2.3.3 Enigma的解密 22
2.4 古典密码的分类 23
2.5 古典密码的统计分析 24
2.5.1 单表古典密码的统计分析 24
2.5.2 多表古典密码的统计分析 28
2.6 本章小结 33
2.7 本章习题 33
第3章 分组密码 34
3.1 分组密码概述 34
3.1.1 分组密码简介 34
3.1.2 分组密码的基本原理 35
3.1.3 分组密码的结构 36
3.1.4 分组密码的设计 38
3.2 DES 39
3.2.1 DES的产生 39
3.2.2 DES算法描述 39
3.3 AES 46
3.3.1 AES的产生 47
3.3.2 AES的数学基础 47
3.3.3 AES算法描述 50
3.4 分组密码的工作模式 57
3.4.1 ECB模式 57
3.4.2 CBC模式 58
3.4.3 CFB模式 58
3.4.4 OFB模式 59
3.4.5 CTR模式 60
3.5 分组密码分析 60
3.5.1 差分分析 61
3.5.2 线性分析 62
3.6 本章小结 63
3.7 本章习题 63
第4章 SM4分组密码算法 66
4.1 SM4分组密码算法概述 66
4.1.1 术语说明 66
4.1.2 初始变量算法 67
4.1.3 密钥扩展算法 67
4.1.4 轮函数F 68
4.2 SM4分组密码算法设计原理 71
4.2.1 非平衡Feistel网络 71
4.2.2 T变换 72
4.2.3 基础置换 73
4.2.4 非线性变换 73
4.2.5 线性变换 75
4.2.6 密钥扩展算法的设计 75
4.2.7 SM4分组密码算法初始变量正确性 76
4.3 SM4分组密码算法安全性分析 76
4.4 本章小结 77
4.5 本章习题 77
第5章 序列密码 79
5.1 序列密码的概述 79
5.1.1 序列密码的定义 79
5.1.2 序列密码的分类 80
5.2 序列密码的组成 83
5.2.1 密钥序列生成器KG 83
5.2.2 有限状态自动机 84
5.3 LFSR 84
5.3.1 LFSR的简介 84
5.3.2 伪随机序列 87
5.3.3 线性反馈移位寄存器LFSR序列 88
5.3.4 非线性序列 96
5.4 欧洲eSTREAM序列密码 97
5.5 序列密码的安全性及分析技术 99
5.6 序列密码算法的未来发展趋势 102
5.7 本章小结 103
5.8 本章习题 103
第6章 祖冲之序列密码算法 104
6.1 祖冲之序列密码算法概述 104
6.1.1 算法结构 104
6.1.2 算法原理 105
6.1.3 算法参数 105
6.1.4 算法描述 107
6.2 基于祖冲之算法的机密性算法和完整性算法 109
6.2.1 基于祖冲之算法的机密性算法 109
6.2.2 基于祖冲之算法的完整性算法 111
6.3 ZUC算法的安全性分析 113
6.3.1 ZUC算法的安全性 113
6.3.2 安全分析 113
6.4 ZUC算法案例 114
6.5 本章小结 115
6.6 本章习题 115
第7章 公钥密码 117
7.1 公钥密码体制概述 117
7.1.1 公钥密码体制的原理 117
7.1.2 公钥密码算法的设计要求 118
7.1.3 公钥密码体制的安全性分析 119
7.2 RSA公钥密码体制 123
7.2.1 RSA加密和解密算法 123
7.2.2 RSA的安全性分析 124
7.3 ElGamal公钥密码体制 128
7.3.1 ElGamal加密和解密算法 129
7.3.2 ElGamal安全性分析 129
7.4 本章小结 132
7.5 本章习题 132
第8章 SM2公钥密码算法 134
8.1 椭圆曲线 134
8.1.1 有限域上的椭圆曲线 134
8.1.2 椭圆曲线上的运算 136
8.1.3 椭圆曲线上的离散对数问题 138
8.1.4 ECC 138
8.2 SM2公钥密码体制 139
8.2.1 算法描述 139
8.2.2 密钥派生函数 140
8.2.3 SM2算法加密和解密过程 140
8.2.4 安全性分析 142
8.3 本章小结 142
8.4 本章习题 142
第9章 SM9标识密码算法 144
9.1 标识密码算法概述 144
9.1.1 基本概念 144
9.1.2 困难问题 147
9.2 SM9标识密码算法概述 147
9.2.1 参数选取 148
9.2.2 系统初始化 148
9.2.3 加密和解密过程 148
9.2.4 安全性分析 149
9.2.5 正确性证明 150
9.3 本章小结 150
9.4 本章习题 150
第10章 格理论密码 151
10.1 格密码的基本概念 151
10.2 格上的计算困难问题 153
10.3 NTRU密码体制 155
10.4 NTRU算法分析 157
10.4.1 NTRU算法与格密码理论之间的关系 157
10.4.2 NTRU算法安全性分析 158
10.4.3 NTRU算法正确解密的条件 160
10.5 本章小结 160
10.6 本章习题 160
第11章 密码杂凑函数 161
11.1 密码杂凑函数 161
11.1.1 杂凑函数的性质 161
11.1.2 迭代型杂凑函数的结构 162
11.2 MD5杂凑算法 162
11.2.1 算法描述 162
11.2.2 MD5杂凑算法的压缩函数 165
11.2.3 MD5杂凑算法的安全性 167
11.3 SHA-3杂凑算法 167
11.3.1 算法描述 168
11.3.2 Keccak-f置换 168
11.3.3 Keccak算法的性能分析 171
11.4 消息认证码与HMAC算法 171
11.4.1 消息认证码 172
11.4.2 HMAC算法 173
11.5 杂凑函数安全性分析 175
11.5.1 生日攻击 175
11.5.2 Keccak算法的安全性分析现状 176
11.5.3 SM3的安全性分析现状 177
11.6 本章小结 177
11.7 本章习题 177
第12章 SM3密码杂凑算法 179
12.1 算法基础 179
12.2 算法描述 180
12.2.1 消息填充与扩展 180
12.2.2 压缩函数 181
12.2.3 迭代过程 182
12.3 设计原理 182
12.3.1 压缩函数的设计 182
12.3.2 消息扩展算法的设计 183
12.4 算法特点 184
12.5 安全性分析 184
12.6 本章小结 185
12.7 本章习题 185
第13章 数字签名 186
13.1 数字签名方案的基本概念 186
13.1.1 数字签名方案的形式化定义及特点 186
13.1.2 数字签名方案的分类 187
13.2 DSS 189
13.3 SM2数字签名方案 191
13.4 SM9数字签名方案 193
13.4.1 算法初始化与相关函数 193
13.4.2 系统签名主密钥和用户签名密钥的产生 193
13.4.3 签名及验签 193
13.4.4 正确性及安全性分析 194
13.5 数字签密 195
13.6 本章小结 195
13.7 本章习题 196
第14章 身份认证 197
14.1 身份认证概述 197
14.2 基于口令的身份认证 198
14.3 基于对称密码的认证 199
14.3.1 基于对称密码的单向认证 199
14.3.2 基于对称密码的双向认证 200
14.4 基于公钥密码的认证 201
14.4.1 基于公钥密码的单向认证 201
14.4.2 基于公钥密码的双向认证 202
14.5 零知识证明 203
14.5.1 零知识证明原理 203
14.5.2 Feige-Fiat-Shamir零知识身份认证协议 204
14.6 认证协议 205
14.6.1 Kerberos认证协议 205
14.6.2 X.509认证协议 207
14.7 本章小结 210
14.8 本章习题 210
第15章 密钥管理 211
15.1 密钥管理概述 211
15.1.1 密钥管理的层次结构 212
15.1.2 密钥管理的原则 214
15.1.3 密钥管理全过程 215
15.2 密钥分配技术 217
15.2.1 对称密码体制的密钥分配 217
15.2.2 公钥密码体制的密钥分配 221
15.3 密钥协商 225
15.3.1 Diffie-Hellman密钥交换协议 225
15.3.2 量子密钥协议 228
15.4 SM2密钥交换协议 229
15.5 SM9密钥交换协议 231
15.6 秘密共享技术 232
15.6.1 Shamir门限方案 232
15.6.2 Asmuth-Bloom门限方案 234
15.7 本章小结 235
15.8 本章习题 236
参考文献 237
密码学:基础理论与应用/李子臣 作者简介
李子臣,博士,教授,博士生导师,清华大学计算机科学与技术系出站博士后。主要从事公钥密码学、数字签名、后量子密码等方面的研究。现任北京印刷学院教务处处长、中国密码学会理事、中国密码学会教育与科普工作委员会副主任、中国人工智能学会理事、中国人工智能学会智能传媒学会常务副理。1999年毕业于北京邮电大学信息工程学院,获博士学位。1999-2001年,在清华大学计算机科学与技术系博士后流动站从事研究工作。2002-2003年,入选香港"秀才计划”,在香港大学计算机系从事合作研究。先后参加和承担完成了国家973计划项目,国家自然科学基金重大研究计划项目,"十五”国家科技攻关计划,全国博士后基金项目,省自然科学基金等多项科研项目。先后在IEEE、IEE、IPL、《电子学报》、《通信学报》等知名国际和国内学术刊物和国际国内学术会议上发表学术论文100余篇,其中有多篇被SCI、EI、ISTP收录。编写过《典型密码算法C语言实现》、《应用密码学》、《信息论与编码》、《计算机文化基础》等教材。