第1章 引言 1
1.1 密码学的发展历史 1
1.2 密码学基本概念 2
1.2.1 保密通信系统 3
1.2.2 密码体制分类 3
1.2.3 密码攻击 4
习题 5
第2章 数学基础 6
2.1 数论基础 6
2.1.1 整除与同余 6
2.1.2 欧几里得除法 8
2.1.3 一次同余式与中国剩余定理 9
2.1.4 二次剩余 10
2.2 近世代数基础 12
2.2.1 群 12
2.2.2 环和域 13
2.2.3 指数与原根 13
2.3 计算复杂性理论 14
2.3.1 图灵机 14
2.3.2 问题的计算复杂性分类 16
习题 17
第3章 古典密码 18
3.1 置换密码 18
3.2 代替密码 18
3.2.1 单表代替密码 19
3.2.2 多表代换密码 22
习题 24
第4章 流密码 25
4.1 基本概念 25
4.1.1 一次一密与流密码 25
4.1.2 流密码的思想 26
4.1.3 流密码结构 26
4.2 序列的随机性 27
4.3 密钥流生成器 28
4.4 线性反馈移位寄存器 29
4.5 两个流密码算法 32
4.5.1 流密码算法RC4 32
4.5.2 流密码算法A5 34
习题 35
第5章 分组密码 36
5.1 分组密码的基本原理 36
5.2 分组密码的工作模式 38
5.3 数据加密标准 40
5.3.1 DES的历史 40
5.3.2 DES算法 41
5.3.3 DES的安全性 46
5.3.4 多重DES 47
5.4 高级加密标准 48
5.4.1 AES的基本运算单位 48
5.4.2 AES算法 50
5.4.3 AES的安全性 55
5.5 SMS4 56
5.5.1 术语说明 56
5.5.2 轮函数F 56
5.5.3 SMS4算法 57
5.5.4 密钥扩展算法 58
5.6 IDEA 59
5.6.1 IDEA算法 59
5.6.2 IDEA的安全性 61
习题 61
第6章 Hash函数 62
6.1 Hash函数的概念 62
6.1.1 Hash函数的性质 62
6.1.2 迭代型Hash函数的一般结构 63
6.1.3 Hash函数的应用 63
6.2 MD5 64
6.2.1 算法描述 64
6.2.2 MD5的压缩函数 66
6.3 SHA 68
6.3.1 SHA-1 68
6.3.2 SHA-2 72
6.4 基于分组密码的Hash函数 75
6.5 Hash函数的分析方法 76
习题 77
第7章 公钥密码 79
7.1 公钥密码的基本概念 79
7.1.1 公钥密码体制的原理 79
7.1.2 公钥密码体制的要求 81
7.2 RSA公钥密码 82
7.2.1 算法描述 82
7.2.2 RSA的安全性 84
7.3 ElGamal公钥密码 85
7.3.1 算法描述 85
7.3.2 ElGamal的安全性 86
7.4 Rabin公钥密码 86
7.5 椭圆曲线公钥密码 87
7.5.1 实数域上的椭圆曲线 87
7.5.2 有限域上的椭圆曲线 88
7.5.3 椭圆曲线密码体制 89
习题 91
第8章 数字签名 92
8.1 数字签名的基本概念 92
8.2 RSA数字签名 93
8.3 ElGamal数字签名 94
8.4 数字签名标准 95
8.5 其他数字签名 96
8.5.1 基于离散对数问题的数字签名 96
8.5.2 基于大整数分解问题的数字签名 99
8.5.3 具有特殊用途的数字签名 100
习题 102
第9章 密码协议 104
9.1 密钥分配 104
9.1.1 Needham-Schroeder协议 105
9.1.2 Kerberos 106
9.2 密钥协商 107
9.2.1 Diffie-Hellman密钥交换协议 107
9.2.2 端到端协议 108
9.3 秘密共享 109
9.3.1 Shamir门限方案 109
9.3.2 可验证秘密共享 110
9.3.3 无可信中心的秘密共享 111
9.4 身份识别 112
9.4.1 身份识别的概念 112
9.4.2 Guillou-Quisquater身份识别方案 112
9.5 零知识证明 113
9.6 签密 115
习题 116
第10章 可证明安全性理论 117
10.1 可证明安全性理论的基本概念 117
10.1.1 公钥加密体制的安全性 117
10.1.2 数字签名体制的安全性 120
10.1.3 随机预言模型与标准模型 122
10.2 可证明安全的公钥加密体制 123
10.2.1 实际加密算法的安全性 123
10.2.2 RSA-OAEP 125
10.2.3 将CPA体制变成CCA2体制 127
10.3 可证明安全的数字签名体制 128
10.3.1 实际签名算法的安全性 128
10.3.2 RSA-PSS 129
习题 130
第11章 基于身份的密码体制 131
11.1 公钥认证方法 131
11.2 基于身份的加密体制 133
11.2.1 双线性配对 133
11.2.2 形式化模型 134
11.2.3 BF方案 136
11.3 基于身份的签名体制 140
11.3.1 形式化模型 140
11.3.2 Hess方案 142
11.3.3 CC方案 143
11.4 基于身份的密钥协商协议 143
11.4.1 Smart协议 143
11.4.2 Shim协议 144
11.5 基于身份的签密体制 145
习题 146
第12章 无证书密码体制 147
12.1 无证书加密体制 147
12.1.1 形式化模型 147
12.1.2 AP方案 150
12.2 无证书签名体制 152
12.2.1 形式化模型 152
12.2.2 ZWXF方案 155
12.3 无证书密钥协商协议 155
12.4 无证书签密体制 157
习题 158
第13章 密码学的新方向 159
13.1 量子密码学 159
13.1.1 Bennett-Brassard量子密钥分配协议 159
13.1.2 量子密码的应用与进展 160
13.2 变量公钥密码 161
13.2.1 多变量公钥密码体制的一般形式 162
13.2.2 MI多变量公钥密码体制 162
13.2.3 彩虹:多层油醋签名体制 164
13.2.4 多变量公钥密码体制的现状 166
13.3 基于格的公钥密码体制 166
13.3.1 数学背景 167
13.3.2 NTRU公钥加密体制 169
13.4 DNA密码学 170
13.4.1 DNA计算 171
13.4.2 DNA加密技术 172
13.4.3 DNA密码发展的趋势 174
习题 175
参考文献 176