当前位置: 首页 > news >正文

复杂的密码学也可以人人可懂

新书速递

导读:密码学是什么?我们为什么要懂密码学?

随着计算机网络的发展,每个人在日常生活中都已经不知不觉地和密码学建立起了密切的联系。我们日常接触的互联网、移动电话、wi-fi网络、网上支付、银行卡、电子邮件、区块链、个人设备等场景中,密码学都与我们息息相关。但密码学一直和复杂的数字、公式联系在一起,令人望而生畏。

 

今天为大家介绍《人人可懂的密码学(原书第2版)》

本书用一种独特的方式,从日常生活中可用到密码学的场景出发,按照密码学工具包、密钥管理、密码学应用等脉络铺陈开来,使任何想要了解密码学的读者都能轻松进入这个有趣的、充满挑战的领域。

本书特点

强调基本原理:本书着重介绍密码学中重要且长期稳定的基本原理,不关注流行的密码技术的实现细节,从而确保本书内容在未来不会过时。

以应用为中心:本书希望更多的用户能了解密码学,因此给出了大量在日常生活中能接触到的密码学应用案例,包括无线局域网、移动通信、网上支付、视频广播、身份证、电子邮件、个人设备等场景中的安全需求,以及应用的密码技术。

广泛的适用性:本书的目标是适合密码学初学者学习,因此本书关注密码学的核心问题,并尽力做到面向各种专业背景和基础的读者,使读者无须额外学习预备知识也能理解本书的内容。

 

本书结构

本书的内容由四个部分组成。

第一部分 预备知识:该部分主要介绍密码学需求的动机、经典的加密算法、安全理论与实践的区别等。

第二部分 密码学工具包:该部分包括构成密码学工具包的各种组件、提供机密性的对称加密系统和公钥加密系统、密码学在数据完整性和数据源身份认证方面的应用、使用密码学实现实体身份认证和密码协议等内容。

第三部分 密钥管理:该部分从实际的角度来探讨密码学中最重要的且常常被忽视的领域—密钥管理,包括秘密密钥管理以及与公钥密码学相关的密钥管理。

第四部分 应用密码学:该部分分析密码学的一些典型应用和普通用户在保护他们的个人设备及通信时可能使用的密码学技术;讨论通过使用密码学技术引起的更广泛的社会问题,如平衡隐私和控制的策略问题等。

 

本书的独特性

现有的密码学书籍大多侧重于介绍密码学的数学方面,对密码算法的数学细节进行了详细的讨论,但很少提供足够的关于密码学实践方面的内容。本书的独特性在于:

  • 主要关注密码学的基本原理,而不是相关的技术细节。

  • 从实际应用出发,专注于日常应用中的密码学

  • 几乎没有涉及密码学的数学知识

  • 将密码学放在支持信息安全的底层技术的应用场景下进行介绍。

 

关于作者

基思·M. 马丁,伦敦大学皇家霍洛威学院信息安全专业教授。他曾在澳大利亚阿德莱德大学和比利时鲁汶大学从事研究工作,并曾担任皇家霍洛威学院信息安全组负责人。他负责设计了皇家霍洛威学院信息安全专业远程硕士课程的课程体系,还经常面向企业界、高校和公众普及密码学方面的知识。他的研究兴趣是密码学和密钥管理。

目录

译者序

前言

第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.2Playfair密码  44

2.2.3 多名码  48

2.2.4Vigenè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.4DES密码  91

4.4.1Feistel密码  91

4.4.2DES规范  93

4.4.3DES简史  93

4.4.4 三重DES  96

4.5AES密码  98

4.5.1AES的开发  98

4.5.2AES的设计  99

4.5.3AES的今天  100

4.6 操作模式  101

4.6.1ECB模式  101

4.6.2CBC模式  103

4.6.3CFB模式  107

4.6.4CTR模式  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.2RSA  126

5.2.1RSA密钥生成  126

5.2.2RSA加密和解密  128

5.2.3RSA的安全性  129

5.2.4RSA在实践中的应用  131

5.3ElGamal和椭圆曲线的变体  132

5.3.1ElGamal的密钥生成  133

5.3.2 使用ElGamal进行加密/解密  133

5.3.3ElGamal的安全性  135

5.3.4ElGamal在实践中的应用  136

5.3.5 椭圆曲线密码学  136

5.4RSA、ElGamal和ECC的比较  137

5.4.1RSA的普及  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.5SHA-3  163

6.3 消息认证码  165

6.3.1 对称加密是否提供数据源认证  166

6.3.2MAC的属性  167

6.3.3CBC-MAC  169

6.3.4HMAC  172

6.3.5MAC和不可否认性  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.2Diff?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.1CA的选择  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.1TLS协议的背景  334

