第1部分 密码学的基本概念第1章 引言 3
1.1 加密与保密性 3
1.2 研究密码学的目的 4
1.3 攻击 5
1.4 密码协议 7
1.5 可证明安全 8
第2章 对称密钥加密体制 11
2.1 流密码 12
2.2 分组密码 14
2.2.1 DES 14
2.2.2 运行模式 17
习题 20
第3章 公钥密码学 22
3.1 公钥密码学基本概念 22
3.2 模算术 24
3.2.1 整数 24
3.2.2 整数模n 25
3.3 RSA 29
3.3.1 密钥生成与加密 29
3.3.2 数字签名 32
3.3.3 对RSA的攻击 33
3.3.4 RSA加密的安全应用 34
3.4 杂凑函数 36
3.4.1 Merkle衍生法 37
3.4.2 杂凑函数的构造 38
3.4.3 概率签名 40
3.5 离散对数 42
3.5.1 ElGamal加密 43
3.5.2 ElGamal签名方案 44
3.5.3 数字签名算法 45
3.6 模平方根 47
3.6.1 Rabin加密 47
3.6.2 Rabin签名方案 49
习题 49
第4章 密码协议 52
4.1 密钥交换和实体认证 52
4.1.1 Kerberos 53
4.1.2 Diffie-Hellman密钥协商 55
4.1.3 密钥交换和相互认证 56
4.1.4 站—站协议 57
4.1.5 公钥管理技术 58
4.2 身份识别方案 60
4.2.1 交互式证明系统 60
4.2.2 简化的Fiat-Shamir身份识别方案 62
4.2.3 零知识 63
4.2.4 Fiat-Shamir身份识别方案 65
4.2.5 Fiat-Shamir签名方案 67
4.3 承诺系统 67
4.3.1 基于平方剩余的承诺系统 68
4.3.2 基于离散对数的承诺系统 70
4.3.3 同态承诺 71
4.4 电子选举 72
4.4.1 秘密共享 72
4.4.2 多机构电子选举方案 74
4.4.3 知识证明 76
4.4.4 非交互式知识证明 78
4.4.5 扩展的多择选举 79
4.4.6 消除信任中心 79
4.5 数字现金 81
4.5.1 盲发行证明 82
4.5.2 公平的电子现金系统 88
4.5.3 潜在的问题 93
习题 94
第2部分 密码协议的分析方法和密码的安全性第5章 概率算法 101
5.1 掷硬币算法 101
5.2 Monte Carlo和Las Vegas算法 105
习题 108
第6章 单向函数和基本假设 111
6.1 概率的标记 111
6.2 离散指数函数 113
6.3 均匀抽样算法 118
6.4 模幂 121
6.5 模平方 123
6.6 二次剩余 124
6.7 单向函数的形式定义 125
6.8 困难核预测 128
习题 132
第7章 单向函数的比特安全性 136
7.1 Exp函数族的比特安全性 136
7.2 RSA函数族的比特安全性 143
7.3 Square函数族的比特安全性 150
习题 154
第8章 单向函数和伪随机性 157
8.1 计算上完善的伪随机比特发生器 157
8.2 姚氏定理 163
习题 167
第9章 可证明安全的加密 170
9.1 经典的信息理论安全性 170
9.2 完善保密性与概率攻击 174
9.3 公钥的一次一密体制 177
9.4 计算上安全的加密体制 179
9.5 密码系统的无条件安全性 185
9.5.1 存储有界模型 185
9.5.2 噪声信道模型 192
习题 192
第10章 可证明安全数字签名 195
10.1 攻击与安全水平 195
10.2 无爪对和抗碰撞的杂凑函数 197
10.3 基于认证树的签名 200
10.4 状态无关签名方案 202
习题 212
附录A 代数与数论 214
A.1 整数 214
A.2 剩余类 219
A.3 中国剩余定理 222
A.4 本原根与离散对数 224
A.5 二次剩余 226
A.6 模平方根 230
A.7 素数与素性检验 233
附录B 概率与信息论 238
B.1 有限概率空间和随机变量 238
B.2 弱大数定理 245
B.3 距离测度 246
B.4 信息论基本概念 250
符号 257
英文原著参考文献 259