第1章 概述 1
1.1 经典密码学 1
1.2 密码保密的概念 3
1.3 分组密码 5
1.4 流密码 7
1.5 公钥密码学 8
1.6 迭代与级联密码 9
1.7 密码分析学 10
1.8 现实攻击 11
1.9 复杂度理论 12
1.10 认证与鉴别 13
1.11 所有权保护 14
1.12 隐蔽通信 15
1.13 信息保护史 16
第1章习题 17
第1章注释 18
第2章 整数 20
2.1 数论基础 20
2.2 欧几里得算法 23
2.3 素数域 25
2.4 平方剩余 26
2.5 二次互反性 30
2.6 雅可比符号 32
2.7 素性检验 35
2.8 费马算法 36
2.9 Solovav-Strassen算法 37
2.10 Miller-Rabin算法 39
2.11 整数分解 41
2.12 Pollard因子分解算法 42
2.13 素数域上的平方根 43
第2章习题 48
第2章注释 50
第3章 基于整数环的密码学 51
3.1 双素数密码 51
3.2 双素数密码的实施 52
3.3 双素数密码的协议攻击 54
3.4 双素数加密的直接攻击 55
3.5 双素数因子分解 56
3.6 平方筛选法 56
3.7 数域筛选法 60
3.8 Rabin密码体制 62
3.9 背包密码体制的兴衰 64
第3章习题 65
第3章注释 66
第4章 基于离散对数的密码学 67
4.1 Diffie-Hellman密钥交换 67
4.2 离散对数 68
4.3 Elgamal密码体制 69
4.4 陷门单向函数 70
4.5 Massey-Omura密码体制 70
4.6 Pohlig-Hellman算法 71
4.7 Shanks算法 75
4.8 离散对数的Pollard算法 77
4.9 指数计算方法 79
4.10 离散对数问题的复杂度 81
第4章习题 83
第4章注释 83
第5章 密码学中的信息论方法 85
5.1 概率空间 85
5.2 熵 86
5.3 理想保密 87
5.4 Shannon-McMillan定理 89
5.5 唯一解距离 90
5.6 自然语言的熵 92
5.7 熵扩展 93
5.8 数据压缩 94
5.9 窃听信道 95
第5章习题 98
第5章注释 99
第6章 分组密码 100
6.1 分组代换 100
6.2 Feistel网络 101
6.3 数据加密标准 102
6.4 数据加密标准的使用 105
6.5 双重和三重DES加密 105
6.6 高级加密标准 106
6.7 差分密码分析 109
6.8 线性密码分析 110
第6章习题 110
第6章注释 111
第7章 流密码 112
7.1 依赖状态的加密 112
7.2 加法流密码 113
7.3 线性移位寄存器序列 115
7.4 线性复杂度攻击 117
7.5 线性复杂度分析 118
7.6 非线性反馈产生的密钥流 120
7.7 非线性组合产生的密钥流 121
7.8 非线性函数产生的密钥流 123
7.9 相关性攻击 128
7.10 伪随机序列 130
7.11 序列的非线性集 131
第7章习题 133
第7章注释 134
第8章 认证与所有权保护 135
8.1 认证 135
8.2 鉴别 136
8.3 认证签名 136
8.4 散列函数 138
8.5 生日攻击 140
8.6 迭代散列构造 141
8.7 理论散列函数 141
8.8 实用散列函数 142
第8章习题 146
第8章注释 147
第9章 群、环与域 148
9.1 群 148
9.2 环 150
9.3 域 151
9.4 素数域 153
9.5 二进制域与三进制域 153
9.6 一元多项式 154
9.7 扩张域 159
9.8 有限域上的乘法循环群 163
9.9 分圆多项式 165
9.10 向量空间 167
9.11 线性代数 169
9.12 傅里叶变换 170
9.13 有限域的存在性 173
9.14 二元多项式 176
9.15 模数约简与商群 179
9.16 一元多项式分解 180
第9章习题 182
第9章注释 184
第10章 基于椭圆曲线的密码学 185
10.1 椭圆曲线 185
10.2 有限域上的椭圆曲线 189
10.3 点的加法运算 191
10.4 椭圆曲线的阶数 194
10.5 椭圆曲线的群 196
10.6 超奇异椭圆曲线 197
10.7 二进制域上的椭圆曲线 199
10.8 点的乘法计算 201
10.9 椭圆曲线密码学 202
10.10 投影平面 204
10.11 扩张域上的点计数 206
10.12 有理数上椭圆曲线的同态映射 210
10.13 有限域上椭圆曲线的同态 213
10.14 基域上的点计数 217
10.15 Xedni(仿指数)计算方法 220
10.16 椭圆曲线与复数域 223
10.17 采用复数乘法构造的曲线 225
第10章习题 231
第10章注释 233
第11章 基于超椭圆曲线的密码学 235
11.1 超椭圆曲线 235
11.2 坐标环和函数域 238
11.3 极根和零根 240
11.4 约数 242
11.5 主约数 244
11.6 椭圆曲线上的主约数 246
11.7 雅可比商群 249
11.8 超椭圆曲线的群 250
11.9 半简化约数和雅可比商群 252
11.10 Mumford变换 253
11.11 Cantor约简算法 257
11.12 简化约数和雅可比商群 259
11.13 Cantor-Koblitz算法 260
11.14 超椭圆曲线密码学 263
11.15 超椭圆雅可比商群的阶 264
11.16 一些雅可比商群的例子 265
第11章习题 268
第11章注释 269
第12章 基于双线性对的密码学 270
12.1 双线性对 270
12.2 基于配对的密码学 271
12.3 基于配对的密钥交换 272
12.4 基于身份的加密 273
12.5 基于配对的签名 275
12.6 攻击双线性Diffie-Hellman协议 275
12.7 扭转点与嵌入度 276
12.8 扭转结构定理 279
12.9 配对的结构 285
12.10 利用双线性对的攻击 286
12.11 Tate配对 288
12.12 Miller算法 292
12.13 Weil配对 294
12.14 友好配对曲线 296
12.15 Barreto-Naehrig椭圆曲线 297
12.16 其他友好配对曲线 299
第12章习题 300
第12章注释 302
第13章 实现 303
13.1 配对强化 303
13.2 加速配对 305
13.3 双倍点和三倍点 307
13.4 点的表示 309
13.5 椭圆曲线算法中的运算 310
13.6 整数环上的模加 311
13.7 整数环上的模乘 311
13.8 二进制域的表示 313
13.9 二进制域中的乘法和平方 315
13.10 互补基 318
13.11 有限域中的除法 320
第13章习题 320
第13章注释 322
第14章 安全与鉴别密码协议 323
14.1 密码安全协议 323
14.2 鉴别协议 324
14.3 零知识协议 325
14.4 安全鉴别方法 325
14.5 签名协议 330
14.6 秘密共享协议 332
第14章习题 333
第14章注释 334
第15章 其他公钥密码 335
15.1 格介绍 335
15.2 格理论中的基本问题 340
15.3 格基约简 341
15.4 基于格的密码体制 344
15.5 攻击格密码体制 347
15.6 编码介绍 348
15.7 子空间投影 350
15.8 基于编码的密码学 351
第15章习题 352
第15章注释 353
参考文献 354
索引 371