人人可懂的密码学(原书第2版)
作者 : 【英】基思 M.马丁(Keith M. Martin)著
译者 : 贾春福 钟安鸣 高敏芬 等译
出版日期 : 2020-09-14
ISBN : 978-7-111-66311-9
定价 : 129.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 470
开本 : 16
原书名 : Everyday Cryptography:Fundamental Principles and Applications(Second Edition)
原出版社: Oxford University Press
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书以通俗易懂的语言,从密码学产生的背景、经典的加密算法、常见的加密系统、密钥管理等角度对密码学进行了全面介绍,特别分析了日常生活中互联网、移动电话、wi-fi网络、银行卡、区块链等应用中使用的密码学技术,帮助读者理解密码学在实际生活中的应用。本书关注现代密码学背后的基本原理而非技术细节,读者有高中水平的数学知识,无需理解复杂的公式推导,即可理解本书的内容。本书适合作为高校密码学相关通识课程的教材,也适合作为对密码学感兴趣的读者的入门读物。
注:本书无教辅

图书特色

图书前言

2012年,在本书首次出版时,就有人认为它相对来说是永恒的,也就是说其重要性在过去和未来基本上是一样的。因为我们在本书中关注的是密码学的基本原理,而不是最新的技术。这样看来,真的还需要本书的第2版吗?
我还是坚持最初的看法,本书的第2版并不是非出版不可,因为密码学背后的基本原理没有改变。实际上,用于实现这些原理的最常见的密码算法也几乎没有什么变化,所以本书第1版中提供的大多数密码工具包基本保持不变。然而,本书的新版本还是值得推荐的,原因如下。
本书的最后一部分通过研究密码学在日常生活中的一些应用来说明其基本原理。自2012年以来,这些应用不可避免地得到了发展和拓展,其中一些应用甚至推动了其所使用的密码学知识的发展变化。本书对相关材料进行了更新。此外,本书还详细介绍了用于支持这些材料的一些加密工具,其中包括有关TLS 1.3、LTE和Apple Pay的讨论。
自2012年以来,最重要的发展是全社会对密码学的认知程度提高了很多。2013年,美国前政府雇员爱德华·斯诺登(Edward Snowden)披露了大量关于政府机构控制使用密码学技术的信息,从而引发了一场关于密码学技术使用的公开辩论。
对于密码学的使用,整个社会总是面临着两难的境地。提供隐私和有针对性的监视之间的紧张关系已经存在了几十年,而且这种状况还在继续。斯诺登披露的与此有关的信息只是这种情况的最新演绎。本书第1版只对这个问题做了粗略的介绍,在这一版中我们将用一章的篇幅来讨论密码学技术的控制问题。在这一章中,我们将介绍密码学所带来的困境,并讨论试图解决这个问题的策略和相关的提示。请注意,在本书中,我们既不打算对此做出判断,也不打算提出解决的办法。
毫无疑问,斯诺登事件的影响之一是人们对密码学的使用产生了更大的兴趣。本书通过扩展“应用密码学”部分的内容来反映这一点,其中包括两个自2012年以来一直比较引人注目的应用。第一个应用是Tor,它使用密码学技术来创建一个网络,为用户提供一定程度的匿名性;第二个应用是数字货币—比特币。
自2012年以来,我们还看到一系列用户设备都提供了更多的密码学技术保护措施。为此,本书中增加了新的一章来介绍个人设备的密码学技术方面的内容。这一章讨论了如何使用加密技术来保护移动电话等设备上的文件、磁盘、电子邮件和消息等内容。这一章也包括针对WhatsApp和iOS等技术的案例研究。
我要感谢以下这些人,他们不仅分享了自己的专业知识和经验,而且花费大量时间审阅了本书的变更和修订的部分。他们是:James Alderman, Tom Atkinson, Ela Berners-Lee, Giovanni Cherubin, Danny De Cock, Jason Crampton, Ben Curtis, Matthew Dodd, Thalia Laing, David Main, Sarah Meiklejohn, Frederik Mennes, Steven Murdoch, Kenny Paterson, Nick Robinson, Thyla van der Merwe和Mike Ward。
当前,密码学的重要性及其在我们日常生活中的作用是前所未有的。本书回答了“为什么”和“如何实现”等问题。

