严肃的密码学:实用现代加密术

作者
Jean-Philippe Aumasson(让-菲力浦·奥马松)
丛书名
出版社
电子工业出版社
ISBN
9787121410864
简要
简介
内容简介书籍计算机书籍 本书是著名密码算法BLAKE2、SipHash和NORX的创造者、当代应用密码学大师Jean-Philippe Aumasson的*力作的中文译本。正如其名,本书并非浅尝辄止的领域概述,而是全面深入地讨论了密码工程的理论、技术以及*进展。本书面向密码学研究及从业人员,从本书中您不仅能学到密码算法的工作原理,还将学习如何在实际的系统中使用它们。
目录
第1章 加密\t1

基础知识\t1

古典密码\t2

凯撒密码\t2

维吉尼亚密码\t3

密码是如何工作的\t4

置换\t4

操作模式\t5

为什么古典密码不安全\t6

完美的加密:一次一密体制\t6

一次一密加密过程\t7

为什么一次一密安全\t8

加密安全性\t9

攻击模型\t9

安全目标\t11

安全概念\t12

非对称加密\t14

加密之外的密码学\t14

认证加密\t15

格式保持加密\t15

全同态加密\t16

可搜索加密\t16

可调加密\t16

意外如何发生\t17

弱密码\t17

错误模型\t18

拓展阅读\t18

第2章 随机性\t19

随机与非随机\t19

作为概率分布的随机性\t20

熵:不确定性的度量指标\t21

随机数发生器和伪随机数发生器\t22

PRNG如何工作\t23

安全问题\t23

PRNG Fortuna\t24

统计测试不重要\t26

现实世界中的PRNG\t27

在基于UNIX的系统中生成随机比特\t27

Windows中的CryptGenRandom()函数\t31

基于硬件的PRNG:英特尔微处理器中的RDRAND\t32

意外如何发生\t33

熵源不理想\t33

启动时熵不足\t34

非加密PRNG\t35

对强随机性的采样漏洞\t35

拓展阅读\t36

第3章 密码学中的安全性\t37

不可能的定义\t37

理论上安全:信息安全性\t38

实际安全:计算安全性\t38

量化安全性\t40

以比特度量安全性\t40

全攻击成本\t41

选择和评估安全强度\t42

安全实现\t43

可证明安全性\t43

启发式安全性\t46

密钥生成\t46

生成对称密钥\t47

生成非对称密钥\t47

保护密钥\t48

意外如何发生\t49

不正确的安全性证明\t49

支持遗留系统的短密钥\t49

拓展阅读\t50

第4章 分组密码\t51

什么是分组密码\t51

安全目标\t52

分组大小\t52

码本攻击\t53

如何构造分组密码\t53

分组密码的轮数\t53

滑动攻击和子密钥\t54

替换-置换网络\t54

Feistel结构\t55

高级加密标准(AES)\t56

AES内核\t56

使用AES\t59

实现AES\t60

基于查询表实现\t60

原生指令集\t61

AES安全吗\t62

工作方式\t63

电码本模式(ECB)\t63

密码分组链接(CBC)模式\t65

如何在CBC模式中加密消息\t67

计数(CTR)模式\t68

意外如何发生\t70

中间相遇攻击\t70

Padding Oracle攻击\t71

拓展阅读\t73

第5章 序列密码\t75

序列密码的工作原理\t76

基于状态转移的和基于计数器的序列密码\t76

面向硬件的序列密码\t77

反馈移位寄存器\t78

Grain-128a算法\t84

A5/1算法\t85

面向软件的序列密码\t88

RC4\t89

Salsa20\t93

意外如何发生\t98

nonce的重复使用\t98

破解RC4\t98

硬件烧制时的弱密码\t100

拓展阅读\t101

第6章 哈希函数\t103

哈希函数的安全性\t104

不可预测性\t104

原像攻击抗性\t105

抗碰撞性\t107

查找碰撞\t107

构造哈希函数\t109

基于压缩的哈希函数:MerkleCDamgrd结构\t109

基于置换的哈希函数:海绵函数\t112

哈希函数SHA系列\t113

SHA-1\t113

SHA-2\t116

SHA-3竞赛\t117

Keccak(SHA-3)\t118

BLAKE2哈希函数\t120

意外如何发生\t122

长度扩展攻击\t122

欺骗存储证明协议\t122

拓展阅读\t123

第7章 带密钥的哈希\t125

消息认证码\t125

安全通信中的消息认证码\t126

伪造和选择消息攻击\t126

重放攻击\t126

伪随机函数\t127

PRF的安全性\t127

为什么PRF比MAC更安全\t127

从不带密钥的哈希构建带密钥的哈希\t128

加秘密前缀的构造方法\t128

带秘密后缀的构造方法\t129

HMAC的构造方法\t129

针对基于哈希的MAC的一般攻击\t130

由分组密码构造的带密钥哈希:CMAC\t131

