图书目录

第1章传统密码与密码学基本概念1

1.1引论1

1.2基本概念2

1.3若干传统密码与其破译技术3

1.3.1密码举例3

1.3.2Kaiser密码4

1.3.3单表置换5

1.3.4Vigenere密码11

1.3.5对Vigenere密码的分析13

1.3.6Vernam密码22

1.3.7Playfair密码22

1.3.8Hill密码23

1.3.9密码分析学25

第2章数学的准备27

2.1数论27

2.1.1数的m进制表示27

2.1.2数的因数分解29

2.1.3同余类35

2.1.4线性同余方程35

2.1.5联立同余方程和中国剩余定理36

2.1.6欧拉(Euler)定理和费尔玛(Fermat)定理38

2.1.7威尔逊(Wilson)定理40

2.1.8平方剩余41

2.2群论42

2.2.1群的概念42

2.2.2群的性质43

2.3有限域理论44

2.3.1域的概念44

2.3.2伽罗瓦域GF(pn)45

2.3.3有限域的基本理论48

2.3.4域的特征49

2.3.5本原元素50

第3章分组密码52

3.1Feistel加密算法52

3.1.1概述52

3.1.2Feistel加密网络52

3.1.3DES加密标准54

3.1.4DES的解密过程61

3.1.5DES的解密过程和举例62

3.1.6关于DES的若干问题68

3.1.7DES的变形69

3.2IDEA密码74

3.2.1IDEA加密算法74

3.2.2IDEA密码的子密钥生成76

3.2.3IDEA密码的解密运算76

3.2.4举例79

3.3AES新的加密标准83

3.3.1准备知识84

3.3.2系数在GF(28)的多项式85

3.3.3若干说明87

3.3.4轮变换87

3.3.5子密钥的生成93

3.3.6加密算法的形式化叙述95

3.3.7解密95

3.3.8代数性质97

3.3.9举例98

3.4RC5加密算法105

3.5RC6加密算法107

3.5.1子密钥的生成107

3.5.2加、解密算法108

3.6Serpent密码109

3.6.1Serpent加密算法109

3.6.2解密运算和子密钥的生成112

3.6.3附表113

3.7Twofish密码115

3.7.1算法说明115

3.7.2函数F117

3.7.3函数g117

3.7.4子密钥生成118

3.7.5关于密钥的补充119

3.7.6函数h119

3.7.7扩展的密钥Kj120

3.7.8q0和q1120

3.8CAST256密码122

3.8.1若干记号123

3.8.2加密、解密算法124

3.8.3S盒125

3.9SAFER+密码129

3.9.1算法说明129

3.9.2SAFER+的各轮加密算法130

3.9.3解密的各轮算法132

3.9.4子密钥的生成133

3.9.5密钥长128比特的子密钥生成135

3.9.6密钥长192比特的子密钥生成136

3.9.7密钥长256比特的子密钥生成136

3.10MARS密码137

3.10.1算法的描述137

3.10.2第1阶段——向前混合138

3.10.3第2阶段——密钥控制的变换140

3.10.4第3阶段——向后混合142

3.10.5解密143

3.10.6子密钥生成144

3.10.7S盒146

3.11TEA密码149

第4章公钥密码151

4.1引言151

4.2背包公钥密码系统152

4.2.1背包问题152

4.2.2MH背包公钥密码153

4.3Galois域上的背包公钥密码155

4.4RSA公钥密码158

4.4.1欧拉定理158

4.4.2RSA加密算法158

4.4.3RSA的安全性讨论160

4.4.4数字签名161

4.4.5数字签名的注意事项162

4.4.6强素数162

4.5Rabin公钥密码162

4.6ElGamal公钥密码164

4.6.1加密算法164

4.6.2举例165

4.7ChorRivest背包公钥密码165

4.7.1理论基础165

4.7.2ChorRivest密码167

4.7.3举例168

4.8McEliece公钥密码170

4.8.1编码理论准备170

4.8.2BCH码和Goppa码175

4.8.3McEliece码181

4.9MH背包公钥的Shamir攻击186

4.9.1算法的非形式化叙述186

4.9.2举例187

4.10LLL算法188

4.10.1格L188

4.10.2相关定理189

4.10.3LLL算法详细介绍192

4.11LagariasOdlyzkoBrickell攻击194

4.12利用传统密码建立网络保密通信的若干办法197

4.13公钥密码系统的密钥分配198

第5章线性反馈移位寄存器(LFSR)和序列密码199

5.1序列的随机性概念199

5.2有限状态机200

5.3反馈移位寄存器202

5.4特征多项式205