上架指导

计算机\安全

封底文字

着计算机网络的发展,每个人在日常生活中都已经不知不觉地和密码学建立起了密切的联系。但密码学一直和复杂的数字、公式联系在一起,令人望而生畏。本书用一种独特的方式,从日常生活中可用到密码学的场景出发,按照密码学工具包、密钥管理、密码学应用等脉络铺陈开来,使任何想要了解密码学的读者都能轻松进入这个有趣的、充满挑战的领域。
本书特点:
强调基本原理:本书着重介绍密码学中重要且长期稳定的基本原理,不关注流行的密码技术的实现细节,从而确保本书内容在未来不会过时。
以应用为中心:本书希望更多的用户能了解密码学,因此给出了大量在日常生活中能接触到的密码学应用案例,包括无线局域网、移动通信、网上支付、视频广播、身份证、电子邮件、个人设备等场景中的安全需求,以及应用的密码技术。
广泛的适用性:本书的目标是适合密码学初学者学习,因此本书关注密码学的核心问题,并尽力做到面向各种专业背景和基础的读者,使读者无须额外学习预备知识也能理解本书的内容。

译者序

历史上,密码学主要用于军事上的保密通信。随着计算机网络的发展(特别是因特网的发展和应用),现在绝大多数人都和密码学建立起了密切的联系,我们几乎每天都会用到密码学。密码学不仅为各类安全服务(如电子信息的安全传输和存储)提供保障支撑,还引发了人们对使用密码学的道德和困境方面的关注,如隐私保护与有针对性的监控之间的矛盾等。
现有的密码学书籍大多侧重于介绍密码学的数学方面,对密码算法的数学细节进行了详细的讨论,但很少提供足够的关于密码学实践方面的内容。本书的独特性在于:
主要关注密码学的基本原理,而不是相关的技术细节。
从实际应用出发,专注于日常应用中的密码学。
几乎没有涉及密码学的数学知识。
将密码学放在支持信息安全的底层技术的应用场景下进行介绍。
本书的内容由四个部分组成。
第一部分 预备知识:该部分主要介绍密码学需求的动机、经典的加密算法、安全理论与实践的区别等。
第二部分 密码学工具包:该部分包括构成密码学工具包的各种组件、提供机密性的对称加密系统和公钥加密系统、密码学在数据完整性和数据源身份认证方面的应用、使用密码学实现实体身份认证和密码协议等内容。
第三部分 密钥管理:该部分从实际的角度来探讨密码学中最重要的且常常被忽视的领域—密钥管理,包括秘密密钥管理以及与公钥密码学相关的密钥管理。
第四部分 应用密码学:该部分分析密码学的一些典型应用和普通用户在保护他们的个人设备及通信时可能使用的密码学技术;讨论通过使用密码学技术引起的更广泛的社会问题,如平衡隐私和控制的策略问题等。
本书适合以下读者阅读:
信息安全的用户和实践者 包括但不限于关注保护其数据的信息技术的用户,正在将信息安全技术应用于数据保护的信息安全从业人员,或是希望进一步了解数据安全问题的企业管理者。
高校学生 本书适合作为高校工科专业本科或研究生“密码学”课程的教材。本书涵盖密码学的原理,但无须读者钻研底层算法的数学细节,这对于工科类学生非常适合。本书还适合作为非信息安全或非网络空间安全专业的密码学通识课/选修课的教材。
对密码学感兴趣的读者 本书的目的是让尽可能多的读者了解和学习密码学,因此,任何希望深入了解密码学及其工作原理的读者都可以阅读本书,而不必被繁杂的数学公式难倒。
本书由贾春福和高敏芬组织翻译,参加翻译的人员包括钟安鸣、陈杭、刘俐君、郑万通、田美琦、程晓阳、逯海涛、邵蔚、李明月和李士佳等。此外,毕乐斌、王欣鸿、贾巧雯等也参与了部分翻译或校对工作。在翻译过程中,我们对书中明显的表达不当之处或印刷错误做了更正。为了便于阅读和理解,我们视情况添加了译者注。由于篇幅原因,原书的附录(数学基础)索引等资源将在华章网站提供下载。全书由贾春福和钟安鸣统稿,贾春福审校。在本书的翻译过程中,得到了机械工业出版社华章分社的大力支持和帮助,在此表示感谢。
我们本着对读者认真负责的宗旨完成翻译工作,努力做到技术内涵的准确无误以及专业术语的规范统一。但是,限于译者水平,加之时间仓促,翻译不妥和疏漏之处在所难免,敬请阅读本书的读者予以批评指正。