破解CBC-MAC\t132

修改CBC-MAC\t132

专用设计\t133

Poly1305\t134

SipHash\t136

意外如何发生\t138

针对MAC认证的计时攻击\t138

当海绵结构泄露\t140

拓展阅读\t141

第8章 认证加密\t143

使用MAC的认证加密\t143

同时完成加密和MAC\t144

先MAC再加密\t145

先加密再MAC\t145

认证加密\t146

使用关联数据的认证加密\t146

使用nonce来避免可预测性\t147

怎样才是一个好的认证加密算法\t147

AES-GCM:认证加密算法标准\t149

GCM的内部结构: CTR和GHASH\t149

GCM的安全性\t151

GCM的效率\t152

OCB: 比GCM更快的认证加密算法\t152

OCB的内部结构\t153

OCB的安全性\t154

OCB的效率\t154

SIV是最安全的认证算法吗\t154

基于置换的AEAD\t155

意外如何发生\t156

AES-GCM和弱哈希密钥\t157

AES-GCM和短标签\t159

拓展阅读\t159

第9章 困难问题\t161

计算困难性\t161

测量运行时间\t162

多项式时间vs超多项式时间\t164

复杂度的分类\t166

非确定多项式时间\t166

NP完全问题\t167

P问题vs NP问题\t168

因数分解问题\t169

实践中的分解大数算法\t170

分解算法是NP完全的吗\t171

离散对数问题\t172

群是什么\t172

困难之处\t173

意外如何发生\t174

容易分解的情况\t174

小规模的困难问题并不困难\t175

拓展阅读\t176

第10章 RSA\t179

RSA背后的数学概念\t180

RSA陷门置换\t181

RSA的密钥生成和安全性\t181

RSA加密\t183

利用教科书式RSA加密的扩展性进行攻击\t183

加强版RSA加密:OAEP\t184

RSA签名\t186

针对教科书式RSA签名的攻击\t186

PSS签名标准\t187

全域哈希签名\t188

RSA的实现\t189

快速求幂算法:平方乘\t190

用于更快公钥操作的小指数\t192

中国剩余定理\t193

意外如何发生\t194

针对RSA-CRT的Bellcore攻击\t194

共享秘密指数或共享模数\t195

拓展阅读\t197

第11章 Diffie-Hellman\t199

Diffie-Hellman函数\t200

Diffie-Hellman问题\t201

计算Diffie-Hellman问题\t201

决策Diffie-Hellman问题\t202

更多的Diffie-Hellman问题\t202

密钥协商协议\t203

非DH密钥协商协议示例\t203

密钥协商协议的攻击模型\t204

效能\t205

Diffie-Hellman协议\t206

匿名Diffie-Hellman协议\t206

含身份验证的Diffie-Hellman协议\t207

MenezesCQuCVanstone(MQV)协议\t210

意外如何发生\t211

不哈希共享秘密\t211

TLS中DiffieCHellman的历史遗留问题\t212

不安全的群参数\t212

拓展阅读\t213

第12章 椭圆曲线\t215

什么是椭圆曲线\t216

整数上的椭圆曲线\t217

加法点和乘法点\t219

椭圆曲线群\t222

ECDLP问题\t222

椭圆曲线上的DiffieCHellman密钥协商\t223

椭圆曲线上的签名\t224

椭圆曲线上的加密\t226

曲线的选择\t227

NIST曲线\t227

曲线25519\t228

其他曲线\t228

意外如何发生\t229

随机性差的ECDSA\t229

用另一条曲线破解ECDH\t229

拓展阅读\t230

第13章 TLS\t231

目标应用和要求\t232

TLS协议套件\t232

TLS和SSL协议家族的简单历史\t232

TLS简介\t233

证书和证书颁发机构\t233

记录协议\t236

TLS握手协议\t237

TLS 1.3的密码算法\t239

TLS 1.3对TLS 1.2的改进\t240

降级保护\t240

单次往返握手\t241

会话恢复\t241

TLS安全性的优势\t241

认证\t242

前向保密性\t242

意外如何发生\t242

不安全的证书颁发机构\t243

不安全的服务器\t243

不安全的客户端\t243

实现中的缺陷\t244

拓展阅读\t244

第14章 量子和后量子时代的密码学\t247

量子计算机的工作原理\t247

量子比特\t248

量子门\t251

量子加速\t253

指数加速和Simon问题\t253

Shor算法的威胁\t254

Shor算法解决因数分解问题\t255

Shor算法和离散对数问题\t255

Grover算法\t255

为什么制造量子计算机如此困难\t257

后量子密码算法\t258

基于编码的密码\t258

基于格的密码\t259

基于多变量的密码\t259

基于哈希的密码\t261

意外如何发生\t262

不明晰的安全水平\t262

快进:如果太晚会发生什么\t263

实现问题\t263

拓展阅读\t264

推荐

车牌查询
桂ICP备20004708号-3