第1章 引论 1
1.1 加密与解密 1
1.2 信道、安全与不安全 2
1.2.1 互联网 3
1.2.2 局域网 4
1.2.3 移动电话 4
1.3 隐匿式安全 4
1.4 另一种选择:柯克霍夫原则 6
1.5 密码学分类 7
1.6 对密码系统的攻击 9
1.7 思考题 10
第2章 模算术 11
2.1 凯撒密码 11
2.2 整数“圈” 11
2.3 日常生活中的模算术 12
2.4 同余 13
2.4.1 模7同余 13
2.5 另一个例子:模10同余 14
2.6 同余代换 15
2.6.1 使用代换简化多个数相加 15
2.6.2 使用代换简化多个数相乘 16
2.6.3 舍九法 16
2.7 代表元与余数 18
2.7.1 商和余数 18
2.7.2 利用rem检查两个数是否同余 19
2.7.3 使用rem简化模同余式 20
2.7.4 利用rem简化涉及rem计算的等式 21
2.7.5 负整数的代表元 21
2.8 思考题 21
第3章 加法密码:一个不安全的分组密码 24
3.1 加法密码 25
3.2 分组密码 25
3.3 对加法密码的攻击 27
3.3.1 已知明文攻击 27
3.3.2 唯密文攻击 28
3.4 对使用ECB模式的分组密码的攻击 28
3.5 思考题 29
第4章 函数 30
4.1 基础知识 30
4.2 可逆性 32
4.2.1 一对一和映上 34
4.3 模算术函数 35
4.3.1 模加和加法逆元 35
4.3.2 计算模m加法逆元 35
4.3.3 模乘和乘法逆元 35
4.3.4 计算模7乘法逆元的简单方法 37
4.3.5 乘法逆元不总是存在 37
4.4 函数符号 38
4.5 函数的使用 39
4.6 一个两输入函数:一般化凯撒密码的加密函数 40
4.7 特殊化:将两输入函数转化为单输入函数 40
4.8 思考题 42
第5章 概率论 46
5.1 实验结果 46
5.2 结果的概率 46
5.3 绘制概率分布图 47
5.4 实验结果集合的概率 48
5.5 小结 48
5.6 均匀分布 48
5.7 随机变量 49
5.7.1 基于另一个随机变量定义随机变量 50
5.7.2 随机变量的形式化数学定义 51
5.7.3 随机变量的均匀分布 52
5.8 思考题 52
第6章 完美保密与完美安全的密码系统 57
6.1 窃听者能够从密文中获得什么 57
6.2 密码系统的评估 59
6.3 完美保密与唯一解密性 63
6.4 完美保密简史 64
6.4.1 弗纳姆机器 64
6.4.2 一次性密码本 65
6.5 完美保密密码系统的缺点 66
6.6 思考题 67
第7章 数论 74
7.1 整除 74
7.2 互素 74
7.3 素数 75
7.4 素因子分解 75
7.5 欧拉函数?(x) 76
7.6 乘幂 76
7.6.1 幂指数相加法则 77
7.6.2 幂指数相乘法则 77
7.7 欧拉定理 77
7.8 思考题 78
第8章 欧几里得算法 81
8.1 测量谜题 81
8.1.1 一个更复杂的例子 82
8.2 通过解决测量谜题求模乘法逆元 83
8.3 欧几里得算法 84
8.3.1 欧几里得算法计算什么 84
8.3.2 前向计算 85
8.4 欧几里得算法的后向部分 87
8.5 欧几里得卡片 89
8.6 欧几里得算法教会我们什么 94
8.7 思考题 95
第9章 完美保密的某些应用 96
9.1 秘密分享与完美保密 96
9.2 门限秘密分享 97
9.3 消息认证码 100
9.4 思考题 101
第10章 计算问题:易解和难解 107
10.1 计算问题 107
10.2 算法 108
10.2.1 模幂运算的重复-平方算法 108
10.3 预测一个算法需要的计算机执行步数 109
10.4 快速算法和慢速算法:容易问题和困难问题 110
10.4.1 计算问题和密码学 111
10.5 思考题 111
第11章 模乘幂、模对数和单向函数 117
11.1 单向函数在口令安全中的应用 120
11.1.1 针对使用单向函数的口令文件的字典攻击 121
11.1.2 为口令文件“掺盐” 122
11.2 单向函数在登录中的应用:s/key 123
11.3 单向函数在承诺中的应用/误用 124
11.3.1 不隐藏 125
11.3.2 不绑定 126
11.4 思考题 127
第12章 Diffie-Hellman指数密钥协商协议 130
12.1 动机 130
12.2 背景 130
12.3 协议 131
12.4 安全 131
12.5 中间人攻击 132
12.6 思考题 133
第13章 计算安全的单钥密码系统 134
13.1 现实世界中安全的分组密码 134
13.2 密文分组链 135
13.3 指数密码 136
13.4 如何寻找大素数 138
13.5 思考题 139
第14章 公钥密码系统和数字签名 142
14.1 公钥密码系统 142
14.2 El Gamal密码系统 143
14.3 关于El Gamal密码系统的更多说明 144
14.4 实践中的公钥密码 145
14.5 签名 145
14.6 陷门单向函数及其在公钥加密和数字签名中的应用 146
14.7 RSA陷门单向函数 147
14.8 RSA公钥密码系统 148
14.9 RSA数字签名方案 148
14.10 消息摘要函数 148
14.11 消息摘要函数在承诺中的应用 149
14.12 思考题 150
延伸阅读 155
索引 156