译 者
2020年夏于南开大学

图书目录

译者序
前言
第1版前言
第一部分 预备知识
第1章 基本原理 2
1.1 为什么需要保证信息安全 2
1.1.1 信息安全的发展历程 2
1.1.2 两种不同的办公环境 3
1.1.3 不同视角 4
1.1.4 安全基础设施的重要性 5
1.2 安全风险 6
1.2.1 攻击类型 6
1.2.2 一个简单场景下的安全风险 6
1.2.3 选择安全机制 7
1.3 安全服务 8
1.3.1 基本定义 9
1.3.2 安全服务之间的关系 9
1.4 密码系统基础 11
1.4.1 不同的密码学概念 11
1.4.2 安全服务的密码学原语 12
1.4.3 密码系统的基本模型 13
1.4.4 代码 15
1.4.5 隐写术 16
1.4.6 访问控制 16
1.4.7 两种类型的密码系统 16
1.4.8 加密密钥的机密性 17
1.5 密码系统的安全假设 19
1.5.1 标准假设 19
1.5.2 理论攻击模型 19
1.5.3 公开算法与专用算法 20
1.5.4 公开算法的使用 21
1.6 密码系统的破解 22
1.6.1 一些有用的预备知识 23
1.6.2 密钥长度和密钥空间 24
1.6.3 破解加密算法 25
1.6.4 密钥穷举 26
1.6.5 攻击类型 28
1.6.6 学术攻击 30
1.7 总结 30
1.8 进一步的阅读 30
1.9 练习 31
第2章 传统密码系统 35
2.1 单表密码 36
2.1.1 凯撒密码 36
2.1.2 简单替换密码 38
2.1.3 频率分析 40
2.1.4 理论安全与实践安全的差异 42
2.2 传统密码系统的历史进步 44
2.2.1 设计的改进 44
2.2.2 Playfair密码 44
2.2.3 多名码 48
2.2.4 Vigenère密码 50
2.3 总结 53
2.4 进一步的阅读 53
2.5 练习 54
第3章 理论安全与实践安全 58
3.1 理论安全 58
3.1.1 完全保密 59
3.1.2 提供完全保密性的简单密码系统 60
3.1.3 一次一密 61
3.1.4 理论安全总结 66
3.2 实践安全 67
3.2.1 实践中的一次一密 67
3.2.2 保护时限 68
3.2.3 计算复杂度 69
3.2.4 密码系统的设计过程 73
3.2.5 安全性评估 74
3.2.6 适度安全 75
3.2.7 迈向实践安全 77
3.3 总结 78
3.4 进一步的阅读 78
3.5 练习 78
第二部分 密码学工具包
第4章 对称密码 82
4.1 对称密码算法分类 82
4.2 流密码 84
4.2.1 流密码模型 84
4.2.2 流密码密钥管理 85
4.2.3 错误影响 86
4.2.4 流密码的性质 86
4.2.5 流密码示例 88
4.3 分组密码 88
4.3.1 分组密码模型 88
4.3.2 分组密码的性质 89
4.3.3 分组密码算法 90
4.4 DES密码 91
4.4.1 Feistel密码 91
4.4.2 DES规范 93
4.4.3 DES简史 93
4.4.4 三重DES 96
4.5 AES密码 98
4.5.1 AES的开发 98
4.5.2 AES的设计 99
4.5.3 AES的今天 100
4.6 操作模式 101
4.6.1 ECB模式 101
4.6.2 CBC模式 103
4.6.3 CFB模式 107
4.6.4 CTR模式 110
4.6.5 操作模式的比较 112
4.7 对称密码的使用 112
4.7.1 其他对称密码类型 113
4.7.2 未来的对称密码 113
4.8 总结 114
4.9 进一步的阅读 114
4.10 练习 115
第5章 公钥密码 118
5.1 公钥密码学 119
5.1.1 发明公钥密码学的动机 119
5.1.2 公钥密码系统的性质 120
5.1.3 一些数学基础知识 122
5.1.4 公钥密码学的单向函数 123
5.2 RSA 126
5.2.1 RSA密钥生成 126
5.2.2 RSA加密和解密 128
5.2.3 RSA的安全性 129
5.2.4 RSA在实践中的应用 131
5.3 ElGamal和椭圆曲线的变体 132
5.3.1 ElGamal的密钥生成 133
5.3.2 使用ElGamal进行加密/解密 133
5.3.3 ElGamal的安全性 135
5.3.4 ElGamal在实践中的应用 136
5.3.5 椭圆曲线密码学 136
5.4 RSA、ElGamal和ECC的比较 137
5.4.1 RSA的普及 137
5.4.2 性能问题 137
5.4.3 安全问题 138
5.5 使用公钥密码 140
5.5.1 限制因素 140
5.5.2 混合加密 141
5.5.3 其他类型的公钥密码系统 142
5.5.4 公钥密码系统的未来 143
5.6 总结 143
5.7 进一步的阅读 144
5.8 练习 145
第6章 数据完整性 148
6.1 不同级别的数据完整性 148
6.2 哈希函数 149
6.2.1 哈希函数的属性 150
6.2.2 哈希函数的应用 153
6.2.3 哈希函数的理论攻击 158
6.2.4 哈希函数实践 161
6.2.5 SHA-3 163
6.3 消息认证码 165
6.3.1 对称加密是否提供数据源认证 166
6.3.2 MAC的属性 167
6.3.3 CBC-MAC 169
6.3.4 HMAC 172
6.3.5 MAC和不可否认性 173
6.3.6 将MAC和加密一起使用 173
6.4 总结 177
6.5 进一步的阅读 177
6.6 练习 178
第7章 数字签名方案 181
7.1 数字签名 181
7.1.1 基本思路 181
7.1.2 电子签名 182
7.1.3 数字签名方案的基础 183
7.2 使用对称密码技术提供不可否认性 184
7.2.1 仲裁数字签名方案 184
7.2.2 不对称信任关系 185
7.2.3 强制信任 186
7.3 基于RSA的数字签名方案 186
7.3.1 互补要求 187
7.3.2 数字签名方案的基本模型 187
7.3.3 两种不同的方法 188
7.3.4 带附件的RSA数字签名方案 189
7.3.5 带消息恢复的RSA数字签名方案 192
7.3.6 其他数字签名方案 194
7.4 数字签名方案实践 195
7.4.1 数字签名方案的安全性 195
7.4.2 使用带加密的数字签名方案 196
7.4.3 与手写签名的关系 197
7.4.4 与高级电子签名的关系 200
7.5 总结 200
7.6 进一步的阅读 200
7.7 练习 201
第8章 实体身份认证 204
8.1 随机数生成 204
8.1.1 随机性的需求 204
8.1.2 什么是随机性 205
8.1.3 非确定性生成器 206
8.1.4 确定性生成器 207
8.2 提供时效 209
8.2.1 基于时钟的机制 209
8.2.2 序列号 210
8.2.3 基于Nonce的机制 211
8.2.4 时效机制的比较 212
8.3 实体身份认证基础 213
8.3.1 实体身份认证的问题 214
8.3.2 实体身份认证的应用 214
8.3.3 身份信息的一般类别 215
8.4 口令 217
8.4.1 口令的问题 217
8.4.2 加密口令保护 218
8.5 动态口令方案 219
8.5.1 动态口令方案背后的思想 220
8.5.2 动态口令方案示例 220
8.6 零知识机制 222
8.6.1 零知识的动机 223
8.6.2 零知识类比 223
8.6.3 零知识实践 224
8.7 总结 225
8.8 进一步的阅读 225
8.9 练习 226
第9章 密码协议 230
9.1 协议基础 230
9.1.1 协议的操作动机 230
9.1.2 协议的环境动机 231
9.1.3 密码协议的构成 231
9.2 从目标到协议 232
9.2.1 协议设计阶段 232
9.2.2 协议设计阶段的挑战 233
9.2.3 假设和行为 234
9.2.4 更广泛的协议设计过程 235
9.3 分析一个简单的协议 235
9.3.1 一个简单的应用 235
9.3.2 协议1 237
9.3.3 协议2 239
9.3.4 协议3 241
9.3.5 协议4 243
9.3.6 协议5 244
9.3.7 协议6 246
9.3.8 协议7 248
9.3.9 简单协议的总结 249
9.4 认证和密钥建立协议 249
9.4.1 典型AKE协议目标 250
9.4.2 Diff?ie-Hellman密钥协商协议 251
9.4.3 基于密钥分发的AKE协议 257
9.4.4 完全前向保密性 259
9.5 总结 260
9.6 进一步的阅读 261
9.7 练习 261
第三部分 密钥管理
第10章 密钥管理基础 266
10.1 密钥管理的概念 266
10.1.1 什么是密钥管理 267
10.1.2 密钥生存期 267
10.1.3 基本密钥管理要求 268
10.1.4 密钥管理系统 270
10.2 密钥长度和生存期 270
10.2.1 密钥生存期 271
10.2.2 密钥长度的选择 271
10.3 密钥生成 272
10.3.1 直接生成密钥 273
10.3.2 密钥派生 273
10.3.3 从组元生成密钥 274
10.3.4 公钥对的生成 275
10.4 密钥建立 276
10.4.1 密钥分级 277
10.4.2 单交易唯一密钥 280
10.4.3 量子密钥建立 283
10.5 密钥存储 285
10.5.1 避免密钥存储 285
10.5.2 密钥存储于软件中 286
10.5.3 密钥存储于硬件中 287
10.5.4 密钥存储的风险因素 289
10.5.5 密钥备份、存档与恢复 290
10.6 密钥的使用 292
10.6.1 密钥分离 292
10.6.2 密钥变更 295
10.6.3 密钥激活 297
10.6.4 密钥销毁 298
10.7 密钥管理治理 298
10.7.1 密钥管理的策略、实践和流程 298
10.7.2 流程示例:密钥生成仪式 299
10.8 总结 300
10.9 进一步的阅读 300
10.10 练习 301
第11章 公钥管理 305
11.1 公钥认证 305
11.1.1 公钥认证的动机 306
11.1.2 公钥证书 307
11.2 证书的生命周期 310
11.2.1 证书生命周期中的差异 310
11.2.2 证书的创建 311
11.2.3 密钥对变更 314
11.3 公钥管理模型 315
11.3.1 CA的选择 316
11.3.2 公钥证书管理模型 316
11.3.3 联合CA域 319
11.4 替代方法 322
11.4.1 信任Web 322
11.4.2 基于身份的加密 323
11.5 总结 326
11.6 进一步的阅读 326
11.7 练习 327
第四部分 应用密码学
第12章 密码学的应用 332
12.1 因特网中的密码学 333
12.1.1 TLS协议的背景 334
12.1.2 TLS协议的安全需求 334
12.1.3 TLS协议中使用的密码学 334
12.1.4 TLS 1.2和早期版本 335
12.1.5 TLS 1.3 339
12.1.6 TLS的密钥管理 341
12.1.7 TLS的安全问题 342
12.1.8 TLS设计的考虑事项 343
12.2 无线局域网中的密码学 344
12.2.1 无线局域网的背景 344
12.2.2 无线局域网的安全需求 345
12.2.3 WEP 346
12.2.4 对WEP的攻击 348
12.2.5 WPA和WPA2 351
12.2.6 无线局域网的安全问题 353
12.2.7 无线局域网设计的考虑事项 354
12.3 移动电信中的密码学 354
12.3.1 移动电信的背景 354
12.3.2 GSM的安全需求 355
12.3.3 GSM中使用的密码学 356
12.3.4 UMTS 360
12.3.5 LTE 361
12.3.6 GSM、UMTS和LTE的密钥管理 363
12.3.7 移动电信的安全问题 364
12.3.8 移动电信设计的考虑事项 364
12.4 安全支付卡交易中的密码学 364
12.4.1 支付卡服务的背景 365
12.4.2 磁条卡 366
12.4.3 EMV卡 367
12.4.4 使用EMV卡进行网上交易 370
12.4.5 使用EMV卡进行认证 371
12.4.6 使用EMV卡进行移动支付 371
12.4.7 支付卡的密钥管理 373
12.4.8 支付卡的安全问题 374
12.4.9 支付卡密码设计的考虑事项 375
12.5 视频广播中的密码学 375
12.5.1 视频广播的背景 375
12.5.2 视频广播的安全需求 377
12.5.3 视频广播中使用的密码学 377
12.5.4 视频广播的密钥管理 378
12.5.5 视频广播的安全问题 381
12.5.6 视频广播设计的考虑事项 381
12.6 身份证中的密码学 382
12.6.1 eID的背景 382
12.6.2 eID的安全需求 383
12.6.3 eID卡中使用的密码学 383
12.6.4 eID卡的核心功能 384
12.6.5 eID的密钥管理 386
12.6.6 eID的安全问题 389
12.6.7 eID设计的考虑事项 389
12.7 匿名中的密码学 390
12.7.1 Tor的背景 390
12.7.2 Tor的安全需求 391
12.7.3 Tor是怎样工作的 391
12.7.4 Tor的安全问题 397
12.7.5 Tor设计的考虑事项 397
12.8 数字货币中的密码学 398
12.8.1 比特币的背景 398
12.8.2 比特币的安全需求 399
12.8.3 比特币交易 399
12.8.4 比特币区块链 401
12.8.5 比特币挖矿 403
12.8.6 比特币的安全问题 406
12.8.7 比特币设计的考虑事项 407
12.9 总结 408
12.10 进一步的阅读 408
12.11 练习 409
第13章 应用于个人设备的密码学 414
13.1 文件保护 415
13.1.1 全盘加密 415
13.1.2 虚拟磁盘加密 417
13.1.3 个人文件加密 417
13.2 邮件安全 418
13.2.1 电子邮件的安全需求 418
13.2.2 保护电子邮件的技术 419
13.3 消息传递安全 421
13.3.1 WhatsApp的安全需求 422
13.3.2 WhatsApp中使用的密码学 422
13.4 平台安全 424
13.4.1 iOS用户数据的密码保护 424
13.4.2 iOS因特网服务的加密保护 425
13.4.3 进一步的iOS加密支持 426
13.5 总结 427
13.6 进一步的阅读 427
13.7 练习 428
第14章 密码学的控制 430
14.1 密码学困境 431
14.1.1 控制密码学使用的案例 431
14.1.2 反对控制密码学使用的案例 431
14.1.3 寻求平衡 432
14.1.4 控制密码学使用的策略 432
14.2 算法的后门 433
14.2.1 后门的使用 433
14.2.2 Dual_EC_DRBG 434
14.3 法律机制 435
14.3.1 出口限制 435
14.3.2 密钥托管 436
14.3.3 获取明文的法律要求 437
14.4 在复杂时代对密码学的控制 437
14.4.1 斯诺登的爆料 437
14.4.2 加密环境的改变 438
14.4.3 控制普适密码学的策略 440
14.5 总结 443
14.6 进一步的阅读 443
14.7 练习 444
第15章 结束语 447
附录 数学基础一
索引二

教学资源推荐
作者: 朱俊虎 主编 奚琪 张连成 周天阳 曹琰 颜学雄 彭建山 邱菡 胡雪丽 尹中旭 秦艳锋 参编 王清贤 主审
作者: 周学广 等
作者: 邹德清 代炜琦 金海 著
作者: 马洪连,刘旸,韩瑜,孙亮
参考读物推荐
作者: [西]瓦伦蒂娜·科斯塔-加斯孔(Valentina Costa-Gazcón) 著
作者: 大学霸IT达人 编著
作者: [美]克里斯·桑德斯(Chris Sanders) 杰森·史密斯(Jason Smith)著
作者: [美]约瑟夫·P. 尼尔(Joseph P. Near),[美]希肯·亚比雅(Chiké Abuah) 著