密码技术与物联网安全:mbedtls开发实战

密码技术与物联网安全:mbedtls开发实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
2019-03
版次: 1
ISBN: 9787111620013
定价: 79.00
装帧: 其他
开本: 16开
纸张: 胶版纸
页数: 368页
字数: 243千字
  • 本书是国内一本理论结合实践的物联网安全书籍,包括数论基础知识、密码学算法、TLS/DTLS协议、物联网安全协议CoAPs等部分。本书试图打破物联网工程师、嵌入式工程师与Web开发工程师之间的知识鸿沟,通过图文并茂的方式说明密码技术与物联网安全。
      本书具有以下特点:
      ?密码学算法部分除了理论知识之外,还包括mbedtls示例代码,可以帮助读者更快地理解晦涩难懂的密码技术。本书基于嵌入式硬件平台描述密码学算法性能,通过示例代码分析密码学算法资源消耗情况,并给出实战建议。
      ?紧扣物联网安全发展趋势。认证加密算法部分,本书详细描述了认证加密算法CCM模式和GCM模式;椭圆曲线算法部分,本书详细描述了椭圆曲线密码算法的数学基础以及安全原理;
      ?TLS/DTLS协议部分。本书以物联网终端的角度详细描述TLS/DTLS协议的实现过程,按照密钥交换、密钥计算、对称加密等部分展开,并总结了物联网设备使用TLS/DTLS协议的建议;
      ?物联网安全协议CoAPs部分。本书详细描述了物联网安全协议CoAPs,CoAPs依赖DTLS协议,它可在占用较少资源的情况下为终端设备提供安全连接能力。 徐凯 阿里云IoT开发工程师,花名左相。物联网技术实践者与研究者,对物联网传输协议、物联网安全和物联网数据存储有常深刻的认识与理解。多年嵌入式与物联网系统开发经验,涉猎终端设备,边缘计算与物联网平台等多个领域。编写大量关于物联网应用、物联网操作系统,物联网传输协议相关的技术博文,博文广受好评。著有《IoT开发实战 CoAP卷》。

    崔红鹏 嵌入式软件工程师,现就职于清华大学无锡应用技术研究院——微纳电子与系统芯片实验室。“CPU硬件安全动态监测管控技术”项目组成员,负责密码学算法实现和SDK开发,该项目曾获 “2018年世界互联网大会15项全球领先科技成果”。物联网安全爱好者,对嵌入式系统、密码学技术和安全应用方案有深入研究,积极参与开源项目,为GmSSL和zephyr等开源项目贡献过代码。 推荐序一

    推荐序二

    前言

    第1章 物联网安全概述  1

    1.1 本章主要内容  1

    1.2 物联网安全基础  1

    1.2.1 物联网安全与互联网安全  1

    1.2.2 物联网安全与密码学  2

    1.3 密码学安全常识  3

    1.3.1 柯克霍夫原则  3

    1.3.2 Alice和Bob  4

    1.3.3 Eve和Mallory  4

    1.4 mbedtls简介  5

    1.4.1 密码学工具箱  5

    1.4.2 TLS/DTLS协议  6

    1.4.3 X.509证书  6

    1.5 OpenSSL简介  7

    1.5.1 源代码安装  7

    1.5.2 命令行工具简介  8

    1.5.3 摘要命令 dgst  8

    1.5.4 对称加密命令 enc  8

    1.5.5 SSL命令 s_server   9

    1.6 本章小结  11

    第2章 mbedtls入门  12

    2.1 本章主要内容  12

    2.2 mbedtls 体系结构  12

    2.3 Linux mbedtls 安装  13

    2.3.1 安装 CMake  13

    2.3.2 使用 CMake 安装 mbedtls  14

    2.4 Linux mbedtls 示例  17

    2.4.1 Base64示例  17

    2.4.2 遍历 mbedtls 安全套件  20

    2.5 Zephyr OS 简介  24

    2.6 Zephyr 开发环境搭建  25

    2.7 Zephyr 硬件平台选择  26

    2.7.1 资源介绍  27

    2.7.2 Ubuntu中安装STLink工具  28

    2.8 Zephyr 应用示例开发  28

    2.8.1 编写 CMakeLists.txt  29

    2.8.2 编写 prj.conf  29

    2.8.3 编写 main.c  29

    2.8.4 编译与运行  30

    2.9 Zephyr mbedtls 示例   31

    2.9.1 Base64示例  31

    2.9.2 大数运算示例  35

    2.10 本章小结  39

    第3章 数论基础知识  41

    3.1 本章主要内容  41

    3.2 素数  42

    3.3 模运算  43

    3.3.1 模数  43

    3.3.2 同余  43

    3.3.3 模算术运算  44

    3.3.4 模逆运算  44

    3.3.5 模重复平方  46

    3.4 群  47

    3.4.1 群的基本概念  47

    3.4.2 循环群  48

    3.4.3 子群  49

    3.5 域  50

    3.5.1 域的基本概念  50

    3.5.2 有限域和素域  50

    3.5.3 扩展域GF(2m)  52

    3.5.4 GF(2m)加法和减法  53

    3.5.5 GF(2m)乘法  53

    3.5.6 GF(2m)逆操作  55

    3.6 欧拉函数  56

    3.7 欧拉定理  56

    3.8 费马小定理  57

    3.9 离散对数  57

    3.9.1 模算术–指数  57

    3.9.2 模算术–对数  58

    3.9.3 离散对数问题  59

    3.10 本章小结  59

    第4章 单向散列函数  60

    4.1 本章主要内容  60

    4.2 单向散列函数原理  60

    4.2.1 单向散列函数性质  61

    4.2.2 单向散列函数应用  62

    4.3 单向散列函数的实现方法  63

    4.3.1 MD算法家族  63

    4.3.2 SHA算法家族  63

    4.4 SHA256 详细描述  64

    4.4.1 预处理  64

    4.4.2 哈希计算  66

    4.4.3 具体示例  68

    4.5 mbedtls 单向散列应用工具  69

    4.5.1 hello  69

    4.5.2 generic_sum  69

    4.6 mbedtls SHA256示例  70

    4.6.1 示例描述  70

    4.6.2 示例代码  70

    4.6.3 代码说明  72

    4.6.4 编译与运行  74

    4.7 本章小结  74

    第5章 对称加密算法  76

    5.1 本章主要内容  76

    5.2 对称加密算法原理  76

    5.3 分组密码模式  77

    5.3.1 ECB(电子密码本)模式  77

    5.3.2 CBC(密码分组链接)模式  78

    5.3.3 CTR(计数器)模式  79

    5.4 PKCS7填充方案  81

    5.5 AES算法概述  82

    5.6 AES 算法详细说明  84

    5.6.1 字节替换  84

    5.6.2 行移位  86

    5.6.3 列混合  87

    5.6.4 轮密钥加法  87

    5.6.5 轮密钥生成  88

    5.7 AES算法动手实践  90

    5.8 mbedtls 对称加密应用工具  91

    5.8.1 aescrypto2  91

    5.8.2 crypt_and_hash  92

    5.9 mbedtls AES示例  93

    5.9.1 示例描述  93

    5.9.2 示例代码  94

    5.9.3 代码说明  96

    5.9.4 编译与运行  97

    5.10 本章小结  99

    第6章 消息认证码  100

    6.1 本章主要内容  100

    6.2 消息认证码原理  100

    6.3 消息认证码实现方法  102

    6.3.1 单向散列算法实现  102

    6.3.2 分组密码实现  102

    6.3.3 认证加密算法实现  102

    6.4 HMAC算法  102

    6.5 CBC-MAC和CMAC  104

    6.5.1 CBC-MAC  104

    6.5.2 CMAC  104

    6.6 认证加密CCM  106

    6.6.1 输入数据格式化  106

    6.6.2 认证和加密  108

    6.7 认证加密GCM  109

    6.7.1 GHASH  110

    6.7.2 GCTR  110

    6.7.3 认证和加密  111

    6.8 mbedtls HMAC示例  112

    6.8.1 示例代码  113

    6.8.2 代码说明  114

    6.8.3 编译与运行  116

    6.9 mbedtls GCM 示例  117

    6.9.1 示例代码  117

    6.9.2 代码说明  119

    6.9.3 编译与运行  120

    6.10 本章小结  121

    第7章 伪随机数生成器  122

    7.1 本章主要内容  122

    7.2 随机数概述  122

    7.3 随机数生成器  123

    7.3.1 真随机数生成器  123

    7.3.2 伪随机数生成器  124

    7.4 CTR_DRBG算法  125

    7.4.1 参数情况  125

    7.4.2 生成过程  125

    7.5 mbedtls 随机数应用工具  126

    7.5.1 gen_entropy  126

    7.5.2 gen_random_ctr_drbg  127

    7.5.3 gen_random_havege  127

    7.6 mbedtls CTR_DRBG示例  128

    7.6.1 示例代码  128

    7.6.2 代码说明  130

    7.6.3 编译与执行  131

    7.7 mbedtls 大素数生成示例  132

    7.7.1 示例代码  133

    7.7.2 代码说明  135

    7.7.3 编译与执行  135

    7.8 mbedtls 自定义熵源接口  136

    7.9 本章小结  137

    第8章 RSA算法  138

    8.1 本章主要内容  138

    8.2 RSA算法原理  138

    8.3 RSA 算法详细说明  140

    8.4 RSA加速技术  141

    8.4.1 中国剩余数定理  142

    8.4.2 动手实践  142

    8.4.3 性能对比  143

    8.5 RSA 填充方法  144

    8.5.1 PKCS1-V1_5  144

    8.5.2 OAEP  145

    8.6 mbedtls RSA应用工具  146

    8.6.1 rsa_genkey  146

    8.6.2 rsa_encrypt  147

    8.6.3 rsa_decrypt  148

    8.7 mbedtls RSA加解密示例  148

    8.7.1 示例代码  149

    8.7.2 代码说明  151

    8.7.3 编译与执行  153

    8.8 本章小结  155

    第9章 DH密钥协商  156

    9.1 本章主要内容  156

    9.2 DH密钥协商数学基础  156

    9.3 DH密钥协商详细说明  157

    9.3.1 DH共享参数  157

    9.3.2 DH密钥协商  158

    9.3.3 DH具体实践  158

    9.3.4 DH密钥协商安全性分析  159

    9.4 常用共享参数  161

    9.5 mbedtls DH应用工具  162

    9.5.1 dh_genprime  163

    9.5.2 dh_server  164

    9.5.3 dh_client  165

    9.6 mbedtls DH示例  165

    9.6.1 示例代码  166

    9.6.2 代码说明  168

    9.6.3 编译与执行  170

    9.7 本章小结  172

    第10章 ECDH密钥协商  173

    10.1 本章主要内容  173

    10.2 椭圆曲线定义  173

    10.2.1 实数域上的椭圆曲线  174

    10.2.2 有限域上的椭圆曲线  175

    10.3 椭圆曲线上群操作  176

    10.3.1 群操作几何描述  176

    10.3.2 群操作代数描述  177

    10.3.3 群操作动手实践  178

    10.4 椭圆曲线离散对数问题  180

    10.5 常用有限域上的椭圆曲线  181

    10.6 ECDH密钥协商  183

    10.6.1 ECDH共享参数  184

    10.6.2 密钥协商过程  184

    10.6.3 动手实践  184

    10.7 mbedtls椭圆曲线模块  185

    10.8 mbedtls ECDH示例  187

    10.8.1 示例代码  188

    10.8.2 代码说明  190

    10.8.3 编译与执行  192

    10.9 本章小结  193

    第11章 数字签名RSA、DSA和ECDSA  194

    11.1 本章主要内容  194

    11.2 数字签名原理  194

    11.3 RSA 数字签名  196

    11.3.1 RSA数字签名详细说明  196

    11.3.2 RSA数字签名动手实践  197

    11.3.3 RSA签名填充方法  197

    11.4 DSA数字签名  199

    11.4.1 DSA数字签名详细说明  199

    11.4.2 DSA签名动手实践  200

    11.5 ECDSA数字签名  201

    11.5.1 ECDSA数字签名详细说明  201

    11.5.2 ECDSA动手实践  203

    11.6 mbedtls 数字签名应用工具  204

    11.6.1 rsa_genkey  204

    11.6.2 rsa_sign  204

    11.6.3 rsa_verify  205

    11.7 mbedtls RSA签名示例  205

    11.7.1 示例代码  206

    11.7.2 代码说明  208

    11.7.3 编译与执行  209

    11.8 mbedtls ECDSA示例  211

    11.8.1 示例代码  211

    11.8.2 代码说明  214

    11.8.3 编译与执行  215

    11.9 本章小结  216

    第12章 数字证书X.509  217

    12.1 本章主要内容  217

    12.2 数字证书原理  217

    12.3 X.509证书标准  219

    12.3.1 证书结构  219

    12.3.2 证书名称  219

    12.3.3 证书实例  220

    12.4 mbedtls X.509应用工具  224

    12.4.1 cert_req  225

    12.4.2 req_app  226

    12.4.3 cert_write  227

    12.4.4 cert_app  229

    12.5 mbedtls X.509示例  231

    12.5.1 示例代码  232

    12.5.2 代码说明  234

    12.5.3 编译与执行  236

    12.6 本章小结  237

    第13章 mbedtls 移植与性能分析  238

    13.1 本章主要内容  238

    13.2 mbedtls移植  238

    13.2.1 时间相关  239

    13.2.2 网络相关  240

    13.2.3 内存分配相关  241

    13.3 mbedtls算法性能说明  243

    13.3.1 单向散列函数  243

    13.3.2 AES算法  244

    13.3.3 AES-GCM和AES-CCM  245

    13.3.4 伪随机数生成器  246

    13.3.5 RSA  247

    13.3.6 DHE和ECDHE  248

    13.3.7 ECDSA  248

    13.3.8 ECC内存优化  250

    13.4 本章小结  253

    第14章 TLS  254

    14.1 本章主要内容  254

    14.2 TLS原理  254

    14.2.1 TLS设计目标  256

    14.2.2 TLS框架说明  256

    14.3 TLS密码套件  257

    14.4 TLS记录层协议  258

    14.5 密码规格变更协议  260

    14.6 警报协议  260

    14.7 握手协议  261

    14.7.1 握手协议概述  261

    14.7.2 完整握手过程  263

    14.7.3 会话恢复  270

    14.8 TLS密钥交换  271

    14.8.1 密钥交换算法对比  271

    14.8.2 ECDHE密钥交换  272

    14.8.3 ECDH与ECDHE的区别  275

    14.9 TLS密钥计算  276

    14.9.1 伪随机数生成函数  276

    14.9.2 主密钥计算  278

    14.9.3 KeyBlock计算  278

    14.9.4 密钥计算示例  279

    14.10 对称加密  281

    14.10.1 分组加密  281

    14.10.2 认证加密  284

    14.10.3 对称加密示例  285

    14.10.4 对称加密结果长度对比  287

    14.11 mbedtls TLS应用工具  287

    14.11.1 基础示例说明  289

    14.11.2 启动 ssl_server2  290

    14.11.3 抓取网络数据  290

    14.11.4 启动 ssl_client2  291

    14.11.5 分析网络数据  291

    14.12 构建TLS服务器  293

    14.12.1 生成证书  293

    14.12.2 编写HTML页面  295

    14.12.3 启动s_server   295

    14.12.4 验证服务器  29
  • 内容简介:
    本书是国内一本理论结合实践的物联网安全书籍,包括数论基础知识、密码学算法、TLS/DTLS协议、物联网安全协议CoAPs等部分。本书试图打破物联网工程师、嵌入式工程师与Web开发工程师之间的知识鸿沟,通过图文并茂的方式说明密码技术与物联网安全。
      本书具有以下特点:
      ?密码学算法部分除了理论知识之外,还包括mbedtls示例代码,可以帮助读者更快地理解晦涩难懂的密码技术。本书基于嵌入式硬件平台描述密码学算法性能,通过示例代码分析密码学算法资源消耗情况,并给出实战建议。
      ?紧扣物联网安全发展趋势。认证加密算法部分,本书详细描述了认证加密算法CCM模式和GCM模式;椭圆曲线算法部分,本书详细描述了椭圆曲线密码算法的数学基础以及安全原理;
      ?TLS/DTLS协议部分。本书以物联网终端的角度详细描述TLS/DTLS协议的实现过程,按照密钥交换、密钥计算、对称加密等部分展开,并总结了物联网设备使用TLS/DTLS协议的建议;
      ?物联网安全协议CoAPs部分。本书详细描述了物联网安全协议CoAPs,CoAPs依赖DTLS协议,它可在占用较少资源的情况下为终端设备提供安全连接能力。
  • 作者简介:
    徐凯 阿里云IoT开发工程师,花名左相。物联网技术实践者与研究者,对物联网传输协议、物联网安全和物联网数据存储有常深刻的认识与理解。多年嵌入式与物联网系统开发经验,涉猎终端设备,边缘计算与物联网平台等多个领域。编写大量关于物联网应用、物联网操作系统,物联网传输协议相关的技术博文,博文广受好评。著有《IoT开发实战 CoAP卷》。

    崔红鹏 嵌入式软件工程师,现就职于清华大学无锡应用技术研究院——微纳电子与系统芯片实验室。“CPU硬件安全动态监测管控技术”项目组成员,负责密码学算法实现和SDK开发,该项目曾获 “2018年世界互联网大会15项全球领先科技成果”。物联网安全爱好者,对嵌入式系统、密码学技术和安全应用方案有深入研究,积极参与开源项目,为GmSSL和zephyr等开源项目贡献过代码。
  • 目录:
    推荐序一

    推荐序二

    前言

    第1章 物联网安全概述  1

    1.1 本章主要内容  1

    1.2 物联网安全基础  1

    1.2.1 物联网安全与互联网安全  1

    1.2.2 物联网安全与密码学  2

    1.3 密码学安全常识  3

    1.3.1 柯克霍夫原则  3

    1.3.2 Alice和Bob  4

    1.3.3 Eve和Mallory  4

    1.4 mbedtls简介  5

    1.4.1 密码学工具箱  5

    1.4.2 TLS/DTLS协议  6

    1.4.3 X.509证书  6

    1.5 OpenSSL简介  7

    1.5.1 源代码安装  7

    1.5.2 命令行工具简介  8

    1.5.3 摘要命令 dgst  8

    1.5.4 对称加密命令 enc  8

    1.5.5 SSL命令 s_server   9

    1.6 本章小结  11

    第2章 mbedtls入门  12

    2.1 本章主要内容  12

    2.2 mbedtls 体系结构  12

    2.3 Linux mbedtls 安装  13

    2.3.1 安装 CMake  13

    2.3.2 使用 CMake 安装 mbedtls  14

    2.4 Linux mbedtls 示例  17

    2.4.1 Base64示例  17

    2.4.2 遍历 mbedtls 安全套件  20

    2.5 Zephyr OS 简介  24

    2.6 Zephyr 开发环境搭建  25

    2.7 Zephyr 硬件平台选择  26

    2.7.1 资源介绍  27

    2.7.2 Ubuntu中安装STLink工具  28

    2.8 Zephyr 应用示例开发  28

    2.8.1 编写 CMakeLists.txt  29

    2.8.2 编写 prj.conf  29

    2.8.3 编写 main.c  29

    2.8.4 编译与运行  30

    2.9 Zephyr mbedtls 示例   31

    2.9.1 Base64示例  31

    2.9.2 大数运算示例  35

    2.10 本章小结  39

    第3章 数论基础知识  41

    3.1 本章主要内容  41

    3.2 素数  42

    3.3 模运算  43

    3.3.1 模数  43

    3.3.2 同余  43

    3.3.3 模算术运算  44

    3.3.4 模逆运算  44

    3.3.5 模重复平方  46

    3.4 群  47

    3.4.1 群的基本概念  47

    3.4.2 循环群  48

    3.4.3 子群  49

    3.5 域  50

    3.5.1 域的基本概念  50

    3.5.2 有限域和素域  50

    3.5.3 扩展域GF(2m)  52

    3.5.4 GF(2m)加法和减法  53

    3.5.5 GF(2m)乘法  53

    3.5.6 GF(2m)逆操作  55

    3.6 欧拉函数  56

    3.7 欧拉定理  56

    3.8 费马小定理  57

    3.9 离散对数  57

    3.9.1 模算术–指数  57

    3.9.2 模算术–对数  58

    3.9.3 离散对数问题  59

    3.10 本章小结  59

    第4章 单向散列函数  60

    4.1 本章主要内容  60

    4.2 单向散列函数原理  60

    4.2.1 单向散列函数性质  61

    4.2.2 单向散列函数应用  62

    4.3 单向散列函数的实现方法  63

    4.3.1 MD算法家族  63

    4.3.2 SHA算法家族  63

    4.4 SHA256 详细描述  64

    4.4.1 预处理  64

    4.4.2 哈希计算  66

    4.4.3 具体示例  68

    4.5 mbedtls 单向散列应用工具  69

    4.5.1 hello  69

    4.5.2 generic_sum  69

    4.6 mbedtls SHA256示例  70

    4.6.1 示例描述  70

    4.6.2 示例代码  70

    4.6.3 代码说明  72

    4.6.4 编译与运行  74

    4.7 本章小结  74

    第5章 对称加密算法  76

    5.1 本章主要内容  76

    5.2 对称加密算法原理  76

    5.3 分组密码模式  77

    5.3.1 ECB(电子密码本)模式  77

    5.3.2 CBC(密码分组链接)模式  78

    5.3.3 CTR(计数器)模式  79

    5.4 PKCS7填充方案  81

    5.5 AES算法概述  82

    5.6 AES 算法详细说明  84

    5.6.1 字节替换  84

    5.6.2 行移位  86

    5.6.3 列混合  87

    5.6.4 轮密钥加法  87

    5.6.5 轮密钥生成  88

    5.7 AES算法动手实践  90

    5.8 mbedtls 对称加密应用工具  91

    5.8.1 aescrypto2  91

    5.8.2 crypt_and_hash  92

    5.9 mbedtls AES示例  93

    5.9.1 示例描述  93

    5.9.2 示例代码  94

    5.9.3 代码说明  96

    5.9.4 编译与运行  97

    5.10 本章小结  99

    第6章 消息认证码  100

    6.1 本章主要内容  100

    6.2 消息认证码原理  100

    6.3 消息认证码实现方法  102

    6.3.1 单向散列算法实现  102

    6.3.2 分组密码实现  102

    6.3.3 认证加密算法实现  102

    6.4 HMAC算法  102

    6.5 CBC-MAC和CMAC  104

    6.5.1 CBC-MAC  104

    6.5.2 CMAC  104

    6.6 认证加密CCM  106

    6.6.1 输入数据格式化  106

    6.6.2 认证和加密  108

    6.7 认证加密GCM  109

    6.7.1 GHASH  110

    6.7.2 GCTR  110

    6.7.3 认证和加密  111

    6.8 mbedtls HMAC示例  112

    6.8.1 示例代码  113

    6.8.2 代码说明  114

    6.8.3 编译与运行  116

    6.9 mbedtls GCM 示例  117

    6.9.1 示例代码  117

    6.9.2 代码说明  119

    6.9.3 编译与运行  120

    6.10 本章小结  121

    第7章 伪随机数生成器  122

    7.1 本章主要内容  122

    7.2 随机数概述  122

    7.3 随机数生成器  123

    7.3.1 真随机数生成器  123

    7.3.2 伪随机数生成器  124

    7.4 CTR_DRBG算法  125

    7.4.1 参数情况  125

    7.4.2 生成过程  125

    7.5 mbedtls 随机数应用工具  126

    7.5.1 gen_entropy  126

    7.5.2 gen_random_ctr_drbg  127

    7.5.3 gen_random_havege  127

    7.6 mbedtls CTR_DRBG示例  128

    7.6.1 示例代码  128

    7.6.2 代码说明  130

    7.6.3 编译与执行  131

    7.7 mbedtls 大素数生成示例  132

    7.7.1 示例代码  133

    7.7.2 代码说明  135

    7.7.3 编译与执行  135

    7.8 mbedtls 自定义熵源接口  136

    7.9 本章小结  137

    第8章 RSA算法  138

    8.1 本章主要内容  138

    8.2 RSA算法原理  138

    8.3 RSA 算法详细说明  140

    8.4 RSA加速技术  141

    8.4.1 中国剩余数定理  142

    8.4.2 动手实践  142

    8.4.3 性能对比  143

    8.5 RSA 填充方法  144

    8.5.1 PKCS1-V1_5  144

    8.5.2 OAEP  145

    8.6 mbedtls RSA应用工具  146

    8.6.1 rsa_genkey  146

    8.6.2 rsa_encrypt  147

    8.6.3 rsa_decrypt  148

    8.7 mbedtls RSA加解密示例  148

    8.7.1 示例代码  149

    8.7.2 代码说明  151

    8.7.3 编译与执行  153

    8.8 本章小结  155

    第9章 DH密钥协商  156

    9.1 本章主要内容  156

    9.2 DH密钥协商数学基础  156

    9.3 DH密钥协商详细说明  157

    9.3.1 DH共享参数  157

    9.3.2 DH密钥协商  158

    9.3.3 DH具体实践  158

    9.3.4 DH密钥协商安全性分析  159

    9.4 常用共享参数  161

    9.5 mbedtls DH应用工具  162

    9.5.1 dh_genprime  163

    9.5.2 dh_server  164

    9.5.3 dh_client  165

    9.6 mbedtls DH示例  165

    9.6.1 示例代码  166

    9.6.2 代码说明  168

    9.6.3 编译与执行  170

    9.7 本章小结  172

    第10章 ECDH密钥协商  173

    10.1 本章主要内容  173

    10.2 椭圆曲线定义  173

    10.2.1 实数域上的椭圆曲线  174

    10.2.2 有限域上的椭圆曲线  175

    10.3 椭圆曲线上群操作  176

    10.3.1 群操作几何描述  176

    10.3.2 群操作代数描述  177

    10.3.3 群操作动手实践  178

    10.4 椭圆曲线离散对数问题  180

    10.5 常用有限域上的椭圆曲线  181

    10.6 ECDH密钥协商  183

    10.6.1 ECDH共享参数  184

    10.6.2 密钥协商过程  184

    10.6.3 动手实践  184

    10.7 mbedtls椭圆曲线模块  185

    10.8 mbedtls ECDH示例  187

    10.8.1 示例代码  188

    10.8.2 代码说明  190

    10.8.3 编译与执行  192

    10.9 本章小结  193

    第11章 数字签名RSA、DSA和ECDSA  194

    11.1 本章主要内容  194

    11.2 数字签名原理  194

    11.3 RSA 数字签名  196

    11.3.1 RSA数字签名详细说明  196

    11.3.2 RSA数字签名动手实践  197

    11.3.3 RSA签名填充方法  197

    11.4 DSA数字签名  199

    11.4.1 DSA数字签名详细说明  199

    11.4.2 DSA签名动手实践  200

    11.5 ECDSA数字签名  201

    11.5.1 ECDSA数字签名详细说明  201

    11.5.2 ECDSA动手实践  203

    11.6 mbedtls 数字签名应用工具  204

    11.6.1 rsa_genkey  204

    11.6.2 rsa_sign  204

    11.6.3 rsa_verify  205

    11.7 mbedtls RSA签名示例  205

    11.7.1 示例代码  206

    11.7.2 代码说明  208

    11.7.3 编译与执行  209

    11.8 mbedtls ECDSA示例  211

    11.8.1 示例代码  211

    11.8.2 代码说明  214

    11.8.3 编译与执行  215

    11.9 本章小结  216

    第12章 数字证书X.509  217

    12.1 本章主要内容  217

    12.2 数字证书原理  217

    12.3 X.509证书标准  219

    12.3.1 证书结构  219

    12.3.2 证书名称  219

    12.3.3 证书实例  220

    12.4 mbedtls X.509应用工具  224

    12.4.1 cert_req  225

    12.4.2 req_app  226

    12.4.3 cert_write  227

    12.4.4 cert_app  229

    12.5 mbedtls X.509示例  231

    12.5.1 示例代码  232

    12.5.2 代码说明  234

    12.5.3 编译与执行  236

    12.6 本章小结  237

    第13章 mbedtls 移植与性能分析  238

    13.1 本章主要内容  238

    13.2 mbedtls移植  238

    13.2.1 时间相关  239

    13.2.2 网络相关  240

    13.2.3 内存分配相关  241

    13.3 mbedtls算法性能说明  243

    13.3.1 单向散列函数  243

    13.3.2 AES算法  244

    13.3.3 AES-GCM和AES-CCM  245

    13.3.4 伪随机数生成器  246

    13.3.5 RSA  247

    13.3.6 DHE和ECDHE  248

    13.3.7 ECDSA  248

    13.3.8 ECC内存优化  250

    13.4 本章小结  253

    第14章 TLS  254

    14.1 本章主要内容  254

    14.2 TLS原理  254

    14.2.1 TLS设计目标  256

    14.2.2 TLS框架说明  256

    14.3 TLS密码套件  257

    14.4 TLS记录层协议  258

    14.5 密码规格变更协议  260

    14.6 警报协议  260

    14.7 握手协议  261

    14.7.1 握手协议概述  261

    14.7.2 完整握手过程  263

    14.7.3 会话恢复  270

    14.8 TLS密钥交换  271

    14.8.1 密钥交换算法对比  271

    14.8.2 ECDHE密钥交换  272

    14.8.3 ECDH与ECDHE的区别  275

    14.9 TLS密钥计算  276

    14.9.1 伪随机数生成函数  276

    14.9.2 主密钥计算  278

    14.9.3 KeyBlock计算  278

    14.9.4 密钥计算示例  279

    14.10 对称加密  281

    14.10.1 分组加密  281

    14.10.2 认证加密  284

    14.10.3 对称加密示例  285

    14.10.4 对称加密结果长度对比  287

    14.11 mbedtls TLS应用工具  287

    14.11.1 基础示例说明  289

    14.11.2 启动 ssl_server2  290

    14.11.3 抓取网络数据  290

    14.11.4 启动 ssl_client2  291

    14.11.5 分析网络数据  291

    14.12 构建TLS服务器  293

    14.12.1 生成证书  293

    14.12.2 编写HTML页面  295

    14.12.3 启动s_server   295

    14.12.4 验证服务器  29
