《严肃的密码学:实用现代加密术》PDF电子书免费下载

作者:  [瑞士](瑞士)Jean-Philippe Aumasson(让-菲力浦·奥马松)

出版社: 电子工业出版社

出版年: 2021年06月

ISBN: 9787121410864

~~滚到底部有网盘下载链接~~

内容简介

目录

第1章 加密 1
基础知识 1
古典密码 2
凯撒密码 2
维吉尼亚密码 3
密码是如何工作的 4
置换 4
操作模式 5
为什么古典密码不安全 6
完美的加密:一次一密体制 6
一次一密加密过程 7
为什么一次一密安全 8
加密安全性 9
攻击模型 9
安全目标 11
安全概念 12
非对称加密 14
加密之外的密码学 14
认证加密 15
格式保持加密 15
全同态加密 16
可搜索加密 16
可调加密 16
意外如何发生 17
弱密码 17
错误模型 18
拓展阅读 18
第2章 随机性 19
随机与非随机 19
作为概率分布的随机性 20
熵:不确定性的度量指标 21
随机数发生器和伪随机数发生器 22
PRNG如何工作 23
安全问题 23
PRNG Fortuna 24
统计测试不重要 26
现实世界中的PRNG 27
在基于UNIX的系统中生成随机比特 27
Windows中的CryptGenRandom()函数 31
基于硬件的PRNG:英特尔微处理器中的RDRAND 32
意外如何发生 33
熵源不理想 33
启动时熵不足 34
非加密PRNG 35
对强随机性的采样漏洞 35
拓展阅读 36
第3章 密码学中的安全性 37
不可能的定义 37
理论上安全:信息安全性 38
实际安全:计算安全性 38
量化安全性 40
以比特度量安全性 40
全攻击成本 41
选择和评估安全强度 42
安全实现 43
可证明安全性 43
启发式安全性 46
密钥生成 46
生成对称密钥 47
生成非对称密钥 47
保护密钥 48
意外如何发生 49
不正确的安全性证明 49
支持遗留系统的短密钥 49
拓展阅读 50
第4章 分组密码 51
什么是分组密码 51
安全目标 52
分组大小 52
码本攻击 53
如何构造分组密码 53
分组密码的轮数 53
滑动攻击和子密钥 54
替换-置换网络 54
Feistel结构 55
高级加密标准(AES) 56
AES内核 56
使用AES 59
实现AES 60
基于查询表实现 60
原生指令集 61
AES安全吗 62
工作方式 63
电码本模式(ECB) 63
密码分组链接(CBC)模式 65
如何在CBC模式中加密消息 67
计数(CTR)模式 68
意外如何发生 70
中间相遇攻击 70
Padding Oracle攻击 71
拓展阅读 73
第5章 序列密码 75
序列密码的工作原理 76
基于状态转移的和基于计数器的序列密码 76
面向硬件的序列密码 77
反馈移位寄存器 78
Grain-128a算法 84
A5/1算法 85
面向软件的序列密码 88
RC4 89
Salsa20 93
意外如何发生 98
nonce的重复使用 98
破解RC4 98
硬件烧制时的弱密码 100
拓展阅读 101
第6章 哈希函数 103
哈希函数的安全性 104
不可预测性 104
原像攻击抗性 105
抗碰撞性 107
查找碰撞 107
构造哈希函数 109
基于压缩的哈希函数:Merkle?CDamg?rd结构 109
基于置换的哈希函数:海绵函数 112
哈希函数SHA系列 113
SHA-1 113
SHA-2 116
SHA-3竞赛 117
Keccak(SHA-3) 118
BLAKE2哈希函数 120
意外如何发生 122
长度扩展攻击 122
欺骗存储证明协议 122
拓展阅读 123
第7章 带密钥的哈希 125
消息认证码 125
安全通信中的消息认证码 126
伪造和选择消息攻击 126
重放攻击 126
伪随机函数 127
PRF的安全性 127
为什么PRF比MAC更安全 127
从不带密钥的哈希构建带密钥的哈希 128
加秘密前缀的构造方法 128
带秘密后缀的构造方法 129
HMAC的构造方法 129
针对基于哈希的MAC的一般攻击 130
由分组密码构造的带密钥哈希:CMAC 131
破解CBC-MAC 132
修改CBC-MAC 132
专用设计 133
Poly1305 134
SipHash 136
意外如何发生 138
针对MAC认证的计时攻击 138
当海绵结构泄露 140
拓展阅读 141
第8章 认证加密 143
使用MAC的认证加密 143
同时完成加密和MAC 144
先MAC再加密 145
先加密再MAC 145
认证加密 146
使用关联数据的认证加密 146
使用nonce来避免可预测性 147
怎样才是一个好的认证加密算法 147
AES-GCM:认证加密算法标准 149
GCM的内部结构: CTR和GHASH 149
GCM的安全性 151
GCM的效率 152
OCB: 比GCM更快的认证加密算法 152
OCB的内部结构 153
OCB的安全性 154
OCB的效率 154
SIV是安全的认证算法吗 154
基于置换的AEAD 155
意外如何发生 156
AES-GCM和弱哈希密钥 157
AES-GCM和短标签 159
拓展阅读 159
第9章 困难问题 161
计算困难性 161
测量运行时间 162
多项式时间vs超多项式时间 164
复杂度的分类 166
非确定多项式时间 166
NP完全问题 167
P问题vs NP问题 168
因数分解问题 169
实践中的分解大数算法 170
分解算法是NP完全的吗 171
离散对数问题 172
群是什么 172
困难之处 173
意外如何发生 174
容易分解的情况 174
小规模的困难问题并不困难 175
拓展阅读 176
第10章 RSA 179
RSA背后的数学概念 180
RSA陷门置换 181
RSA的密钥生成和安全性 181
RSA加密 183
利用教科书式RSA加密的扩展性进行攻击 183
加强版RSA加密:OAEP 184
RSA签名 186
针对教科书式RSA签名的攻击 186
PSS签名标准 187
全域哈希签名 188
RSA的实现 189
快速求幂算法:平方乘 190
用于更快公钥操作的小指数 192
中国剩余定理 193
意外如何发生 194
针对RSA-CRT的Bellcore攻击 194
共享秘密指数或共享模数 195
拓展阅读 197
第11章 Diffie-Hellman 199
Diffie-Hellman函数 200
Diffie-Hellman问题 201
计算Diffie-Hellman问题 201
决策Diffie-Hellman问题 202
更多的Diffie-Hellman问题 202
密钥协商协议 203
非DH密钥协商协议示例 203
密钥协商协议的攻击模型 204
效能 205
Diffie-Hellman协议 206
匿名Diffie-Hellman协议 206
含身份验证的Diffie-Hellman协议 207
Menezes?CQu?CVanstone(MQV)协议 210
意外如何发生 211
不哈希共享秘密 211
TLS中Diffie?CHellman的历史遗留问题 212
不安全的群参数 212
拓展阅读 213
第12章 椭圆曲线 215
什么是椭圆曲线 216
整数上的椭圆曲线 217
加法点和乘法点 219
椭圆曲线群 222
ECDLP问题 222
椭圆曲线上的Diffie?CHellman密钥协商 223
椭圆曲线上的签名 224
椭圆曲线上的加密 226
曲线的选择 227
NIST曲线 227
曲线25519 228
其他曲线 228
意外如何发生 229
随机性差的ECDSA 229
用另一条曲线破解ECDH 229
拓展阅读 230
第13章 TLS 231
目标应用和要求 232
TLS协议套件 232
TLS和SSL协议家族的简单历史 232
TLS简介 233
证书和证书颁发机构 233
记录协议 236
TLS握手协议 237
TLS 1.3的密码算法 239
TLS 1.3对TLS 1.2的改进 240
降级保护 240
单次往返握手 241
会话恢复 241
TLS安全性的优势 241
认证 242
前向保密性 242
意外如何发生 242
不安全的证书颁发机构 243
不安全的服务器 243
不安全的客户端 243
实现中的缺陷 244
拓展阅读 244
第14章 量子和后量子时代的密码学 247
量子计算机的工作原理 247
量子比特 248
量子门 251
量子加速 253
指数加速和Simon问题 253
Shor算法的威胁 254
Shor算法解决因数分解问题 255
Shor算法和离散对数问题 255
Grover算法 255
为什么制造量子计算机如此困难 257
后量子密码算法 258
基于编码的密码 258
基于格的密码 259
基于多变量的密码 259
基于哈希的密码 261
意外如何发生 262
不明晰的安全水平 262
快进:如果太晚会发生什么 263
实现问题 263
拓展阅读 264
显示部分信息

下载价格:免费
立即下载
登入/注册
知识就是力量
没有账号? 忘记密码?