单元一 密码学通论 2
第1章 近代密码学简述 2
1.1 密码学术语简介及假设 2
1.2 秘密密钥及公开密钥密码系统 3
1.3 理论安全及实际安全 7
1.4 单向函数及单向陷门函数 9
1.5 指数函数(Exponentiation Function) 11
1.6 密码协议介绍及分析 13
参考文献 17
第2章 数学基础 18
2.1 有限域(Finite Field) 18
2.2 同余及模运算 18
2.3 乘法逆元的求法 20
2.4 线性同余 21
2.5 中国剩余定理(Chinese Remainder Theorem) 22
2.6 二次剩余(Quadratic Residue) 23
2.7 有限域GF(pm)的运算 28
2.8 在GF(P)中求解平方根的方法 30
参考文献 31
第3章 信息论及复杂度理论 32
3.1 信息论(Information Theory) 32
3.2 复杂度理论(Complexity Theory) 33
3.2.1 对方法分类 33
3.2.2 对问题分类 34
参考文献 35
4.1 传统加密法 38
4.1.1 换位加密法(Transposition) 38
第4章 DES及FEAL 38
单元二 对称式密码系统 38
4.1.2 替换加密法(Substitution) 40
4.2 美国数据加密标准(DES) 43
4.2.1 DES算法 43
4.2.2 子密钥的产生 46
4.2.3 DES算法的f函数 47
4.2.4 DES的安全性 49
4.3 快速数据加密法 53
4.3.1 FEAL的加密与解密结构 53
4.3.2 FEAL算法的f函数 54
4.3.3 子密钥的产生 55
参考文献 57
5.1 引言 58
第5章 IDEA及SKIPJACK 58
5.2 国际数据加密算法(IDEA) 59
5.2.1 IDEA加密方法 60
5.2.2 子密钥生成过程 62
5.2.3 IDEA解密方法 63
5.2.4 IDEA的使用模式 64
5.3 Skipjack分组加密算法 68
5.4 结论 70
参考文献 71
第6章 序列加密技术 72
6.1 引言 72
6.2 随机数产生器 72
6.3 随机数产生器安全性评估 76
6.3.1 统计测试 76
6.3.2 线性复杂度(Linear Complexity) 78
参考文献 80
6.4 结论 80
单元三 非对称式密码系统 84
第7章 RSA与Rabin系统 84
7.1 引言 84
7.1.1 Pohlig-Hellman秘密密钥密码系统 84
7.2 RSA系统介绍 86
7.2.1 密钥产生 86
7.2.2 公开密钥密码系统 86
7.2.3 数字签名系统 87
7.2.4 同时达到秘密通信与数字签名 87
7.2.5 利用单向散列函数以减少数字签名系统的时间与空间复杂度 89
7.3 RSA参数的选择 89
7.3.1 选择N注意事项 90
7.3.2 选择e注意事项 92
7.3.3 选择d注意事项 93
7.4 使用RSA系统必须注意事项 94
7.4.1 不可使用公共的模N 94
7.4.2 明文的熵应尽可能地增大 95
7.4.3 数字签名系统应使用单向散列函数 96
7.5 如何找强素数 97
7.5.1 大素数的产生 98
7.5.2 确定位数的强素数的产生 100
7.6 Rabin公开密钥密码系统与数字签名 102
7.6.1 Rabin公开密钥密码系统 103
7.6.2 Harn-Kiesler加密系统 104
7.6.3 Rabin数字签名系统 105
参考文献 105
8.1 引言 107
第8章 背包密码系统 107
8.2 Merkle-Hellman背包公开密钥保密系统 108
8.3 Shamir背包数字签名系统 109
8.4 结论 110
参考文献 111
第9章 McEliece公开密钥密码系统 112
9.1 McEliece公开密钥密码系统 112
参考文献 113
第10章 概率公开密钥密码系统 114
10.1 引言 114
10.2 Goldwasser-Micali概率公开密钥密码系统 115
10.3 Harn-Kiesler概率公开密钥密码系统 116
参考文献 117
11.1 引言 120
单元四 散列函数及数字签名 120
第11章 单向散列函数 120
11.2 散列函数的攻击法 121
11.2.1 生日攻击法 121
11.2.2 中途相遇攻击法(Meet-in-the-Middle-Attack) 122
11.3 MD5法 122
11.4 安全散列函数(SHA) 127
11.5 结论 129
参考文献 130
第12章 数字签名 131
12.1 ElGamal数字签名 131
12.2 Schnorr数字签名 132
12.3 数字签名算法(Digital Signature Algorithm,DSA) 133
12.3.2 DSA改良方法2 134
12.3.1 DSA改良方法1 134
12.4 广义的ElGamal签名系统 135
12.4.1 ElGamal签名两个明文的方法 138
12.4.2 ElGamal签名三个明文的方法 138
参考文献 138
单元五 秘密共享及应用 140
第13章 秘密共享 140
13.1 引言 140
13.2 门限方案(Threshold Scheme) 140
13.2.1 Lagrange插值公式 141
13.2.2 如何检测“欺骗者” 141
13.2.3 如何检测庄家欺骗 142
13.2.4 如何检测参与者欺骗 142
13.2.5 公平恢复秘密协议 143
13.3 广义的(Generalized)秘密共享方法 144
13.4 无需信赖者协助的秘密共享 145
13.5 共享多个秘密 145
13.6 如何广播多个秘密 147
13.7 结论 148
参考文献 148
第14章 团体式的密码系统 150
14.1 引言 150
14.2 团体式密码系统 151
14.2.1 团体式的解密方法 151
14.2.2 团体式的加密方法 153
14.3 团体式的数字签名方法 154
14.4 结论 158
参考文献 158
15.1 引言 162
单元六 用户认证 162
第15章 口令认证系统 162
15.2 Chang与Liao法 163
15.3 Chang与Hwang法 164
15.4 Hwang,Chen与Laih法 165
参考文献 167
第16章 计算机网络的认证协议 169
16.1 引言 169
16.2 Kerberos 169
16.2.1 Kerberos使用模式 169
16.2.2 Kerberos第4版本 169
16.2.3 Kerberos版本4协议 171
16.3.1 证书文件(Certificate) 173
16.3 X.509目录检索认证服务 173
16.3.2 对用户的认证程序 175
16.4 结论 176
参考文献 177
第17章 无线通信中的认证协议 178
17.1 引言 178
17.2 安全服务的种类 178
17.3 4种无线通信的认证协议标准 179
17.4 结论 184
参考文献 184
第18章 交互式用户身份证明方法 185
18.1 引言 185
18.2 Feige-Fiat-Shamir法 186
18.3 Schnorr法 187
参考文献 188
单元七 密码技术应用 190
第19章 不经意传送协议 190
19.1 引言 190
19.2 Rabin所提出的OT 190
19.3 Harn及Lin所提出的OT 191
参考文献 192
第20章 会议密钥交换技术 193
20.1 引言 193
20.2 具有“间接”使用者确认功能的会议密钥交换系统 193
20.3 具有“直接”使用者确认功能的会议密钥交换系统 194
参考文献 195
第21章 电子投票选举 196
21.1 引言 196
21.2 盲签名(Blind Signature) 197
21.3 无踪迹通信(Untraceable Communication) 198
参考文献 198
第22章 计算机病毒的检测技术 199
22.1 引言 199
22.2 签名技术的软件确认系统 199
参考文献 200
第23章 存取控制技术 201
23.1 引言 201
23.2 传统的存取控制方式 201
23.3 Wu与Hwang的钥匙-锁配对法 202
23.4 利用牛顿插值公式设计单钥匙-锁存取控制 204
23.5 使用素因子分解因式的存取控制法 206
23.6 基于主体-客体链表(Subject-Object List)的存取控制法 207
参考文献 209
24.1 引言 210
24.2 二元法(Binary Method)及m-ary法 210
24.2.1 二元法 210
第24章 快速指数运算 210
24.2.2 m-ary法 211
24.3 加法链及向量加法链 212
24.3.1 加法链(Addition Chains) 212
24.3.2 向量加法链(Vectorial Addition Chains) 212
24.4 建表法 213
24.4.1 Yacobi法 213
24.4.2 Shamir法 216
24.4.3 Yen与Laih法 216
24.4.4 Chang,Horng与Buehrer法 218
24.5.1 Chiou法 220
24.5 以并行硬件结构加速指数运算 220
24.5.2 Chang与Lou法 221
24.6 用多计算机系统加速指数运算 223
24.6.1 改进Shamir的指数运算方法 223
24.6.2 利用乘法结合性(Associativity)以省去冗余计算 225
参考文献 228
附录A Chi-Square分布表 230
附录B 源程序 232
附录B.1 DES程序 232
附录B.2 IDEA程序 256
附录B.3 HASH程序 275
附录B.4 RSA程序 293
附录B.5 DSS程序 307
附录C 我国台湾-大陆专业术语对照表 348