本书介绍序列密码的设计理念、设计原理和分析技术。以21世纪为时间点,本书将序列密码加密模型分成传统模型和新型模型,介绍各个模型的代表算法,包括蓝牙系统E0加密算法、GSM手机A5加密算法,NESSIE计划候选算法、SNOW系列算法、我国设计的新一代无线移动通信系统标准加密ZUC算法,eSTREAM计划胜出算法Trivium、Grain、MICKEY、Salsa20等典型序列密码算法及其设计特点,以及在NIST-LWC工程第3轮胜出的10个算法中的Grain-128AEAD、TinyJAMBU-128等基于序列密码的认证加密算法,同时介绍针对这些序列密码算法的典型分析方法及最新的攻击结果,以期为密码设计和分析者提供参考和借鉴。
样章试读
目录
- 目录
前言
第1章 概述 1
1.1 序列密码的发展历史 1
1.1.1 维吉尼亚密码 1
1.1.2 “一次一密”密码体制 2
1.1.3 序列密码的设计理念 3
1.1.4 序列密码的传统模型 3
1.2序列密码的研究现状 4
1.2.1 NESSIE计划 4
1.2.2 CRYPTREC计划 5
1.2.3 eSTREAM计划 5
1.2.4 序列密码的应用场合 6
1.2.5 序列密码的分类 6
1.3 序列密码的发展趋势 10
1.3.1 新型序列密码模型的设计与分析 10
1.3.2 序列密码的初始化过程的设计和评估 10
1.3.3 基于序列密码的认证加密算法设计 11
1.4本书结构 11
参考文献 12
第2章 基于线性反馈移位寄存器型序列密码 14
2.1 非线性滤波模型 15
2.1.1 非线性滤波模型描述 15
2.1.2 非线性滤波模型的密码学性质 15
2.1.3 针对Toyocrypt算法的代数攻击 21
2.2 非线性组合模型 27
2.2.1 非线性组合模型介绍 27
2.2.2 Geffe生成器 28
2.2.3 E0算法 35
2.3 钟控模型 43
2.3.1 “停走”型钟控模型 44
2.3.2 A5序列密码算法 47
参考文献 50
第3章 基于非线性移位寄存器型序列密码 53
3.1 Trivium型序列密码 53
3.1.1 Trivium模型介绍 53
3.1.2 Trivium系列算法描述 54
3.1.3 Trivium模型的差分分析 61
3.1.4 Trivium模型的线性分析 68
3.1.5 Trivium模型的代数分析 78
3.1.6 Trivium模型小结 85
3.2 Grain型序列密码 87
3.2.1 Grain模型介绍 87
3.2.2 Grain系列算法描述 88
3.2.3 级联模型的周期性质 93
3.2.4 Grain v0算法的线性逼近攻击 103
3.2.5 Grain算法的弱Key-IV对区分攻击 106
3.2.6 Grain算法的条件差分攻击 109
3.2.7 Grain模型小结 115
3.3 MICKEY型序列密码 115
3.3.1 MICKEY模型介绍 115
3.3.2 MICKEY系列算法描述 116
3.3.3 MICKEY算法的相关密钥攻击 123
3.3.4 MICKEY模型小结 127
参考文献 128
第4章 表驱动型序列密码 132
4.1 概述 132
4.2 单表驱动型序列密码算法 133
4.2.1 RC4序列密码算法介绍 133
4.2.2 RC4变形序列密码算法介绍 134
4.3 多表驱动型序列密码算法134
4.3.1 HC-128序列密码算法介绍 135
4.3.2 Py系列算法介绍 137
4.3.3 针对 Py系列序列密码算法的区分攻击 141
4.4小结 148
参考文献 149
第5章 类分组型序列密码 151
5.1 概述 151
5.2 Salsa20类算法 151
5.2.1 Salsa20算法介绍 151
5.2.2 Chacha20算法介绍 155
5.2.3 Salsa20算法的代数-截断差分分析 157
5.3 LEX算法.176
5.3.1 LEX算法介绍 176
5.3.2 LEX算法的相关密码分析 178
5.4 小结 184
参考文献 185
第6章 面向字操作型序列密码 187
6.1 概述 187
6.2 SNOW 3G算法 188
6.2.1 SNOW 3G算法介绍 188
6.2.2 SNOW 3G算法的猜测确定攻击 190
6.3 SNOW-V和SNOW-Vi算法 191
6.3.1 SNOW-V和SNOW-Vi算法介绍 191
6.3.2 SNOW-V和SNOW-Vi算法的安全性分析现状 194
6.4 ZUC算法 194
6.4.1 ZUC算法介绍 195
6.4.2 ZUC算法的猜测确定攻击 199
6.5 小结 204
参考文献 204
第7章 基于序列密码的认证加密算法 207
7.1 概述 207
7.2 Hummingbird-2算法 207
7.2.1 Hummingbird-2算法介绍 207
7.2.2 Hummingbird-2算法的实时相关密钥攻击 211
7.3 Grain-128a和 Grain-128AEAD算法 221
7.3.1 Grain-128a算法介绍 221
7.3.2 Grain-128a算法的滑动攻击 223
7.3.3 Grain-128 AEAD算法介绍 229
7.4 MORUS算法 234
7.4.1 MORUS算法介绍 234
7.4.2 MORUS算法的完全性分析 238
7.4.3 MORUS算法的差分扩散性质分析 240
7.4.4 MORUS算法的抗碰撞性分析 246
7.5 ACORN算法 254
7.6 TinyJAMBU算法 258
7.6.1 TinyJAMBU-128算法描述 258
7.6.2 TinyJAMBU算法的安全性分析介绍 262
7.7 小结 263
参考文献 264
第8章 序列密码的初始化过程 266
8.1 序列密码初始化过程的分类 266
8.2 序列密码初始化过程的完全性分析 268
8.2.1 完全性分析方法简述 268
8.2.2 判断完全性的通用算法 269
8.2.3 Trivium型密码的完全性分析273
8.3 序列密码初始化过程的差分分析276
8.3.1 差分分析方法简述 276
8.3.2 Loiss序列密码初始化过程的差分分析 277
8.4 小结 289
参考文献 289
附录 292