第1章 密码学及传统加密技术 1
1.1 密码学的起源和发展 1
1.2 对称密码的模型 1
1.3 古典密码 4
1.3.1 凯撒密码 4
1.3.2 单表代换密码 5
1.3.3 Playfair密码 5
1.3.4 Hill密码 6
1.3.5 多表代换密码 6
1.3.6 置换密码 7
习题 7
第2章 分组密码与数据加密标准DES 9
2.1 分组密码的基本概念 9
2.2 数据加密标准DES 11
2.2.1 DES的历史 11
2.2.2 DES算法细节 12
2.2.3 DES算法的可逆性证明 18
2.2.4 DES的安全性 19
2.2.5 DES在设计上的优点 23
2.3 Feistel结构——分组密码重要的设计原理 26
2.3.1 模型及参数选择 26
2.3.2 S盒的设计 27
2.4 分组密码的操作方式 28
2.4.1 电子密码本 29
2.4.2 密码分组链接 30
2.4.3 密码反馈 31
2.4.4 输出反馈 32
习题 34
第3章 近世代数基础 35
3.1 群、环、域的基本概念 35
3.1.1 群 35
3.1.2 环和域 36
3.2 模运算 38
3.3 欧几里得算法 39
3.3.1 计算两个数的最大公因数 39
3.3.2 乘法逆元的计算 40
3.4 有限域GF(p)上的多项式 40
习题 41
第4章 AES及其它分组密码算法 43
4.1 高级加密标准AES 43
4.1.1 背景及算法概述 43
4.1.2 算法细节 44
4.1.3 性能分析 47
4.2 三重DES及其它分组密码算法 49
4.2.1 三重DES 49
4.2.2 IDEA 51
4.2.3 Twofish简介 56
4.2.4 RC5与RC6 59
习题 62
第5章 序列密码 64
5.1 序列的随机性 64
5.1.1 随机性的含义 64
5.1.2 伪随机数发生器 66
5.2 序列密码的基本概念 69
5.3 线性反馈移位寄存器与m序列 70
5.3.1 线性反馈移位寄存器(LFSR) 70
5.3.2 移位寄存器的周期及m序列 72
5.3.3 B-M算法与序列的线性复杂度 74
习题 75
第6章 数论基础 77
6.1 素数与互素 77
6.2 费马定理和欧拉定理 78
6.2.1 费马定理 78
6.2.2 欧拉定理 79
6.3 中国剩余定理 79
6.4 素数的检测 80
习题 84
第7章 公钥密码原理及RSA算法 86
7.1 公钥密码的原理 86
7.1.1 公钥密码的基本思想 86
7.1.2 公钥密码中常用的难解问题 87
7.1.3 背包密码 88
7.1.4 Diffie-Hellman密钥交换协议 90
7.2 RSA密码 91
7.2.1 算法的构造 91
7.2.2 RSA的实现及应用 92
7.2.3 RSA的安全性 93
7.2.4 RSA的参数选择 95
习题 97
第8章 椭圆曲线及其它公钥密码体制 99
8.1 椭圆曲线密码 99
8.1.1 椭圆曲线 99
8.1.2 椭圆曲线公钥密码体制 100
8.2 其它公钥密码算法 102
8.2.1 ElGamal密码 102
8.2.2 Rabin密码 103
8.3 其它公钥密码体制 104
习题 104
第9章 消息认证和散列函数 106
9.1 消息认证码 106
9.1.1 消息认证 106
9.1.2 消息认证码(MAC) 109
9.1.3 MAC算法 110
9.2 散列函数的基本概念 111
9.2.1 散列函数概述 111
9.3 MD5算法 116
9.3.1 MD5简介 116
9.3.2 MD5的安全性 120
9.3.3 算法的应用 120
9.4 安全散列算法SHA-1 121
9.4.1 SHA简介 121
9.4.2 SHA-1描述 121
9.4.3 SHA-1举例 123
9.5 其它散列函数 130
9.5.1 MD4 130
9.5.2 其它散列函数简介 132
9.6 基于散列函数的HMAC 136
9.6.1 HMAC简介 136
9.6.2 HMAC的定义 137
9.6.3 安全性 138
习题 139
第10章 数字签名与认证协议 140
10.1 数字签名概述 140
10.1.1 数字签名简介 140
10.1.2 数字签名的原理 142
10.1.3 RSA签名体制 144
10.2 数字签名标准DSA 145
10.2.1 ElGamal签名 145
10.2.2 数字签名算法DSA 145
10.3 椭圆曲线数字签名算法ECDSA 147
10.3.1 ECDSA简介 147
10.3.2 ECDSA算法描述 148
10.3.3 ECDSA中的阈下信道 149
10.3.4 ECDSA算法的变形 150
10.4 盲签名 152
10.4.1 盲签名的原理 152
10.4.2 盲签名算法 153
10.4.3 盲签名的主要应用——匿名电子投票 154
10.5 代理签名 156
10.5.1 代理签名的概念 156
10.5.2 代理签名的分类 157
10.5.3 M-U-O代理签名方案 158
10.6 Kerberos认证协议 159
10.6.1 Kerberos简介 159
10.6.2 Kerberos概况 160
10.6.3 Kerberos的工作过程 165
10.6.4 Kerberos的跨域认证操作 168
10.6.5 Kerberos的局限 169
习题 171
第11章 密码协议的应用 173
11.1 安全套接层SSL 173
11.1.1 SSL简介 173
11.1.2 SSL协议概况 174
11.1.3 记录层协议 177
11.1.4 改变密码说明协议 180
11.1.5 报警协议 181
11.1.6 握手协议 182
11.2 安全电子交易协议SET 185
11.2.1 SET简介 185
11.2.2 SET协议中的参与者 185
11.2.3 SET中的证书 186
11.2.4 分层信任模型 186
11.2.5 SET支持的消费类型 186
11.2.6 SET的软件系统 187
11.3 IPSec 188
11.3.1 IPSec简介 188
11.3.2 IPSec的协议组成 188
11.3.3 IPSec的工作模式 189
11.3.4 封装安全载荷ESP 189
11.3.5 认证头AH 190
11.4 公钥基础设施PKI 190
11.4.1 概述 190
11.4.2 PKI技术的信任服务及意义 191
11.4.3 PKI的体系结构 193
11.4.4 PKI的应用与发展 197
习题 201
参考文献 202