第一篇 密码函数与信息泄露 1
第1章 密码体制的安全性 2
1.1 密码体制与密码函数 2
1.2 密码体制的安全性之一完善保密性 3
1.3 密码体制的安全性之二计算安全性 5
1.4 完善保密性与计算安全性的比较 5
1.5 完善保密性的获得密钥协商 6
1.5.1 优先提取 6
1.5.2 信息协调 9
1.5.3 保密增强 10
1.6 优先提取与优先退化 11
1.7 存在主动攻击时的保密增强 14
参考文献 14
第2章 相关免疫函数 16
2.1 相关免疫布尔函数及其基本性质 16
2.2 相关免疫阶与代数次数的相互制约 17
2.3 相关免疫布尔函数的构造和计数 19
2.3.1 结构定理 19
2.3.2 一阶相关免疫布尔函数的构造和计数 20
2.3.3 高阶相关免疫布尔函数的构造和计数 22
2.4 布尔函数的广义相关免疫性 23
2.5 GF(q)上的相关免疫函数 24
参考文献 29
第3章 弹性函数 30
3.1 弹性函数及其基本性质 30
3.2 弹性函数的存在性与惟一性 32
3.3 弹性函数的构造 33
3.4 仿射函数的弹性阶 36
3.5 弹性阶上确界与代数次数的关系 37
参考文献 40
第4章 非线性性 41
4.1 布尔函数的非线性度和线性度 41
4.2 布尔函数非线性度与相关免疫阶的关系 43
4.3 高度非线性布尔函数 Bent 函数 43
4.4 高度非线性均衡布尔函数的构造 46
4.4.1 n=2m 47
4.4.2 n=2m(2s+1),s 为奇数 48
4.4.3 n 为奇数 48
4.5 特征为2的域上的多输出函数的非线性性 48
4.6 一般有限域上的函数的非线性性 52
参考文献 55
第5章 密码函数的其它安全性设计 56
5.1 差分分布 56
5.2 特殊的差分分布:雪崩与扩散 57
5.3 高阶差分分布 58
5.4 高阶自相关性 59
5.5 正形置换 60
5.6 全距置换 61
参考文献 62
第二篇 序列密码 63
6.1 序列的线性复杂度和最小周期 64
第6章 序列密码的基础理论 64
6.2 序列的根表示和迹表示 68
6.3 和序列与乘积序列 70
6.4 m-序列及其密码学特性 73
6.5 密钥序列的稳定性 76
6.6 线性递归序列的综合 77
6.6.1 B-M 算法 78
6.6.2 Games-Chan 算法 79
6.7 序列密码的研究现状简述 79
6.7.1 伪随机序列的生成现状 79
6.7.3 序列密码的某些非主流问题 80
6.7.2 对序列密码的攻击现状 80
参考文献 81
第7章 前馈序列 82
7.1 Bent 序列 82
7.2 几何序列 86
7.3 几何序列之例一 GMW 序列 88
7.4 几何序列之例二瀑布型 GMW 序列 89
7.5 No 序列 92
参考文献 94
8.1 对数序列的定义、定理 96
第8章 对数序列 96
8.2 对数序列之例一 Legendre 序列 99
8.3 对数序列之例二 R 为奇素数 101
8.4 对数序列之例三 R 为2的幂 102
8.5 对数序列的推广广义 Jacobi 序列 105
参考文献 107
第9章 钟控序列 108
9.1 Jennings 复合序列 108
9.2 停-走生成器 114
9.3 Gunther 生成器 116
9.4 缩减序列互缩序列 117
9.6 缩减序列广义自缩序列 119
9.5 缩减序列自缩序列 119
9.7 广义自缩序列的特例 126
参考文献 133
第10章 稀疏序列 134
10.1 稀疏序列与信息隐藏 134
10.2 自缩乘积序列与自扩序列 135
10.3 基于 GF(q)上 m-序列的稀疏序列 136
10.4 基于乘方剩余符号的稀疏序列 140
参考文献 142
第三篇 分组密码 143
第11章 分组密码的设计与安全性 144
11.1 分组密码的设计准则 144
11.1.1 安全性 144
11.1.2 简捷性 145
11.2 分组密码的设计技巧 146
11.1.5 加解密相似性 146
11.2.1 计算部件 146
11.1.3 有效性 146
11.1.4 透明性和灵活性 146
11.2.2 计算部件的组合 148
11.2.3 关于密钥长度 150
11.3 分组密码的工作模式 150
11.4 典型攻击方法 152
11.4.1 朴素的攻击:穷举搜索 152
11.4.2 差分密码分析 153
11.4.4 计时攻击和能量攻击 155
11.5 分组密码的随机算法 155
11.4.3 线性密码分析 155
参考文献 156
第12章 分组密码 DES 157
12.1 DES 概述 157
12.2 DES 的计算部件 158
12.2.1 初始置换 IP 与其逆置换 IP-1 158
12.2.2 扩充变换 E 158
12.2.3 8个 S 盒S1、S2、…、S8 159
12.2.4 置换 P 160
12.3 DES 的加密算法和解密算法 160
12.4 DES 的 C-源程序代码 162
12.5 DES 的安全性 175
12.6 对 DES 的差分密码分析 176
参考文献 179
第13章 各种分组密码设计方案 180
13.1 分组密码 IDEA 180
13.2 IDEA 的 C-源程序代码 182
13.3 RC5与 RC6 191
13.4 RC5与 RC6的 C-源程序 194
13.5 Feistel 网络的变形 201
13.6 分组密码 Twofish 简介 202
13.7 Twofish 的 C-源程序 205
参考文献 216
14.1 AES 竞争过程及 RIJNDAEL 概述 217
第14章 AES 算法(RIJNDAEL) 217
14.2 RIJNDAEL 的数学基础和设计思想 218
14.2.1 有限域 GF(2?) 218
14.2.2 系数在GF(2?)上的多项式 218
14.2.3 设计思想 220
14.3 算法说明 220
14.3.1 状态、密钥种子和轮数 220
14.3.2 轮函数 221
14.3.3 密钥扩展 223
14.3.5 加解密的相近程度/解密算法 225
14.3.4 RIJNDAEL 密码的加密算法 225
14.4.1 8位处理器 227
14.4.2 32位处理器 227
14.4 实现方面 227
14.4.3 并行性 228
14.4.4 解密算法的实现 229
14.4.5 硬件适应性 229
14.5 设计选择的诱因以及安全性分析 229
14.6 RIJNDAEL 的 C-源程序代码 231
参考文献 240
15.1 SAFER+概述 242
第15章 分组密码 SAFER+及其变形 242
15.2 SAFER+的 C-源程序代码 245
15.3 SAFER+M 算法描述 255
15.4 SAFER+M 与 SAFER+计算量和数据量的比较 257
15.5 SAFER+M 的加解密相似性 258
15.6 SAFER+M 的安全性 260
15.6.1 线性层的扩散性能:与 SAFER+比较 260
15.6.2 SAFER+M 的差分密码分析 262
参考文献 263