作者 |
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 |