前言页 1
第一章 传统密码与密码学基本概念 1
1.1 引论 1
1.2 基本概念 2
1.3 若干传统密码与它的破译 3
1.3.1 密码举例 3
1.3.2 凯撒密码 4
1.3.3 单表置换 5
1.3.4 维吉利亚(Vigenere)密码 10
1.3.5 对维吉利亚密码的分析 12
1.3.6 维尔南(Vernam)加密算法 34
1.3.7 普莱费厄(PlayFair)加密算法 34
1.3.8 希尔(Hill)加密算法 35
1.3.9 密码分析学 36
第二章 分组密码 38
2.1 数据加密标准DES 38
2.1.1 概述 38
2.1.2 DES加密算法 38
2.1.3 DES解密过程 44
2.1.4 DES举例 45
2.1.5 关于DES的若干问题 47
2.1.6 DES的变形 48
2.1.7 TH加密算法(THCA) 51
2.2 IDEA密码系统 55
2.2.1 IDEA加密算法 55
2.2.2 说明举例 57
2.2.3 前苏联国家标准(NSSU) 61
2.2.4 斯奈尔(B.Schneier)密码 64
2.2.5 TEA加密算法 66
3.1 引言 67
第三章 公钥密码 67
3.2 背包公钥密码系统 68
3.2.1 背包问题 68
3.2.2 MH背包公钥密码 69
3.3 伽罗瓦(Galois)域上的背包公钥密码 70
3.4 RSA公钥密码 73
3.4.1 欧拉定理 73
3.4.2 RSA加密算法 74
3.4.3 RSA安全性讨论 75
3.4.4 模幂算法 76
3.5.1 勒宾密码有关的若干问题 77
3.5 勒宾(Rabin)密码 77
3.5.2 GF(p)上平方根问题的讨论 80
3.5.3 m非奇数时,GF(m)上平方根的讨论 82
3.5.4 勒宾密码存在的问题 84
3.6 勒宾算法厄格玛尔(EIGamal)变形 84
3.7 科尔-列维斯特(Chor-Rivest)背包公钥密码系统 85
3.7.1 科尔-列维斯特背包公钥密码的理论基础 85
3.7.2 科尔-列维斯特密码系统 86
3.7.3 举例 87
3.8.1 编码理论准备 89
3.8 麦克黎斯(McEliece)公钥密码 89
3.8.2 BCH码和郭帕(Goppa)码 95
3.8.3 麦克黎斯(McEliece)码 100
3.9 椭圆曲线公钥密码 101
3.9.1 椭圆曲线 101
3.9.2 椭圆曲线的图象 102
3.9.3 椭圆曲线上点的?运算 103
3.9.4 关于?运算的群的性质 105
3.9.5 阶的概念 107
3.9.6 椭圆曲线上的密码系统 108
3.9.7 因数分解的任斯特拉(Lenstra)算法 109
3.10 MH背包公钥的沙米尔(Shamir)攻击 114
3.10.1 算法的非形式化叙述 114
3.10.2 一个例子 115
3.10.3 沙米尔攻击的若干补充 117
3.11 L3算法 117
3.11.1 格L 118
3.11.2 有关定理 119
3.11.3 L3算法 121
3.12 拉格尼阿斯-奥得尼兹科-勃里克尔(Lagarias-Odlyzko-Brickell)攻击 124
3.14 混合密码 126
3.13 利用传统密码建立网络保密通信的若干办法 126
3.15 概率加密 127
3.15.1 GM方法 128
3.15.2 BBS方法 129
第四章 与公钥有关的若干算法 130
4.1 因数分解的欧几里得算法 130
4.1.1 欧几里得算法 130
4.1.2 欧几里得算法的复杂性分析 131
4.2 求gcd{n1, n2}的斯泰因(Stein)算法及其复杂性分析 132
4.2.1 求gcd{n1, n2}的斯泰因算法 133
4.2.2 斯泰因算法的复杂性分析 134
4.3 求mod m的逆元素算法 136
4.4 费尔玛(Fermat)因数分解法及其它 137
4.5 连分式因数分解法 140
4.5.1 连分式递推公式 140
4.5.2 有关定理 141
4.5.3 连分式因数分解法及例 142
4.6 波拉德(Pollard)整数分解法 145
4.7 素数测试 147
4.7.1 素数有关的定理 147
4.7.2 素数的米勒-勒宾(Miller-Rabin)概率测试法 150
4.8 大数模幂乘快速算法 151
4.9 离散对数计算法 153
4.9.1 离散对数 153
4.9.2 中国剩余定理 154
4.9.3 波里格-黑尔曼(Pohlig-Hellman)离散对数求法 155
4.9.4 求离散对数的商克(Shank)法 157
4.10 伪随机数的产生方法简介 159
第五章 密码学的信息论基础 162
5.1 信息论概念 162
5.1.1 熵的概念 162
5.1.2 熵的性质 165
5.1.3 条件熵 166
5.1.4 对称性质 171
5.2 商农(Shannon)理论概要 172
5.2.1 密码体制 172
5.2.2 暧昧度概念 173
5.2.3 安全保密性研究 177
5.2.4 多余度和唯一解码量 181
第六章 线性反馈移位寄存器(LFSR)和序列密码 185
6.1 序列的随机性概念 185
6.2 有限状态机 186
6.3 反馈移位寄存器 188
6.4 特征多项式 191
6.5 线性反馈移位寄存器输出序列的随机性 196
6.6 非线性反馈移位寄存器 198
6.6.1 n级线性反馈移位寄存器 198
6.6.2 由LFSR1与LFSR2构造非线性序列 199
6.6.3 J-K触发器 200
6.6.4 普勒斯(Pless)体制 201
6.6.5 复合 201
6.7 利用线性反馈移位寄存器的密码反馈 203
7.1 数字签名与身份验证 206
第七章 数字签名、哈希(Hash)函数、安全协议及其它 206
7.2 哈希函数 207
7.3 数字签名标准(DSS) 209
7.4 密钥分存问题 210
7.4.1 问题的提出 210
7.4.2 Shamir基于拉格朗日插值公式的办法 211
7.4.3 阿斯木斯-布隆(Asmuth-Bloom)体系 212
7.4.4 密钥分存举例及其它 212
7.5 密码协议 216
7.6 沙米尔(Shamir)协议 217
7.7 典型的协议举例 218
7.7.1 扑克游戏 219
7.7.2 掷银币游戏 220
7.7.3 一种“若无其事”的秘密传输 220
7.7.4 电子投票协议 220
7.7.5 若干比较重要的协议 221
7.8 零知识证明 225
7.8.1 零知识证明概念 225
7.8.2 零知识证明举例 226
7.8.3 3 SAT问题的零知识证明 228
7.8.4 身份的零知识证明 229
8.1 问题的提出 232
第八章 计算机网络的保密与安全问题 232
8.2 OSI网络模型 233
8.3 计算机网络中的密码服务 234
8.3.1 计算机网络中的保密安全问题 234
8.3.2 计算机网络中的保密传输方式 235
8.4 网络的通信安全 236
8.5 密钥管理 236
8.7 EMMT网络密钥管理方案 238
8.7.1 分布式密钥分配方法 238
8.6 加密算法和操作模式 238
8.7.2 基本密码操作 240
附录 241
附录A 数论基础 241
附录B 群和有限域 258
附录C 复杂性理论 264
附录D DES和IDEA程序 265
附录E NSSU密码(gost) 288
附录F Schneier密码(blowfish) 293
附录G TEA加密算法 303
参考文献 304