5.5Golomb随机性概念211

5.6非线性反馈移位寄存器212

5.6.1n级线性反馈移位寄存器212

5.6.2由LFSR1与LFSR2构造非线性序列213

5.6.3JK触发器215

5.6.4Pless体制215

5.6.5复合216

5.7利用线性反馈移位寄存器的密码反馈217

第6章大数的快速计算220

6.1数的m进制表示220

6.2数的ml进制表示221

6.3加法和减法222

6.4多位数乘法222

6.5数的平方运算224

6.6除法运算224

6.7模幂算法226

6.8Barrett求模算法230

6.9多位数的Montgomery求模算法232

6.10乘的Montgomery算法234

6.11加法链235

6.12预处理算法236

6.13大数模运算的预处理算法238

6.14利用中国剩余定理加快RSA解密241

第7章大素数生成及其有关算法242

7.1素数的概率测试法242

7.1.1若干关于素数的判定定理242

7.1.2判定素数的确定型多项式算法243

7.2素数的MillerRabin概率测试法245

7.3关于因数分解的讨论246

7.3.1p-1因数分解法246

7.3.2关于p和q的讨论247

7.4关于e和d的讨论249

7.5随机数产生器249

7.6序列的随机性统计检验254

7.6.1χ2检验254

7.6.2随机性的检验方法257

7.7Fermat因数分解法259

7.8连分式因数分解法262

7.8.1实数的连分式表示262

7.8.2连分式因数分解法268

7.9离散对数计算法271

7.9.1离散对数271

7.9.2PohligHellman离散对数求法272

7.9.3求离散对数的Shank法275

7.9.4求离散对数的Pollard ρ法277

7.9.5求离散对数的另一种方法279

第8章椭圆曲线与椭圆曲线上的公钥密码282

8.1椭圆曲线导论282

8.2有限域上的椭圆曲线285

8.3椭圆曲线上的群287

8.4判别式Δ与不变式j288

8.4.1关于F的特征Char(F)≠2,3的椭圆曲线288

8.4.2关于特征等于2的域的讨论290

8.4.3j(E)≠0的讨论290

8.4.4j(E)=0的讨论292

8.5Hasse定理294

8.6椭圆曲线上的公钥密码296

8.7因数分解的Lenstra算法297

第9章密码协议308

9.1密码协议举例308

9.2Shamir协议309

9.3典型的协议举例: 会话密钥分配310

9.4对称密码的数字签名协议311

9.5扑克游戏311

9.6掷银币游戏312

9.7一种身份认证协议313

9.8计算机选举314

9.9签合同协议315

9.10挂号信协议315

9.11其他有意义的协议316

9.12零知识证明319

9.12.1零知识证明概念319

9.12.23 SAT问题的零知识证明321

9.12.3身份的零知识证明322

9.12.4Schnorr身份验证324

9.13量子密码学324

第10章密钥管理327

10.1密钥等级327

10.2主机对数据信息的加密解密操作327

10.3终端密钥分配的产生329

10.4文件保密的密钥管理330

第11章信息的认证技术332

11.1Hash函数332

11.2DSA算法333

11.3利用DES构造Hash函数336

11.4利用IDEA构造Hash函数338

11.5利用DES构造Hash函数的其他形式340

11.6MD5343

11.7SHA348

11.7.1SHA的描述348

11.7.2SHA的压缩函数350

11.7.3SHA和MD5的比较351

11.8生日问题与生日攻击351

11.9中间相遇攻击353

11.10LamportDiffie数字签名354

11.11FiatShamir与Schnorr数字签名355

11.11.1FiatShamir数字签名原理355

11.11.2FiatShamir算法的签名过程356

11.11.3FiatShamir数字签名的其他形式及补充358

11.11.4Schnorr数字签名358

11.12ElGamal数字签名359

11.12.1ElGamal系统359

11.12.2ElGamal的其他形式360

11.13DSS361

第12章Kerberos认证系统和X.509标准363

12.1概论363

12.2Kerberos协议的第4版本364

12.3Kerberos协议的第5版本367

12.4公钥的管理370

12.4.1X.509标准370

12.4.2证书的管理372

第13章密码的差分分析法基础375

13.1引论375

13.2若干符号和定义375

13.3若干结论377

13.4XOR377

13.5轮特性的概念382

13.6轮特性讨论的继续383

13.7已知明文攻击及4轮DES的差分分析举例385

13.8差分分析法对DES的攻击387

附录ADES程序401

附录BIDEA程序415

附录CAES程序420

附录DRSA程序428

附录E大素数生成程序470

参考文献493