12.1.2TLS协议的安全需求  334

12.1.3TLS协议中使用的密码学  334

12.1.4TLS 1.2和早期版本  335

12.1.5TLS 1.3  339

12.1.6TLS的密钥管理  341

12.1.7TLS的安全问题  342

12.1.8TLS设计的考虑事项  343

12.2 无线局域网中的密码学  344

12.2.1 无线局域网的背景  344

12.2.2 无线局域网的安全需求  345

12.2.3WEP  346

12.2.4 对WEP的攻击  348

12.2.5WPA和WPA2  351

12.2.6 无线局域网的安全问题  353

12.2.7 无线局域网设计的考虑事项  354

12.3 移动电信中的密码学  354

12.3.1 移动电信的背景  354

12.3.2GSM的安全需求  355

12.3.3GSM中使用的密码学  356

12.3.4UMTS  360

12.3.5LTE  361

12.3.6GSM、UMTS和LTE的密钥管理  363

12.3.7 移动电信的安全问题  364

12.3.8 移动电信设计的考虑事项  364

12.4 安全支付卡交易中的密码学  364

12.4.1 支付卡服务的背景  365

12.4.2 磁条卡  366

12.4.3EMV卡  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.1eID的背景  382

12.6.2eID的安全需求  383

12.6.3eID卡中使用的密码学  383

12.6.4eID卡的核心功能  384

12.6.5eID的密钥管理  386

12.6.6eID的安全问题  389

12.6.7eID设计的考虑事项  389

12.7 匿名中的密码学  390

12.7.1Tor的背景  390

12.7.2Tor的安全需求  391

12.7.3Tor是怎样工作的  391

12.7.4Tor的安全问题  397

12.7.5Tor设计的考虑事项  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.1WhatsApp的安全需求  422

13.3.2WhatsApp中使用的密码学  422

13.4 平台安全  424

13.4.1iOS用户数据的密码保护  424

13.4.2iOS因特网服务的加密保护  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.2Dual_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

附录 数学基础一

索引二

上下滑动查看

实拍图

点击链接了解详情并购买

更多精彩回顾

书讯 | 12月书讯 | 年末上新,好书不断

资讯 | DB-Engines 12月数据库排名:PostgreSQL有望获得「2020年度数据库」荣誉?

书单 | 机器人时代已来!推荐几本机器人学硬核好书

干货 | 为什么“蜥蜴书”是机器学习入门必读书?

收藏 | 微信第 1 行代码曝光!

上新 | 互联网消费金融行业从业者的实战指南

赠书 | 【第34期】如何成为一个软件架构师?

点击阅读全文购买

相关文章:

  • Python循环语句代码逐行详解:while、for、break和continue
  • 基于Vite搭建Electron+Vue3的开发环境
  • 国产首款——飞桨PaddlePaddle深度学习框架介绍
  • “MySQL Analytics Engine”来了
  • 【第35期】数字化转型到底该怎么做?
  • 详解华为12种数据采集技术及应用实践
  • JavaScript 25 岁了!
  • 43种机器学习开源数据集(附地址/调用方法)
  • 中国量子计算原型机“九章”问世,普通人怎样初识量子计算?
  • 中台“不火”了,企业数智转型如何破圈?
  • 一本书读懂“财税RPA”
  • 华为官方出品:首本HMS Core技术解析图书问世
  • 系统学习WebAssembly —— 理论篇
  • Hi~大家好,我是今年的圣诞老人华章妹!
  • 8本书助你了解人民日报“创作大脑”
  • Google 是如何开发 Web 框架的
  • 收藏网友的 源程序下载网
  • 「面试题」如何实现一个圣杯布局?
  • 2017年终总结、随想
  • CAP 一致性协议及应用解析
  • emacs初体验
  • ES6语法详解(一)
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • Java多线程(4):使用线程池执行定时任务
  • JAVA之继承和多态
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • leetcode-27. Remove Element
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • Python_OOP
  • RxJS: 简单入门
  • vue学习系列(二)vue-cli
  • 闭包,sync使用细节
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 简单数学运算程序(不定期更新)
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 免费小说阅读小程序
  • 你真的知道 == 和 equals 的区别吗?
  • 事件委托的小应用
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 线性表及其算法(java实现)
  • 用Python写一份独特的元宵节祝福
  • 找一份好的前端工作,起点很重要
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #QT(串口助手-界面)
  • #微信小程序:微信小程序常见的配置传旨
  • (7)STL算法之交换赋值
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (HAL库版)freeRTOS移植STMF103
  • (补)B+树一些思想
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (一)基于IDEA的JAVA基础1
  • (转)chrome浏览器收藏夹(书签)的导出与导入