关于我们
书单推荐
新书推荐
|
密码编码学与网络安全――原理与实践(第八版)
本书系统地介绍了密码编码学与网络安全的基本原理和应用技术。全书分六部分:背景知识部分介绍信息与网络安全概念、数论基础;对称密码部分讨论传统加密技术、分组密码和数据加密标准、有限域、高级加密标准、分组加密工作模式、随机位生成和流密码;非对称密码部分讨论公钥密码学与RSA、其他公钥密码体制;密码学数据完整性算法部分讨论密码学哈希函数、消息认证码、数字签名、轻量级密码和后量子密码;互信部分讨论密钥管理和分发、用户认证;网络和因特网安全部分讨论传输层安全、无线网络安全、电子邮件安全、IP安全、网络端点安全、云计算、物联网安全。附录A讨论线性代数的基本概念,附录B讨论保密性和安全性度量,附录C介绍数据加密标准,附录D介绍简化AES,附录E介绍生日攻击的数学基础。本书可作为高校计算机、网络空间安全、信息安全、软件工程等专业高年级本科生和研究生的教材,也可供计算机、通信、电子工程等领域的科研人员参考。
William Stallings,出版了18部教材,算上修订版,在计算机安全、计算机网络和计算机体系结构等领域共出版了70多本书籍。他的著作多次出现在各种期刊上,包括《IEEE进展》《ACM计算评论》和《密码术》。他13次获得美国“教材和著作家协会”颁发的“年度最佳计算机科学教材”奖。
陈晶,博士,武汉大学国家网络安全学院教授,博士生导师。中国计算机学会会员、中国密码学会会员,研究方向为网络安全、分布式系统安全。主持国家自然科学基金重点项目1项,国家重点研发计划课题1项,国家自然科学基金4项,湖北省自然科学基金2项,华为预研基金1项,中国信息安全测评中心项目1项,教育部重点实验室开放基金1项。
目 录
第一部分 背景知识 第1章 信息与网络安全概念\t2 学习目标\t2 1.1 网络空间安全、信息安全与网络安全\t2 1.1.1 安全目标\t2 1.1.2 信息安全的挑战\t3 1.2 OSI安全架构\t4 1.3 安全攻击\t5 1.3.1 被动攻击\t5 1.3.2 主动攻击\t6 1.4 安全服务\t7 1.4.1 认证\t7 1.4.2 访问控制\t7 1.4.3 数据保密性\t7 1.4.4 数据完整性\t8 1.4.5 不可否认性\t8 1.4.6 可用性服务\t8 1.5 安全机制\t8 1.6 密码学\t9 1.6.1 无密钥算法\t9 1.6.2 单密钥算法\t10 1.6.3 双密钥算法\t10 1.7 网络安全\t10 1.7.1 通信安全\t11 1.7.2 设备安全\t11 1.8 信任与可信度\t12 1.8.1 信任模型\t12 1.8.2 信任模型和信息安全\t13 1.8.3 建立信任关系\t13 1.9 标准\t14 1.10 关键术语、思考题和习题\t14 第2章 数论基础\t17 学习目标\t17 2.1 整除性和带余除法\t17 2.1.1 整除性\t17 2.1.2 带余除法\t18 2.2 欧几里得算法\t19 2.2.1 最大公因子\t19 2.2.2 求最大公因子\t19 2.3 模运算\t21 2.3.1 模\t21 2.3.2 同余的性质\t22 2.3.3 模算术运算\t22 2.3.4 模运算的性质\t23 2.3.5 欧几里得算法回顾\t25 2.3.6 扩展欧几里得算法\t26 2.4 素数\t27 2.5 费马定理和欧拉定理\t29 2.5.1 费马定理\t29 2.5.2 欧拉函数\t30 2.5.3 欧拉定理\t31 2.6 素性测试\t32 2.6.1 Miller-Rabin算法\t32 2.6.2 一个确定性的素性判定算法\t34 2.6.3 素数分布\t34 2.7 中国剩余定理\t34 2.8 离散对数\t35 2.8.1 模n的整数幂\t35 2.8.2 模算术对数\t38 2.8.3 离散对数的计算\t39 2.9 关键术语、思考题和习题\t40 附录2A mod的含义\t43 2A.1 二元运算符mod\t43 2A.2 同余关系mod\t43 第二部分 对称密码 第3章 传统加密技术\t44 学习目标\t44 3.1 对称密码模型\t44 3.1.1 密码编码学\t46 3.1.2 密码分析学和穷举攻击\t46 3.2 代替技术\t48 3.2.1 Caesar密码\t48 3.2.2 单表代替密码\t49 3.2.3 Playfair密码\t51 3.2.4 Hill密码\t53 3.2.5 多表代替加密\t55 3.2.6 一次一密\t57 3.3 置换技术\t58 3.4 关键术语、思考题和习题\t59 第4章 分组密码和数据加密标准\t64 学习目标\t64 4.1 传统分组密码结构\t64 4.1.1 流密码与分组密码\t64 4.1.2 Feistel密码结构的设计动机\t65 4.1.3 Feistel密码\t67 4.2 数据加密标准\t71 4.2.1 DES加密\t71 4.2.2 DES解密\t72 4.3 DES的一个例子\t72 4.3.1 结果\t72 4.3.2 雪崩效应\t73 4.4 DES的强度\t74 4.4.1 56位密钥的使用\t74 4.4.2 DES算法的性质\t74 4.4.3 计时攻击\t75 4.5 分组密码的设计原理\t75 4.5.1 迭代轮数\t75 4.5.2 函数F的设计\t76 4.5.3 密钥扩展算法\t76 4.6 关键术语、思考题和习题\t76 第5章 有限域\t79 学习目标\t79 5.1 群\t79 5.1.1 群的性质\t80 5.1.2 交换群\t80 5.1.3 循环群\t80 5.2 环\t81 5.3 域\t81 5.4 有限域GF(p)\t82 5.4.1 阶为p的有限域\t82 5.4.2 在有限域GF(p)中求乘法逆元\t83 5.4.3 小结\t84 5.5 多项式运算\t84 5.5.1 普通多项式运算\t85 5.5.2 系数在Zp中的多项式运算\t86 5.5.3 求最大公因式\t88 5.5.4 小结\t89 5.6 有限域GF(2n)\t89 5.6.1 动机\t89 5.6.2 多项式模运算\t91 5.6.3 求乘法逆元\t92 5.6.4 计算上的考虑\t93 5.6.5 使用生成元\t95 5.6.6 小结\t97 5.7 关键术语、思考题和习题\t97 第6章 高级加密标准\t99 学习目标\t99 6.1 有限域算术\t99 6.2 AES的结构\t100 6.2.1 基本结构\t100 6.2.2 详细结构\t103 6.3 AES的变换函数\t105 6.3.1 字节代替变换\t105 6.3.2 行移位变换\t109 6.3.3 列混淆变换\t110 6.3.4 轮密钥加变换\t112 6.4 AES的密钥扩展\t113 6.4.1 密钥扩展算法\t113 6.4.2 基本原理\t114 6.5 一个AES的例子\t114 6.5.1 结果\t115 6.5.2 雪崩效应\t117 6.6 AES的实现\t118 6.6.1 等价的逆算法\t118 6.6.2 实现方面\t119 6.7 关键术语、思考题和习题\t121 附录6A 系数在GF(28)中的多项式\t122 附录6A.1 列混淆变换\t124 附录6A.2 乘以x\t124 第7章 分组加密工作模式\t125 学习目标\t125 7.1 多重加密和三重DES\t125 7.1.1 双重DES\t125 7.1.2 使用两个密钥的三重DES\t127 7.1.3 使用三个密钥的三重DES\t128 7.2 电码本模式\t129 7.3 密文分组链接模式\t130 7.4 密码反馈模式\t132 7.5 输出反馈模式\t133 7.6 计数器模式\t135 7.7 面向分组存储设备的XTS-AES模式\t137 7.7.1 可调整分组密码\t137 7.7.2 存储加密要求\t138 7.7.3 单个分组的运算\t139 7.7.4 扇区上的运算\t140 7.8 保留格式加密\t141 7.8.1 研究动机\t142 7.8.2 FPE设计的难点\t142 7.8.3 保留格式加密的Feistel结构\t143 7.8.4 保留格式加密的NIST方法\t146 7.9 关键术语、思考题和习题\t151 第8章 随机位生成和流密码\t155 学习目标\t155 8.1 伪随机数生成的原理\t155 8.1.1 随机数的用途\t156 8.1.2 TRNG、PRNG和PRF\t156 8.1.3 PRNG的要求\t157 8.1.4 算法设计\t159 8.2 伪随机数生成器\t159 8.2.1 线性同余生成器\t159 8.2.2 BBS生成器\t160 8.3 使用分组密码生成伪随机数\t161 8.3.1 使用分组加密工作模式的 PRNG\t161 8.3.2 NIST CTR_DRBG\t163 8.4 流密码\t164 8.5 RC4\t166 8.5.1 初始化S\t166 8.5.2 流生成\t166 8.5.3 RC4的强度\t167 8.6 使用反馈移位寄存器的流密码\t167 8.6.1 线性反馈移位寄存器\t168 8.6.2 非线性反馈移位寄存器\t170 8.6.3 Grain-128a\t171 8.7 真随机数生成器\t173 8.7.1 熵源\t173 8.7.2 PRNG和TRNG的比较\t173 8.7.3 调节\t174 8.7.4 健康测试\t175 8.7.5 英特尔数字随机数生成器\t176 8.8 关键术语、思考题和习题\t178 第三部分 非对称密码 第9章 公钥密码学与RSA\t182 学习目标\t182 9.1 公钥密码体制的原理\t183 9.1.1 公钥密码体制\t183 9.1.2 公钥密码体制的应用\t187 9.1.3 公钥密码的要求\t187 9.1.4 公钥密码分析\t188 9.2 RSA算法\t189 9.2.1 RSA算法描述\t189 9.2.2 计算问题\t191 9.2.3 RSA的安全性\t194 9.3 关键术语、思考题和习题\t197 第10章 其他公钥密码体制\t201 学习目标\t201 10.1 Diffie-Hellman密钥交换\t201 10.1.1 算法\t201 10.1.2 密钥交换协议\t203 10.1.3 中间人攻击\t203 10.2 ElGamal密码体制\t204 10.3 椭圆曲线算术\t206 10.3.1 交换群\t207 10.3.2 实数域上的椭圆曲线\t207 10.3.3 Zp上的椭圆曲线\t209 10.3.4 GF(2m)上的椭圆曲线\t211 10.4 椭圆曲线密码学\t212 10.4.1 用椭圆曲线密码实现 Diffie-Hellman密钥交换\t212 10.4.2 椭圆曲线加密/解密\t213 10.4.3 椭圆曲线密码的安全性\t214 10.5 关键术语、思考题和习题\t214 第四部分 密码学数据完整性算法 第11章 密码学哈希函数\t218 学习目标\t218 11.1 密码学哈希函数的应用\t218 11.1.1 消息认证\t219 11.1.2 数字签名\t221 11.1.3 其他应用\t221 11.2 两个简单的哈希函数\t222 11.3 要求与安全性\t223 11.3.1 密码学哈希函数的安全要求\t223 11.3.2 穷举攻击\t225 11.3.3 密码分析\t226 11.4 安全哈希算法\t227 11.4.1 SHA-512逻辑\t228 11.4.2 SHA-512轮函数\t230 11.4.3 示例\t232 11.5 SHA-3\t234 11.5.1 海绵结构\t234 11.5.2 SHA-3迭代函数f\t237 11.6 关键术语、思考题和习题\t242 第12章 消息认证码\t245 学习目标\t245 12.1 消息认证要求\t245 12.2 消息认证函数\t246 12.2.1 消息加密\t246 12.2.2 消息认证码\t249 12.3 消息认证码的要求\t251 12.4 MAC的安全性\t252 12.4.1 穷举攻击\t252 12.4.2 密码分析\t253 12.5 基于哈希函数的MAC:HMAC\t253 12.5.1 HMAC设计目标\t253 12.5.2 HMAC算法\t254 12.5.3 HMAC的安全性\t255 12.6 基于分组密码的MAC:DAA和 CMAC\t255 12.6.1 数据认证算法\t255 12.6.2 基于密码的消息认证码 (CMAC)\t256 12.7 认证加密:CCM和GCM\t258 12.7.1 使用分组密码链接?消息认证码 的计数器\t258 12.7.2 Galois/计数器模式\t260 12.8 密钥封装\t262 12.8.1 应用背景\t262 12.8.2 密钥封装算法\t263 12.8.3 密钥解封\t265 12.9 使用哈希函数和MAC的伪随机数 生成器\t266 12.9.1 基于哈希函数的PRNG\t266 12.9.2 基于MAC函数的PRNG\t266 12.10 关键术语、思考题和习题\t267 第13章 数字签名\t270 学习目标\t270 13.1 数字签名概述\t271 13.1.1 性质\t271 13.1.2 攻击和伪造\t271 13.1.3 数字签名要求\t272 13.1.4 直接数字签名\t272 13.2 ElGamal数字签名方案\t272 13.3 Schnorr数字签名方案\t274 13.4 NIST数字签名算法\t274 13.4.1 DSA方法\t274 13.4.2 数字签名算法\t275 13.5 椭圆曲线数字签名算法\t277 13.5.1 全局域参数\t277 13.5.2 密钥生成\t277 13.5.3 数字签名的生成与认证\t277 13.6 RSA-PSS数字签名算法\t278 13.6.1 掩蔽生成函数\t279 13.6.2 签名操作\t280 13.6.3 签名验证\t281 13.7 关键术语、思考题和习题\t282 第14章 轻量级密码和后量子密码\t285 学习目标\t285 14.1 轻量级密码的概念\t285 14.1.1 嵌入式系统\t285 14.1.2 资源受限设备\t286 14.1.3 轻量级密码的限制类别\t287 14.1.4 各种应用的安全考虑\t287 14.1.5 设计折中\t288 14.1.6 安全要求\t288 14.2 轻量级密码算法\t291 14.2.1 带有关联数据的认证加密\t291 14.2.2 哈希函数\t293 14.2.3 消息认证码\t295 14.2.4 非对称密码算法\t297 14.3 后量子密码的概念\t297 14.3.1 量子计算\t297 14.3.2 Shor因子分解算法\t297 14.3.3 Grover算法\t298 14.3.4 密码生命期\t299 14.3.5 量子计算环境下的安全性\t301 14.4 后量子密码算法\t301 14.4.1 格密码算法\t302 14.4.2 编码密码算法\t304 14.4.3 多变量多项式密码算法\t305 14.4.4 哈希签名算法\t306 14.5 关键术语和思考题\t308 第五部分 互信 第15章 密钥管理和分发\t310 学习目标\t310 15.1 使用对称加密的对称密钥分发\t310 15.1.1 密钥分发方案\t310 15.1.2 第三方密钥分发方案\t311 15.1.3 密钥层次\t312 15.2 使用非对称加密的对称密钥分发\t312 15.2.1 简单的密钥分发方案\t312 15.2.2 确保保密性和认证的密钥 分发方案\t313 15.3 公钥分发\t314 15.3.1 公钥的公开发布\t314 15.3.2 公开可访问的目录\t315 15.3.3 公钥授权\t315 15.3.4 公钥证书\t316 15.4 X.509证书\t317 15.4.1 证书\t318 15.4.2 X.509版本3\t321 15.5 公钥基础设施\t322 15.6 关键术语、思考题和习题\t324 第16章 用户认证\t327 学习目标\t327 16.1 远程用户认证原理\t327 16.1.1 NIST电子身份认证模型\t327 16.1.2 认证方式\t329 16.1.3 多因素认证\t329 16.1.4 双向认证\t330 16.2 使用对称加密的远程用户认证\t331 16.2.1 双向认证\t331 16.3 Kerberos\t333 16.3.1 Kerberos的动机\t333 16.3.2 Kerberos版本4\t334 16.3.3 Kerberos版本5\t340 16.4 使用非对称加密的远程用户认证\t342 16.4.1 双向认证\t342 16.4.2 单向认证\t343 16.5 联合身份管理\t344 16.5.1 身份管理\t344 16.5.2 身份联合\t345 16.6 关键术语、思考题和习题\t346 第六部分 网络和因特网安全 第17章 传输层安全\t350 学习目标\t350 17.1 Web安全性考虑\t350 17.1.1 Web安全威胁\t350 17.1.2 网络流量安全方法\t351 17.2 传输层安全\t351 17.2.1 TLS架构\t352 17.2.2 TLS记录协议\t353 17.2.3 修改密码规范协议\t354 17.2.4 警报协议\t355 17.2.5 握手协议\t355 17.2.6 密码计算\t358 17.2.7 SSL/TLS攻击\t360 17.2.8 TLS v1.3\t361 17.3 HTTPS\t361 17.3.1 连接初始化\t361 17.3.2 连接关闭\t362 17.4 SSH\t362 17.4.1 传输层协议\t363 17.4.2 用户认证协议\t365 17.4.3 连接协议\t366 17.5 思考题和习题\t369 第18章 无线网络安全\t371 学习目标\t371 18.1 无线安全\t371 18.1.1 无线网络威胁\t372 18.1.2 无线安全措施\t372 18.2 移动设备安全\t373 18.2.1 安全威胁\t373 18.2.2 移动设备安全策略\t374 18.3 IEEE 802.11无线局域网概述\t375 18.3.1 Wi-Fi联盟\t376 18.3.2 IEEE 802协议架构\t376 18.3.3 IEEE 802.11网络构成和 架构模型\t377 18.3.4 IEEE 802.11服务\t378 18.4 IEEE 802.11i无线局域网安全\t379 18.4.1 IEEE 802.11i服务\t380 18.4.2 IEEE 802.11i操作阶段\t381 18.4.3 发现阶段\t382 18.4.4 认证阶段\t383 18.4.5 密钥管理阶段\t384 18.4.6 安全数据传输阶段\t387 18.4.7 IEEE 802.11i伪随机函数\t387 18.5 关键术语、思考题和习题\t388 第19章 电子邮件安全\t390 学习目标\t390 19.1 因特网邮件架构\t390 19.1.1 电子邮件组件\t390 19.1.2 邮件协议\t391 19.2 邮件格式\t392 19.2.1 RFC 5322\t392 19.2.2 MIME\t393 19.3 电子邮件威胁与综合安全\t395 19.4 S/MIME\t397 19.4.1 操作描述\t397 19.4.2 S/MIME消息内容类型\t400 19.4.3 S/MIME消息\t401 19.4.4 S/MIME证书处理过程\t403 19.4.5 安全性增强服务\t403 19.5 DNSSEC\t403 19.5.1 域名系统\t404 19.5.2 DNS安全扩展\t405 19.6 基于DNS的命名实体认证\t406 19.6.1 TLSA记录\t406 19.6.2 为SMTP使用DANE\t407 19.6.3 为S/MIME使用DNSSEC\t408 19.7 发送方策略框架\t408 19.7.1 发送端的SPF\t408 19.7.2 接收端的SPF\t409 19.8 DKIM\t410 19.8.1 电子邮件威胁\t410 19.8.2 DKIM策略\t411 19.8.3 DKIM功能流程\t411 19.9 基于域的消息认证、报告和一致性\t413 19.9.1 标识符匹配\t413 19.9.2 发送端的DMARC\t413 19.9.3 接收端的DMARC\t414 19.9.4 DMARC报告\t415 19.10 关键术语、思考题和习题\t416 第20章 IP安全\t418 学习目标\t418 20.1 IP安全概述\t418 20.1.1 IPsec的应用\t418 20.1.2 IPsec文档\t419 20.1.3 IPsec服务\t419 20.2 IP安全策略\t419 20.2.1 安全关联\t420 20.2.2 安全关联数据库\t420 20.2.3 安全性策略数据库\t421 20.2.4 IP流量处理\t422 20.3 封装安全净荷\t423 20.3.1 ESP格式\t423 20.3.2 加密和认证算法\t424 20.3.3 填充\t424 20.3.4 反重放服务\t424 20.3.5 传输和隧道模式\t425 20.4 组合安全关联\t428 20.4.1 认证和保密性\t429 20.4.2 安全关联的基本组合\t429 20.5 因特网密钥交换\t430 20.5.1 密钥确定协议\t431 20.5.2 头部和净荷格式\t433 20.6 关键术语、思考题和习题\t435 第21章 网络端点安全\t437 学习目标\t437 21.1 防火墙\t437 21.1.1 防火墙的特征\t437 21.1.2 防火墙的类型\t438 21.1.3 DMZ网络\t442 21.2 入侵检测系统\t443 21.2.1 基本原理\t444 21.2.2 入侵检测方法\t444 21.2.3 基于主机的入侵检测技术\t445 21.2.4 基于网络的入侵检测系统\t445 21.3 恶意软件\t447 21.3.1 恶意软件的类型\t447 21.3.2 恶意软件防御\t448 21.4 分布式拒绝服务攻击\t449 21.4.1 DDoS攻击描述\t449 21.4.2 构建攻击网络\t451 21.4.3 DDoS防御策略\t452 21.5 关键术语、思考题和习题\t452 第22章 云计算\t456 学习目标\t456 22.1 云计算\t456 22.1.1 云计算元素\t456 22.1.2 云服务模型\t457 22.1.3 云部署模型\t458 22.1.4 云计算参考架构\t461 22.2 云安全的概念\t463 22.3 云安全风险与对策\t464 22.3.1 STRIDE威胁模型\t464 22.3.2 数据泄露\t465 22.3.3 弱身份、凭证和访问管理\t466 22.3.4 不安全的API\t466 22.3.5 系统漏洞\t466 22.3.6 账号劫持\t466 22.3.7 恶意的内部人员\t467 22.3.8 高级持续威胁\t467 22.3.9 数据丢失\t468 22.3.10 尽职调查不足\t468 22.3.11 滥用及恶意使用云服务\t468 22.3.12 拒绝服务\t469 22.3.13 共享技术中的漏洞\t469 22.4 云安全即服务\t469 22.5 开源云安全模块\t471 22.6 关键术语和习题\t472 第23章 物联网安全\t473 学习目标\t473 23.1 物联网\t473 23.1.1 物联网上的“物”\t473 23.1.2 演化\t473 23.1.3 物联网设备的组件\t474 23.1.4 物联网与云环境\t474 23.2 物联网安全的概念与目标\t476 23.2.1 物联网生态系统的独特特征\t476 23.2.2 物联网安全目标\t477 23.2.3 防篡改和篡改检测\t478 23.2.4 网关安全\t478 23.2.5 物联网安全环境\t479 23.3 一个开源物联网安全模块\t480 23.3.1 加密算法\t480 23.3.2 操作模式\t481 23.3.3 偏移码本模式\t481 23.4 关键术语和思考题\t484 附录A 线性代数的基本概念\t485 A.1 向量和矩阵运算\t485 A.1.1 算术\t485 A.1.2 行列式\t486 A.1.3 逆矩阵\t486 A.2 Zn上的线性代数运算\t487 附录B 保密性和安全性度量\t490 B.1 条件概率\t490 B.2 完善保密\t490 B.3 信息和熵\t493 B.3.1 信息\t493 B.3.2 熵\t494 B.3.3 熵函数的性质\t495 B.3.4 条件熵\t496 B.4 熵和保密性\t496 B.5 最小熵\t497 附录C 数据加密标准\t499 C.1 初始置换\t500 C.2 每轮变换的细节\t501 C.3 DES解密\t504 附录D 简化AES\t505 D.1 概述\t505 D.2 S-AES加密与解密\t506 D.2.1 密钥加\t507 D.2.2 半字节代替\t507 D.2.3 行移位\t508 D.2.4 列混淆\t508 D.3 密钥扩展\t509 D.4 S盒\t509 D.5 S-AES的结构\t509 附件D.1 GF(24)上的算术\t511 附件D.2 列混淆函数\t512 附录E 生日攻击的数学基础\t513 E.1 相关问题\t513 E.2 生日悖论\t513 E.3 有用的不等式\t514 E.4 元素重复的一般情形\t515 E.5 两个集合间的元素重复\t516 参考文献 \t517
你还可能感兴趣
我要评论
|