《密码技术与物联网安全:mbedtls开发实战》PDF电子书免费下载

作者:  徐凯、崔红鹏

出版社: 机械工业出版社

ISBN: 9787111620013

~~滚到底部有网盘下载链接~~

内容简介

目录

推荐序一
推荐序二
前言
第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

下载价格:免费
立即下载
登入/注册
知识就是力量
没有账号? 忘记密码?