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

严肃的密码学:实用现代加密术
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [瑞士] (让-菲力浦·奥马松)
2021-06
版次: 1
ISBN: 9787121410864
定价: 99.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 264页
字数: 378.000千字
  • 本书是著名密码算法BLAKE2、SipHash和NORX的创造者、当代应用密码学大师Jean-Philippe Aumasson的*力作的中文译本。正如其名,本书并非浅尝辄止的领域概述,而是全面深入地讨论了密码工程的理论、技术以及*进展。本书面向密码学研究及从业人员,从本书中您不仅能学到密码算法的工作原理,还将学习如何在实际的系统中使用它们。 Jean-Philippe Aumasson是总部位于瑞士的国际网络安全公司Kudelski Security的首席研究工程师,他在密码学和密码分析领域发表文章40余篇。他设计了广为人知的哈希函数BLAKE2和SipHash,也是Black Hat、DEF CON、Troopers和Infiltrate等信息安全会议上的常客。

    陈华瑾,信息工程大学网络空间安全学院副教授,2013年获得密码学博士学位。长期从事密码学教学与科研工作,研究方向是对称密码设计与分析。俞少华,公安部第三研究所信息网络安全公安部重点实验室网络安全专家,2007年硕士毕业于浙江大学数学系,一直从事网络安全工作,在网络攻击与防御、网络安全事件取证溯源和密码学领域有着深入研究。 第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
  • 内容简介:
    本书是著名密码算法BLAKE2、SipHash和NORX的创造者、当代应用密码学大师Jean-Philippe Aumasson的*力作的中文译本。正如其名,本书并非浅尝辄止的领域概述,而是全面深入地讨论了密码工程的理论、技术以及*进展。本书面向密码学研究及从业人员,从本书中您不仅能学到密码算法的工作原理,还将学习如何在实际的系统中使用它们。
  • 作者简介:
    Jean-Philippe Aumasson是总部位于瑞士的国际网络安全公司Kudelski Security的首席研究工程师,他在密码学和密码分析领域发表文章40余篇。他设计了广为人知的哈希函数BLAKE2和SipHash,也是Black Hat、DEF CON、Troopers和Infiltrate等信息安全会议上的常客。

    陈华瑾,信息工程大学网络空间安全学院副教授,2013年获得密码学博士学位。长期从事密码学教学与科研工作,研究方向是对称密码设计与分析。俞少华,公安部第三研究所信息网络安全公安部重点实验室网络安全专家,2007年硕士毕业于浙江大学数学系,一直从事网络安全工作,在网络攻击与防御、网络安全事件取证溯源和密码学领域有着深入研究。
  • 目录:
    第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
查看详情
您可能感兴趣 / 更多
严肃的密码学:实用现代加密术
富兰克林盆底疗法:骨盆与盆底的解剖学认知及盆底康复训练
[瑞士]埃里克·富兰克林 著;庄仲华 译
严肃的密码学:实用现代加密术
造型基础(包豪斯学院的基础课程)
[瑞士]约翰内斯·伊顿 著
严肃的密码学:实用现代加密术
伊顿经典基础设计教程(色彩艺术+造型基础)
[瑞士]约翰内斯·伊顿 著
严肃的密码学:实用现代加密术
童话的心理分析[新知141]
[瑞士]维蕾娜·卡斯特 著;林敏雅 译;陈瑛 修订
严肃的密码学:实用现代加密术
生产设备和设计—施工合同条件(原书2017年版)
[瑞士]国际咨询工程师联合会(Internationa
严肃的密码学:实用现代加密术
心喜阅绘本馆:小蜘蛛斯巴达克斯(平)
[瑞士]艾丁尼·德拉瑟(Etienne Delessert)
严肃的密码学:实用现代加密术
设计、施工和运营合同条件
[瑞士]国际咨询工程师联合会(Internationa
严肃的密码学:实用现代加密术
魔法森林的夜晚(精)/海豚绘本花园
[瑞士]艾文琳·哈斯勒 著;曾璇 译
严肃的密码学:实用现代加密术
国际投资法:文本、案例及资料(第三版)
[瑞士]克里斯塔·纳达尔夫卡伦·舍费尔(Krista Nadakavukaren Schefer)
严肃的密码学:实用现代加密术
牙周-正畸临床综合诊疗思维与实践
[瑞士]西奥多·埃 利亚德斯(Theodore Eliades) (瑞士)克里斯特斯·卡特萨 洛斯(Christos Katsaros) 主编;林 珊 主译
严肃的密码学:实用现代加密术
给宝宝的区块链/宝宝大学系列
[瑞士]马可·托马米高 著;[加拿大]克里斯·费利、冉升 译
严肃的密码学:实用现代加密术
青光眼诊断与治疗学(原书第2版)
[瑞士]Tarek M. Shaarawy (美) Mark B. Sherwood