内容简介
理解密码学的使用场合、误用方式和原因了解什么是哈希,以及哈希的基本属了解块密码(如AES)的算法和模式,以及不当配置的密码为什么容易遭到破解使用消息完整和/或数字签名来保护消息使用现代对称密码,如AES-GCM和ChaCha了解公钥加密的基础知识括ECDSA签名了解如何破解填充不当的RSA加密使用TLS连行通信了解证书的工作原理,熟悉证书锁定和CT日志等能。
目录
第1章 密码学:不仅仅是保密 11.1 设置Python环境 11.2 恺撒的移位密码 21.3 密码学介绍 101.4 密码学的用途 111.5 会出现什么问题呢? 121.6 你不是密码学家 121.7 “跳下悬崖”——互联网 131.8 cryptodoneright.org项目 141.9 小结 14第2章 哈希 172.1 使用hashlib自由哈希 172.2 行一次哈希教育 202.2.1 原像抗 212.2.2 原像抗和_x00B_抗碰撞 262.3 哈希摘要算法 282.4 哈希密码 312.5 破解弱密码 362.6 工作量证明 382.7 小结 41第3章 对称加密:两端使用_x00B_同一个密钥 433.1 加密示例 433.2 什么是加密? 463.3 AES:对称块密码 473.4 ECB不适合我 483.5 想要的:自发的独立 583.5.1 不是区块链 583.5.2 流密码 713.6 密钥和IV管理 753.7 利用可伸缩 793.8 弱密钥,糟糕的管理 873.9 其他加密算法 893.10 finalize () 89第4章 非对称加密:公钥/私钥 914.1 两个密钥的故事 914.2 越来越紧张 924.3 RSA出错 944.4 给发件箱填料 1004.5 是什么让非对称加密_x00B_与众不同? 1044.6 传递填充 1064.6.1 确定的输出 1064.6.2 选择密文攻击 1084.6.3 共模攻击 1114.7 证据在填充物里 1144.8 利用PKCS #1 v1.5填充_x00B_的RSA加密 1174.8.1 步骤1:盲操作 1224.8.2 步骤2:搜索符合_x00B_PKCS的消息 1244.8.3 步骤3:缩小解的_x00B_集合 1284.8.4 步骤4:求解 1314.9 关于RSA的补充说明 1334.9.1 密钥管理 1334.9.2 算法参数 1344.9.3 量子密码 1344.10 小结 135第5章 消息完整、签名和_x00B_证书 1375.1 过于简单的消息验证码 1375.2 MAC、HMAC和CBC- _x00B_MAC 1395.2.1 HMAC 1405.2.2 CBC-MAC 1445.2.3 加密和MAC 1505.3 数字签名:身份验证和_x00B_完整 1515.4 证书:证明公钥的_x00B_所有权 1605.5 证书和信任 1725.6 撤销和私钥保护 1735.7 重放攻击 1745.8 小结 175第6章 结合非对称和对称算法 1776.1 用RSA交换AES密钥 1776.2 不对称和对称:像巧克力_x00B_和花生酱 1806.3 测量RSA的相对能 1816.4 Diffie-Hellman和密钥_x00B_协议 1906.5 Diffie-Hellman和前向_x00B_保密 1956.6 质询-响应协议 2016.7 常见问题 2036.8 一个非对称和对称密钥的_x00B_遗憾示例 2046.9 小结 207第7章 更对称的加密:身份验证 _x00B_加密和Kerberos 2097.1 AES-GCM 2097.2 AES-GCM细节和细微_x00B_差别 2137.3 其他AEAD算法 2167.4 工作网络 2187.5 Kerberos简介 2257.6 小结 246第8章 TLS通信 2478.1 拦截流量 2478.2 数字身份:X.509证书 2528.2.1 X.509字段 2528.2.2 证书签名请求 2548.2.3 在Python中创建密钥、_x00B_CSR和证书 2668.3 TLS 1.2和1.3概述 2708.3.1 介绍“hello” 2728.3.2 客户端身份验证 2748.3.3 推导会话密钥 2758.3.4 切换到新密码 2788.3.5 派生密钥和批量_x00B_数据传输 2798.3.6 TLS 1.3 2838.4 证书验证和建立信任 2858.5 对TLS的已知攻击 2898.5.1 POODLE 2898.5.2 FREAK和Logjam 2898.5.3 Sweet32 2908.5.4 ROBOT 2908.5.5 CRIME、TIME和_x00B_BREACH 2918.5.6 Heartbleed 2918.6 将OpenSSL与Python_x00B_一起用于TLS 2928.7 小结 301参考文献 303




