发表于2024-12-13
典型密码算法FPGA实现 pdf epub mobi txt 电子书 下载
本书用FPGA实现的密码算法主要分为四大部分,分别是分组密码、公钥密码、Hash算法和数字签名算法,其中分组密码包括DES、AES和SM4算法;公钥算法包括RSA公钥密码算法、ECC密码算法和SM2密码算法;Hash算法包括SHA-1算法、SHA-3算法和SM3算法;数字签名算法包括ECC签名算法和DSA签名算法。 本书在Xilinx公司的ISE平台和Mentor公司ModelSim仿真软件上编程实现了这些算法,并且还附加了相关实现截图以及密码算法实现效率分析。 本书不仅可作为大学密码与信息安全相关专业本科生以及研究生的教学与参考用书,也可以作为密码与信息安全科研或工程开发人员的参考书。
杨亚涛,博士,副教授,硕士生导师,2009年毕业于北京邮电大学网络与交换国家重点实验室信息安全专业,获工学博士学位。2010年在香港大学信息安全与密码研究中心从事访问学者,2011年被国家留学基金委选拔为国家公派访问学者,到瑞士苏黎世大学和苏黎世联邦理工大学从事通信与网络安全、同态密码、安全协议与算法设计等方面的研究。近年来,在国内外学术期刊和知名国际学术会议发表论文60多篇,其中,有30多篇被SCI、EI、ISTP收录。参加和主持国家"973”科研项目、国家"863”项目、国家自然科研基金项目,国家"十一五”XXX基金项目、国家"十二五”XXX基金项目等十多项。获得信息安全领域10多项国家发明专利,2013年入选"北京高校青年英才计划”。
第1章 密码算法FPGA实现基础 1
1.1 FPGA概述 1
1.1.1 Xilinx公司的代表芯片 2
1.1.2 Altera公司的代表芯片 2
1.2 FPGA工作原理 3
1.3 FPGA语法基础 4
1.3.1 Verilog HDL语法要点 4
1.3.2 VHDL语法要点 7
1.4 FPGA开发环境简介 10
1.4.1 FPGA开发环境ISE 10
1.4.2 FPGA开发环境ModelSim 14
1.5 密码算法的FPGA实现流程 16
1.5.1 FPGA一般实现流程 16
1.5.2 密码算法的FPGA实现流程 16
1.6 本章小结 17
第2章 DES算法FPGA实现 18
2.1 DES算法原理 18
2.1.1 参数产生 18
2.1.2 密钥生成 18
2.1.3 加密解密过程 19
2.1.4 安全性分析 20
2.2 DES算法相关模块的FPGA设计 20
2.2.1 IP和IP?1模块设计 21
2.2.2 密钥扩展设计 21
2.2.3 S盒设计 22
2.2.4 f函数设计 23
2.2.5 顶层模块设计 24
2.3 DES算法工程实现 25
2.4 效果测试 28
2.5 本章小结 29
第3章 AES算法FPGA实现 30
3.1 AES算法原理 30
3.1.1 基础知识 30
3.1.2 加密解密过程 31
3.2 AES算法相关模块FPGA设计 32
3.2.1 密钥加变换设计 32
3.2.2 字节代换模块设计 32
3.2.3 密钥扩展模块设计 35
3.2.4 行移位设计 37
3.2.5 列混合设计 38
3.3 AES算法工程实现 39
3.4 效果测试 41
3.5 本章小节 43
第4章 SM4算法FPGA实现 44
4.1 SM4算法原理 44
4.1.1 算法定义 44
4.1.2 算法描述 44
4.1.3 加解密算法 45
4.2 SM4算法相关模块FPGA设计 46
4.2.1 循环移位设计 46
4.2.2 S盒设计 47
4.2.3 密钥扩展设计 48
4.2.4 轮函数加密设计 52
4.3 SM4算法工程实现 54
4.4 效果测试 56
4.5 本章小节 57
第5章 RSA算法FPGA实现 58
5.1 RSA算法原理 58
5.1.1 参数产生与密钥生成 58
5.1.2 加解密过程 58
5.1.3 正确性证明与安全性分析 59
5.2 RSA算法相关模块FPGA设计 60
5.2.1 Montgmoery算法模块设计 60
5.2.2 R-L模式模幂算法模块设计 62
5.3 RSA算法工程实现 67
5.4 效果测试 70
5.5 本章小结 72
第6章 ECC算法FPGA实现 73
6.1 ECC算法原理 73
6.1.1 参数产生 73
6.1.2 加密解密过程 73
6.2 ECC算法相关模块FPGA设计 74
6.2.1 有限域加法的FPGA实现 74
6.2.2 有限域乘法的FPGA实现 75
6.2.3 有限域平方的FPGA实现 76
6.2.4 有限域模逆的FPGA实现 79
6.2.5 点加和倍加的FPGA实现 82
6.2.6 点乘的FPGA实现 86
6.3 ECC算法工程实现 89
6.4 效果测试 92
6.5 本章小结 93
第7章 SM2算法FPGA实现 94
7.1 算法原理 94
7.1.1 密钥生成 94
7.1.2 加密过程 94
7.1.3 解密过程 95
7.2 SM2算法相关模块FPGA设计 97
7.2.1 坐标转换模块设计 97
7.2.2 点加运算和2倍点运算设计 97
7.2.3 点乘运算设计 98
7.2.4 Hash算法设计 99
7.2.5 模逆运算设计 99
7.3 SM2算法工程实现 99
7.4 效果测试 103
7.5 本章小结 105
第8章 SHA-1算法FPGA实现 106
8.1 SHA-1算法原理 106
8.1.1 SHA-1算法的补位与补长度 106
8.1.2 计算消息摘要 107
8.2 SHA-1算法基本步骤 107
8.3 SHA-1算法的FPGA设计 109
8.3.1 控制单元模块设计 109
8.3.2 消息扩展模块设计 110
8.3.3 迭代压缩模块设计 110
8.3.4 结果输出模块设计 112
8.4 SHA-1算法工程实现 113
8.5 效果测试 115
8.6 本章小结 117
第9章 Keccak算法FPGA实现 118
9.1 算法描述 118
9.1.1 Keccak结构 118
9.1.2 常数与函数 119
9.2 Keccak算法相关模块FPGA设计 120
9.2.1 主函数模块的设计 120
9.2.2 轮函数模块设计 122
9.2.3 轮常数模块的设计 123
9.2.4 缓存模块设计 124
9.3 Keccak算法工程实现 126
9.4 效果测试 129
9.5 本章小结 131
第10章 SM3算法FPGA实现 132
10.1 SM3算法原理 132
10.1.1 算法描述 132
10.1.2 常数与函数 134
10.2 SM3算法相关模块FPGA设计 134
10.2.1 控制单元设计 134
10.2.2 消息扩展模块设计 136
10.2.3 迭代压缩模块设计 140
10.2.4 结果输出模块设计 141
10.3 SM3算法工程实现 143
10.4 效果测试 147
10.5 本章小结 148
第11章 DSA数字签名算法FPGA实现 149
11.1 DSA数字签名原理 149
11.2 DSA数字签名算法相关模块FPGA设计 150
11.2.1 模乘算法模块设计 151
11.2.2 模幂算法模块设计 152
11.2.3 模逆算法模块设计 156
11.2.4 模加算法模块设计 158
11.3 DSA数字签名算法的工程实现及结果 159
11.4 效果测试 162
11.5 本章小结 163
第12章 ECC数字签名算法FPGA实现 164
12.1 ECC数字签名原理 164
12.2 ECC数字签名算法相关模块FPGA设计 165
12.2.1 模乘算法模块设计 165
12.2.2 模逆模块设计 168
12.2.3 Hash函数模块设计 172
12.2.4 点乘模块设计 172
12.3 ECC数字签名算法的工程实现及结果 185
12.4 效果测试 188
12.5 本章小结 189
参考文献 190
序
随着经济全球化和信息化的发展,以互联网为平台的信息基础设施,对整个社会的正常运行和发展正起着关键的作用。甚至,像电力、能源、交通等传统基础设施的运行,也逐渐依赖互联网和相关的信息系统才能正常运行。网络信息对社会发展有重要的支撑作用。
网络空间是利用全球互联网和计算系统进行通信、控制和信息共享的动态虚拟空间,包括四个要素,分别是网络平台、用户虚拟角色、资产数据和管理活动,是社会有机运行的神经系统,已经成为继陆、海、空、天之后的第五空间。
网络空间面临的威胁也与日俱增。从国际上看,国家或地区在政治、经济、军事等各领域的冲突都会反映到网络空间中,而由于网络空间边界不明确、资源分配不均衡,导致网络空间的争夺异常复杂。另外,网络犯罪和网络攻击也对个人和企业构成严重威胁。在网络中,个人隐私信息泄露并大范围传播的事件已经屡见不鲜,以非法牟利为目的、利用计算机网络进行的犯罪已经形成了黑色的地下经济产业链。如何充分利用互联网对经济发展的推动作用、保护公民和企业的合法权益,同时又要控制其对经济社会发展带来的负面威胁,需要研究和探索更加科学合理的网络空间安全治理模式。正如习近平总书记所言:“没有网络安全,就没有国家安全”。
加强网络空间安全已经成为国家安全战略的重要组成部分。2014年2月,中央网络安全和信息化领导小组成立。2015年6月,国务院学位委员会、教育部决定在“工学”门类下增设“网络空间安全”一级学科,并明确指出需加强“网络空间安全”的学科建设,做好人才培养工作。2016年3月,国务院学位委员会下发通知,明确全国共有29所高校获得我国首批网络空间安全一级学科博士学位授权点。6月,中央网络安全和信息化领导小组办公室、国家发展和改革委员会、教育部、科学技术部、工业和信息化部、人力资源和社会保障部联合发文,《关于加强网络安全学科建设和人才培养的意见》(中网办发文[2016]4号)指出,网络空间的竞争,归根结底是人才竞争。我国网络空间安全人才还存在数量缺口较大、能力素质不高、结构不尽合理等问题,与维护国家网络安全、建设网络强国的要求不相适应。提出要加快网络安全学科专业和院系建设;创新网络安全人才培养机制;加强网络安全教材建设;强化网络安全师资队伍建设;完善网络安全人才培养配套措施等意见。
网络空间安全主要研究网络空间中的安全威胁和防护问题,即在有敌手的对抗环境下,研究信息在产生、传输、存储、处理、销毁等各个环节中所面临的威胁和防御措施,以及网络和系统本身面临的安全漏洞和防护机制,不仅仅包括传统信息安全所研究的信息的保密性、完整性和可用性,同时还包括构成网络空间基础设施的安全和可信。从宏观层面来看,网络空间安全的研究对象主要包括:全球各类各级信息基础设施的安全威胁;从微观来看,主要对象包括:通信网络、计算机网络及其设备和应用系统中的安全威胁。
数学、信息论、计算复杂性理论等是网络空间安全所依靠的重要理论基础。
网络空间安全的理论体系由三部分组成。一是基础理论体系,主要包括:网络空间理论、密码学、离散结构理论和计算复杂性理论等;其中,信息的机密性、完整性、可控性、可靠性等是核心,对称加密、公钥加密、密码分析、侧信道分析等是重点,在复杂环境中的可证安全、可信可控及定量分析理论是关键。二是技术理论体系,主要包括网络空间安全保障理论体系,从系统和网络角度,研究和设计网络空间的各种安全保护方法和技术。重点包括:芯片安全、操作系统安全、数据库安全、中间件安全、恶意代码等,从预警、保护、检测到恢复响应的安全保障技术理论。从网络安全角度,以通信基础设施、互联网基础设施等为研究对象,聚焦研究通信安全、网络安全、网络对抗等。三是应用理论体系,从应用角度来看,针对各种应用系统,研究在实际环境中面临的各种安全问题,如Web安全、内容安全、垃圾信息等,涵盖电子商务、电子政务、物联网、云计算、大数据等诸多应用领域。
网络空间安全有如下五个研究方向。一是网络空间安全基础,包括:网络空间安全数学理论、网络空间安全体系结构、网络空间安全数据分析、网络空间博弈理论、网络空间安全治理与策略、网络空间安全标准与评测等。二是密码学及应用,包括:对称密码设计与分析、公钥密码设计与分析、安全协议设计与分析、侧信道分析与防护、量子密码与新型密码等。三是系统安全,包括:芯片安全、系统软件安全、虚拟化计算平台安全、恶意代码分析与防护等。四是网络安全,包括:通信基础设施及物理环境安全、互联网基础设施安全、网络安全管理、网络安全防护与主动防御(攻防与对抗)、端到端的安全通信等。五是应用安全,包括:关键应用系统安全、社会网络安全(包括内容安全)、隐私保护、工控系统与物联网安全、先进计算安全等。
中国密码学会教育与科普工作委员会与电子工业出版社合作,共同筹划了这套“网络空间安全系列教材”,主要包括《密码学》、《密码学实验教程》、《公钥密码学》、《应用密码学》、《密码学数学基础》、《密码基础算法》、《典型密码算法FPGA实现》、《典型密码算法JAVA实现》、《公钥密码算法C语言实现》、《密码分析学》、《网络空间安全导论》、《信息安全管理》、《信息系统安全》、《网络空间安全技术》、《网络空间安全实验教程》、《网络攻防技术》、《同态密码学》、《对称密码学》等。希望为信息安全、网络空间安全、网络安全与执法、信息对抗技术等本科专业提供教材,也为密码学、网络空间安全、信息安全等专业的研究生和博士生,以及从事该领域的科研人员提供教材和参考书。为我国网络空间安全教材建设、普及密码知识和网络空间安全人才培养,贡献绵薄之力。
杨义先
2016年12月
前 言
信息在社会中的地位和作用越来越重要,已成为社会发展的重要战略资源,随之而产生的信息安全问题也日益受到人们的关注,保证信息的安全是保障国家稳定、促进经济发展的重要因素。为了提高我国信息安全的建设水平,提升大学生对密码学与信息安全相关知识的掌握程度和运用能力,国内许多高校开设了不少有关密码学和信息安全的课程,但是所用教材与参考书籍大多侧重于密码算法理论与原理的描述与分析,缺乏对算法的实现过程与实现环境的具体描述,对算法代码的硬件实现更少提及。许多学生学习起来感觉比较茫然和枯燥,以致最后对密码算法的掌握不够深入扎实,对密码学相关知识的学习效果不够理想。因此,本着帮助读者学习、研究密码算法的初衷,本书主要描述典型密码算法的FPGA实现过程,侧重培养读者的编程能力,在前人工作的基础上,根据国家公布的有关标准密码算法以及密码学研究的热点,就现行的主要密码算法进行了编程实现。
本书内容丰富、特色鲜明、实用性强,不仅给出了算法的理论知识,还在Xilinx公司的ISE平台和Mentor公司ModelSim仿真软件上编程实现了整个算法,并且还附加了相关实现截图以及密码算法实现效率分析。本书不仅可以作为大学本科生以及研究生的教学与参考用书,也可以作为密码科学研究者与工程开发人员的参考书。
本书密码算法主要分四大部分,分别是分组密码、公钥密码、Hash算法和数字签名算法,其中分组密码有DES、AES和SM4算法,公钥算法有RSA公钥密码算法、ECC密码算法和SM2密码算法,Hash算法有SHA-1算法、SHA-3算法和我国商密算法SM3,数字签名算法有ECC签名算法和DSA签名算法。
本书各章程序实现的参考源代码可以通过华信教育资源网http://www.hxedu.com.cn注册免费下载。
全书由杨亚涛博士、李子臣教授负责编著,本书的编写得到了北京电子科技学院相关领导和师生的无私帮助,在此向所有为本书做出贡献的老师和同学们致以衷心的感谢!电子工业出版社为本书的校对、编辑和出版做了大量的工作,对他们也表示诚挚的感谢!
由于时间仓促以及作者水平有限,虽然尽全力对本书进行了校对和检错,但是不免还有疏漏之处,恳请广大读者批评指正。
作 者
2016年12月
我为什么喜欢在京东买东西,因为今天买明天就可以送到。我为什么每个商品的评价都一样,因为在京东买的东西太多太多了,导致积累了很多未评价的订单,所以我统一用段话作为评价内容。京东购物这么久,有买到很好的产品,也有买到比较坑的产品,如果我用这段话来评价,说明这款产品没问题,至少85分以上,而比较垃圾的产品,我绝对不会偷懒到复制粘贴评价,我绝对会用心的差评,这样其他消费者在购买的时候会作为参考,会影响该商品销量,而商家也会因此改进商品质量。
评分写的好凑合
评分正品图书,到货快
评分感觉是盗版,细节方面很多小错误。比如,60页,突然冒出来一个N'。比如,63页,if写成f。读起来有点累……
评分我为什么喜欢在京东买东西,因为今天买明天就可以送到。我为什么每个商品的评价都一样,因为在京东买的东西太多太多了,导致积累了很多未评价的订单,所以我统一用段话作为评价内容。京东购物这么久,有买到很好的产品,也有买到比较坑的产品,如果我用这段话来评价,说明这款产品没问题,至少85分以上,而比较垃圾的产品,我绝对不会偷懒到复制粘贴评价,我绝对会用心的差评,这样其他消费者在购买的时候会作为参考,会影响该商品销量,而商家也会因此改进商品质量。
评分正品图书,到货快
评分写的好凑合
评分我为什么喜欢在京东买东西,因为今天买明天就可以送到。我为什么每个商品的评价都一样,因为在京东买的东西太多太多了,导致积累了很多未评价的订单,所以我统一用段话作为评价内容。京东购物这么久,有买到很好的产品,也有买到比较坑的产品,如果我用这段话来评价,说明这款产品没问题,至少85分以上,而比较垃圾的产品,我绝对不会偷懒到复制粘贴评价,我绝对会用心的差评,这样其他消费者在购买的时候会作为参考,会影响该商品销量,而商家也会因此改进商品质量。
评分正品图书,到货快
典型密码算法FPGA实现 pdf epub mobi txt 电子书 下载