图书简介:
第1章 绪论 1
1.1 密码学概述 1
1.1.1 密码学的发展历史 1
1.1.2 密码学的发展趋势 7
1.2 密码学的分类 10
1.2.1 对称密码体制 10
1.2.2 公钥密码体制 11
1.3 密码学的应用 11
1.3.1 信息安全要素 12
1.3.2 HTTPS案例分析 13
习题 14
第2章 实现平台简介 15
2.1 概述 15
2.2 实现平台介绍 16
2.2.1 CPU实现平台 16
2.2.2 GPU实现平台 25
2.3 硬件平台特殊指令加速 25
习题 26
第3章 DES算法 27
3.1 DES算法描述 27
3.1.1 算法结构 27
3.1.2 核心部件 28
3.2 DES快速实现方法 31
3.2.1 基于AVX的DES快速实现 32
3.2.2 64位平台上的DES快速实现 34
3.3 3-DES在GPU上的高速实现 36
3.3.1 3-DES结构设计 37
3.3.2 在GPU上实现3-DES 38
3.3.3 3-DES加密的实现 40
3.3.4 3-DES解密的实现 41
3.3.5 实现性能及分析 42
3.4 测试示例 43
3.4.1 参考常量 43
3.4.2 测试向量 45
习题 46
第4章 AES/SM4算法 48
4.1 AES算法描述 48
4.1.1 算法结构 48
4.1.2 核心部件 49
4.2 SM4算法描述 53
4.2.1 算法结构 53
4.2.2 核心部件 54
4.3 AES算法高速实现方法 55
4.3.1 资源受限平台上的AES高效实现 56
4.3.2 基于算法优化的AES快速实现 57
4.3.3 基于GPU的AES快速实现 59
4.4 基于CUDA的SM4并行实现与优化 65
4.4.1 CUDA 66
4.4.2 SM4的并行设计 67
4.4.3 基础实验 69
4.4.4 性能优化 70
4.4.5 结果分析和结论 72
4.5 SM4算法高速实现方法 73
4.6 测试示例 76
4.6.1 AES参考常量 76
4.6.2 AES测试向量 77
4.6.3 SM4参考常量 79
4.6.4 SM4测试向量 80
习题 80
第5章 SHA256/SM3算法 82
5.1 SHA256算法描述 82
5.1.1 算法结构 82
5.1.2 核心部件 83
5.2 SM3算法描述 87
5.2.1 算法结构 87
5.2.2 核心部件 88
5.3 SHA256算法高速实现方法 90
5.3.1 树哈希 90
5.3.2 区块链中的SHA256 91
5.4 SM3算法优化实现方法 94
5.4.1 CUDA框架 94
5.4.2 优化技术 95
5.4.3 性能评估 98
5.5 测试示例 100
习题 101
第6章 RSA算法 103
6.1 RSA算法描述 103
6.2 RSA算法原理 105
6.3 基础实现 106
6.3.1 大整数运算 106
6.3.2 蒙哥马利模乘 111
6.3.3 幂指数运算 116
6.4 RSA算法优化实现方法 121
6.4.1 预备知识 121
6.4.2 CPU平台上的RSA高速实现 125
6.4.3 GPU平台上的RSA高速实现 130
6.4.4 快速素数生成 133
6.4.5 中国剩余定理加速幂运算 137
6.5 测试示例 138
习题 140
第7章 椭圆曲线/SM2密码算法 141
7.1 椭圆曲线密码算法描述 141
7.2 椭圆曲线密码算法原理 141
7.2.1 椭圆曲线数字签名算法 144
7.2.2 椭圆曲线密钥协商算法 148
7.2.3 椭圆曲线公钥加密算法 152
7.3 椭圆曲线密码算法基础实现 155
7.4 椭圆曲线密码算法优化实现方法 158
7.4.1 模约减操作 158
7.4.2 坐标系选取 160
7.4.3 标量乘法优化 162
7.4.4 并行实现技术 164
7.5 测试示例 171
习题 174
第8章 双线性对/SM9算法 176
8.1 标识密码 176
8.2 双线性对 176
8.2.1 符号和定义 177
8.2.2 优化实现 177
8.3 SM9算法 188
8.3.1 SM9数字签名算法 189
8.3.2 SM9公钥加密算法 191
8.3.3 SM9数字签名算法的实现 194
8.4 算法示例 197
习题 202
参考资源 204
展开
随着数字化的快速发展,网络在社会和经济发展中的作用越来越大,网络安全在国家安全体系中也越来越重要。习近平总书记指出:“没有网络安全就没有国家安全,就没有经济社会稳定运行,广大人民群众利益也难以得到保障。”自主可控密码技术是网络安全的基石,密码工程是实现网络安全的重要技术途径。
网络安全的核心是人与人之间的对抗,专业人才培养是网络安全的基础保障。近年来,我国网络安全人才培养受到党和国家的高度重视,并取得了前所未有的成效。2016年4月19日,习近平总书记主持召开网络安全和信息化工作座谈会,并做出了“培养网信人才,要下大功夫、下大本钱,请优秀的老师,编优秀的教材,招优秀的学生,建一流的网络空间安全学院”的重要指示。2024年2月,16所高校入选新一期一流网络安全学院建设示范项目。目前,全国范围内已有90余所高校设立网络安全学院,200余所高校设置网络安全相关专业。显然,网络安全和密码学已成为高校新兴专业建设的重点方向。
随着《中华人民共和国网络安全法》《中华人民共和国密码法》《中华人民共和国数据安全法》《中华人民共和国个人信息保护法》《网络安全产业高质量发展三年行动计划(2021—2023年)》等政策法规的实施,网络安全和密码技术在维护国家安全、促进社会经济发展、保护人民群众利益中发挥着不可或缺的重要作用,也将在建设网络强国与数字中国进程中持续发挥基础支撑作用。
在密码技术创新和密码工程应用快速发展的背景下,编者基于多年密码学与密码工程的研究成果和教学经验,完成了《密码工程》一书的撰写。本书专注于密码工程理论与应用实践,力求对复杂与枯燥的密码算法及其实现进行简洁与有趣的表述,为读者提供实用化的密码工程参考。
本书包含配套教学资源,读者可登录华信教育资源网(www.hxedu.com.cn)下载。
本书由刘哲、周璐、何德彪编著。在本书的编写过程中,作者还得到了南京航空航天大学和武汉大学密码工程方向多位同学的协助,吴伟彬、杨昊、张吉鹏、王璐瑶、王慎卿、陶宇、胡芯忆和白野等为本书提供了部分参考资料,在此向他们致以诚挚的谢意。
由于密码工程涉及的内容多、范围广,并且相关技术更新迭代快,加之编者学识、资料和编写时间有限,书中难免有疏漏和欠妥之处,恳请广大读者和专家批评指正。
编著者
2024年11月
展开