编辑推荐
密码算法传奇缔造者重磅作品,首度剖析量子计算与后量子密码学。
内容简介
本书是著名密码算法BLAKE2、SipHash和NORX的创造者、当代应用密码学大师Jean-Philippe Aumasson的中文译本。
正如其名,本书并非浅尝辄止的领域概述,而是全面深入地讨论了密码工程的理论、技术以及进展。
本书面向密码学研究及从业人员,从本书中你不仅能学到密码算法的工作原理,还将学习如何在实际的系统中使用它们。
作者简介
作者Jean-Philippe Aumasson是总部位于瑞士的国际网络安全公司Kudelski Security的首席研究工程师,他在密码学和密码分析领域发表文章40余篇。他设计了广为人知的哈希函数BLAKE2和SipHash,也是Black Hat、DEF CON、Troopers和Infiltrate等信息安全会议上的常客。
章节目录
版权信息
内容简介
序
前言
第1章 加密
基础知识
古典密码
凯撒密码
维吉尼亚密码
密码是如何工作的
置换
操作模式
为什么古典密码不安全
完美的加密:一次一密体制
一次一密加密过程
为什么一次一密安全
加密安全性
攻击模型
安全目标
安全概念
非对称加密
加密之外的密码学
认证加密
格式保持加密
全同态加密
可搜索加密
可调加密
意外如何发生
弱密码算法
错误模型
拓展阅读
第2章 随机性
随机与非随机
作为概率分布的随机性
熵:不确定性的度量指标
随机数发生器和伪随机数发生器
PRNG如何工作
安全问题
PRNG Fortuna
统计测试不重要
现实世界中的PRNG
在基于UNIX的系统中生成随机比特
Windows中的CryptGenRandom()函数
基于硬件的PRNG:英特尔微处理器中的RDRAND
意外如何发生
熵源不理想
启动时熵不足
非加密PRNG
强随机性的采样漏洞
拓展阅读
第3章 密码学中的安全性
不可能的定义
理论上安全:信息安全性
实际上安全:计算安全性
量化安全性
以比特度量安全性
全攻击成本
选择和评估安全强度
安全实现
可证明安全性
启发式安全性
生成密钥
生成对称密钥
生成非对称密钥
保护密钥
意外如何发生
不正确的安全性证明
支持遗留系统的短密钥
拓展阅读
第4章 分组密码
什么是分组密码
安全目标
分组大小
码本攻击
如何构造分组密码
分组密码的轮数
滑动攻击和子密钥
替换-置换网络
Feistel结构
高级加密标准(AES)
AES内核
使用AES
实现AES
基于表的实现
原生指令集
AES安全吗
工作方式
电码本模式(ECB)
密码分组链接(CBC)模式
如何在CBC模式中加密消息
计数(CTR)模式
意外如何发生
中间相遇攻击
Padding Oracle攻击
拓展阅读
第5章 序列密码
序列密码的工作原理
基于状态的和基于计数器的序列密码
面向硬件的序列密码
反馈移位寄存器
Grain-128a算法
A5/1算法
面向软件的序列密码
RC4
Salsa20
意外如何发生
nonce的重复使用
破解RC4
硬件烧制时的弱密码
拓展阅读
第6章 哈希函数
哈希函数的安全性
不可预测性
原像攻击抗性
抗碰撞性
查找碰撞
构造哈希函数
基于压缩的哈希函数:Merkle–Damgård结构
基于置换的哈希函数:海绵函数
哈希函数SHA系列
SHA-1
SHA-2
SHA-3竞赛
Keccak(SHA-3)
BLAKE2哈希函数
意外如何发生
长度扩展攻击
欺骗存储证明协议
拓展阅读
第7章 带密钥的哈希
消息认证码
安全通信中的消息认证码
伪造和选择消息攻击
重放攻击
伪随机函数
PRF的安全性
为什么PRF比MAC更安全
从不带密钥的哈希构建带密钥的哈希
加秘密前缀的构造方法
加秘密后缀的构造方法
HMAC的构造方法
针对基于哈希的MAC的一般攻击
由分组密码构造的带密钥哈希:CMAC
破解CBC-MAC
修改CBC-MAC
专用设计
Poly1305
SipHash
意外如何发生
针对MAC认证的计时攻击
当海绵结构泄露
拓展阅读
第8章 认证加密
使用MAC的认证加密
同时完成加密和MAC
先MAC再加密
先加密再MAC
认证加密
使用关联数据的认证加密
使用nonce来避免可预测性
怎样才是一个好的认证加密算法
AES-GCM:认证加密算法标准
GCM的内部结构:CTR和GHASH
GCM的安全性
GCM的效率
OCB:比GCM更快的认证加密算法
OCB的内部结构
OCB的安全性
OCB的效率
SIV是最安全的认证算法吗
基于置换的AEAD
意外如何发生
AES-GCM和弱哈希密钥
AES-GCM和短标签
拓展阅读
第9章 困难问题
计算困难性
测量运行时间
多项式时间vs超多项式时间
复杂度的分类
非确定多项式时间
NP完全问题
P问题vs NP问题
因数分解问题
实践中的分解大数算法
分解算法是NP完全的吗
离散对数问题
群是什么
困难之处
意外如何发生
容易分解的情况
小规模的困难问题并不困难
拓展阅读
第10章 RSA
RSA背后的数学概念
RSA陷门置换
RSA的密钥生成和安全性
RSA加密
利用教科书式RSA加密的扩展性进行攻击
加强版RSA加密:OAEP
RSA签名
针对教科书式RSA签名的攻击
PSS签名标准
全域哈希签名
RSA的实现
快速求幂算法:平方乘
用于更快公钥操作的小指数
中国剩余定理
意外如何发生
针对RSA-CRT的Bellcore攻击
共享秘密指数或共享模数
拓展阅读
第11章 Diffie-Hellman
Diffie-Hellman函数
Diffie-Hellman问题
计算Diffie-Hellman问题
决策Diffie-Hellman问题
更多的Diffie-Hellman问题
密钥协商协议
非DH密钥协商协议示例
密钥协商协议的攻击模型
效能
Diffie-Hellman协议
匿名Diffie-Hellman协议
含身份验证的Diffie-Hellman协议
Menezes–Qu–Vanstone(MQV)协议
意外如何发生
不哈希共享秘密
TLS中Diffie–Hellman的历史遗留问题
不安全的群参数
拓展阅读
第12章 椭圆曲线
什么是椭圆曲线
整数上的椭圆曲线
加法点和乘法点
椭圆曲线群
ECDLP问题
椭圆曲线上的Diffie–Hellman密钥协商
椭圆曲线上的签名
椭圆曲线上的加密
曲线的选择
NIST曲线
曲线25519
其他曲线
意外如何发生
随机性差的ECDSA
用另一条曲线破解ECDH
拓展阅读
第13章 TLS
目标应用和要求
TLS协议套件
TLS和SSL协议家族的简单历史
TLS简介
证书和证书颁发机构
记录协议
TLS握手协议
TLS 1.3的密码算法
TLS 1.3对TLS 1.2的改进
降级保护
单次往返握手
会话恢复
TLS安全性的优势
认证
前向保密性
意外如何发生
不安全的证书颁发机构
不安全的服务器
不安全的客户端
实现中的缺陷
拓展阅读
第14章 量子和后量子时代的密码学
量子计算机的工作原理
量子比特
量子门
量子加速
指数加速和Simon问题
Shor算法的威胁
Shor算法解决因数分解问题
Shor算法和离散对数问题
Grover算法
为什么制造量子计算机如此困难
后量子密码算法
基于编码的密码
基于格的密码
基于多变量的密码
基于哈希的密码
意外如何发生
不明晰的安全水平
快进:如果太晚会发生什么
实现问题
拓展阅读
严肃的密码学:实用现代加密术是2021年由电子工业出版社出版,作者[瑞士] Jean-Philippe Aumasson。
得书感谢您对《严肃的密码学:实用现代加密术》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。