查看详情
12
相关图书 / 更多
密码技术与物联网安全:mbedtls开发实战
密码:来者何人?(知物系列)
[英]马丁·保罗·伊夫(Martin Paul Eve)
密码技术与物联网安全:mbedtls开发实战
密码学
游林;胡耿然;胡丽琴;徐茂智
密码技术与物联网安全:mbedtls开发实战
密码俱乐部——用数学做加密和解密的游戏
维拉·普莱斯(Vera Pless) 著;[美]珍妮特·贝辛格(Janet Beissinger)、希格玛工作室 译
密码技术与物联网安全:mbedtls开发实战
密码简史——穿越远古展望未来
杨义先、钮心忻 著
密码技术与物联网安全:mbedtls开发实战
密码软件实现与密钥安全
林璟锵;郑昉昱;王伟;刘哲;王琼霄
密码技术与物联网安全:mbedtls开发实战
密码学原理与Java实现
朱文伟 李建英
密码技术与物联网安全:mbedtls开发实战
密码了不起
刘巍然
密码技术与物联网安全:mbedtls开发实战
密码的奥秘(全新修订版)(全彩)
[美]Paul Lunde(保罗·伦德
密码技术与物联网安全:mbedtls开发实战
密码技术应用与实践
张敏情 著
密码技术与物联网安全:mbedtls开发实战
密码编码学与网络安全——原理与实践(第八版)
[美]William Stallings(威廉·斯托林斯
密码技术与物联网安全:mbedtls开发实战
密码学与数论基础
何天晓;沈忠华;薛昭雄;于秀源
密码技术与物联网安全:mbedtls开发实战
密码学实验教程
郭华 著
您可能感兴趣 / 更多
密码技术与物联网安全:mbedtls开发实战
机械识图与公差配合
徐凯 沈丽 李智慧
密码技术与物联网安全:mbedtls开发实战
数控车床编程与加工技术
徐凯 孟令新 王同刚
密码技术与物联网安全:mbedtls开发实战
《弟子规》中的成长智慧
徐凯 编
密码技术与物联网安全:mbedtls开发实战
IoT开发实战:CoAP卷
徐凯 著
密码技术与物联网安全:mbedtls开发实战
九色鹿/我要读·棒小孩都爱读故事
徐凯 绘;段立欣 改写
密码技术与物联网安全:mbedtls开发实战
《论语》中的成长智慧
徐凯 韩良港
密码技术与物联网安全:mbedtls开发实战
抽象危险犯正当性问题研究:以德国法为视角
徐凯 著
密码技术与物联网安全:mbedtls开发实战
大学生安全教育
徐凯 主编
密码技术与物联网安全:mbedtls开发实战
国学精华读本
徐凯 主编
密码技术与物联网安全:mbedtls开发实战
九色鹿(好孩子.幼小衔接桥梁书5-7岁))
徐凯 绘;段立欣 改写
密码技术与物联网安全:mbedtls开发实战
孤寂大陆上的陌生人:帕特里克·怀特小说中的怪异性研究
徐凯 著
密码技术与物联网安全:mbedtls开发实战
中国历史上的重要革新与变法
徐凯 著