温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
典型
密码
算法
FPGA
实现
网络空间安全系列教材 普通高等教育“十三五”规划教材 典型密码算法 FPGA 实现 杨亚涛 李子臣 编著 内 容 简 介 本书用 FPGA 实现的密码算法主要分为四大部分,分别是分组密码、公钥密码、Hash 算法和数字签名算法,其中分组密码包括 DES、AES 和 SM4 算法;公钥算法包括 RSA 公钥密码算法、ECC 密码算法和 SM2 密码算法;Hash 算法包括 SHA-1 算法、SHA-3 算法和 SM3 算法;数字签名算法包括 ECC签名算法和 DSA 签名算法。本书在 Xilinx 公司的 ISE 平台和 Mentor 公司 ModelSim 仿真软件上编程实现了这些算法,并且还附加了相关实现截图以及密码算法实现效率分析。本书不仅可作为大学密码与信息安全相关专业本科生以及研究生的教学与参考用书,也可以作为密码与信息安全科研或工程开发人员的参考书。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 典型密码算法 FPGA 实现/杨亚涛,李子臣编著北京:电子工业出版社,2017.1 ISBN 978-7-121-30383-8 I典 II杨 李 III密码算法可编程序逻辑器件系统设计 IVTN918.1 TP332.1 中国版本图书馆 CIP 数据核字(2016)第 277861 号 策划编辑:戴晨辰 责任编辑:戴晨辰 文字编辑:刘 芳 印 刷:装 订:出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:7871 092 1/16 印张:13 字数:332.8 千字 版 次:2017 年 1 月第 1 版 印 次:2017 年 1 月第 1 次印刷 定 价:38.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:,192910558(QQ 群)。III 网络空间安全系列教材 编委会名单 编 委 会 主 任 杨义先 编委会副主任 李子臣 马春光 郑 东 编 委 会 委 员(以汉字笔画为序)王景中 刘吉强 汤永利 许春根 吴志军 张卫东 杨亚涛 谷大武 辛 阳 罗 平 赵泽茂 贾春福 高 博 彭长根 蒋文保 韩益亮 蔡永泉 蔡满春 编 委 会 秘 书 岳 桢 V 序 随着经济全球化和信息化的发展,以互联网为平台的信息基础设施,对整个社会的正常运行和发展正起着关键的作用。甚至,像电力、能源、交通等传统基础设施的运行,也逐渐依赖互联网和相关的信息系统才能正常运行。网络信息对社会发展有重要的支撑作用。网络空间是利用全球互联网和计算系统进行通信、控制和信息共享的动态虚拟空间,包括四个要素,分别是网络平台、用户虚拟角色、资产数据和管理活动,是社会有机运行的神经系统,已经成为继陆、海、空、天之后的第五空间。网络空间面临的威胁也与日俱增。从国际上看,国家或地区在政治、经济、军事等各领域的冲突都会反映到网络空间中,而由于网络空间边界不明确、资源分配不均衡,导致网络空间的争夺异常复杂。另外,网络犯罪和网络攻击也对个人和企业构成严重威胁。在网络中,个人隐私信息泄露并大范围传播的事件已经屡见不鲜,以非法牟利为目的、利用计算机网络进行的犯罪已经形成了黑色的地下经济产业链。如何充分利用互联网对经济发展的推动作用、保护公民和企业的合法权益,同时又要控制其对经济社会发展带来的负面威胁,需要研究和探索更加科学合理的网络空间安全治理模式。正如习近平总书记所言:“没有网络安全,就没有国家安全”。加强网络空间安全已经成为国家安全战略的重要组成部分。2014 年 2 月,中央网络安全和信息化领导小组成立。2015 年 6 月,国务院学位委员会、教育部决定在“工学”门类下增设“网络空间安全”一级学科,并明确指出需加强“网络空间安全”的学科建设,做好人才培养工作。2016 年 3 月,国务院学位委员会下发通知,明确全国共有 29 所高校获得我国首批网络空间安全一级学科博士学位授权点。6 月,中央网络安全和信息化领导小组办公室、国家发展和改革委员会、教育部、科学技术部、工业和信息化部、人力资源和社会保障部联合发文,关于加强网络安全学科建设和人才培养的意见(中网办发文20164 号)指出,网络空间的竞争,归根结底是人才竞争。我国网络空间安全人才还存在数量缺口较大、能力素质不高、结构不尽合理等问题,与维护国家网络安全、建设网络强国的要求不相适应。提出要加快网络安全学科专业和院系建设;创新网络安全人才培养机制;加强网络安全教材建设;强化网络安全师资队伍建设;完善网络安全人才培养配套措施等意见。网络空间安全主要研究网络空间中的安全威胁和防护问题,即在有敌手的对抗环境下,研究信息在产生、传输、存储、处理、销毁等各个环节中所面临的威胁和防御措施,以及网络和系统本身面临的安全漏洞和防护机制,不仅仅包括传统信息安全所研究的信息的保密性、完整性和可用性,同时还包括构成网络空间基础设施的安全和可信。从宏观层面来看,网络空间安全的研究对象主要包括:全球各类各级信息基础设施的安全威胁;从微观来看,主要对象包括:通信网络、计算机网络及其设备和应用系统中的安全威胁。数学、信息论、计算复杂性理论等是网络空间安全所依靠的重要理论基础。网络空间安全的理论体系由三部分组成。一是基础理论体系,主要包括:网络空间理论、密码学、离散结构理论和计算复杂性理论等;其中,信息的机密性、完整性、可控性、可靠 VI 性等是核心,对称加密、公钥加密、密码分析、侧信道分析等是重点,在复杂环境中的可证安全、可信可控及定量分析理论是关键。二是技术理论体系,主要包括网络空间安全保障理论体系,从系统和网络角度,研究和设计网络空间的各种安全保护方法和技术。重点包括:芯片安全、操作系统安全、数据库安全、中间件安全、恶意代码等,从预警、保护、检测到恢复响应的安全保障技术理论。从网络安全角度,以通信基础设施、互联网基础设施等为研究对象,聚焦研究通信安全、网络安全、网络对抗等。三是应用理论体系,从应用角度来看,针对各种应用系统,研究在实际环境中面临的各种安全问题,如 Web 安全、内容安全、垃圾信息等,涵盖电子商务、电子政务、物联网、云计算、大数据等诸多应用领域。网络空间安全有如下五个研究方向。一是网络空间安全基础,包括:网络空间安全数学理论、网络空间安全体系结构、网络空间安全数据分析、网络空间博弈理论、网络空间安全治理与策略、网络空间安全标准与评测等。二是密码学及应用,包括:对称密码设计与分析、公钥密码设计与分析、安全协议设计与分析、侧信道分析与防护、量子密码与新型密码等。三是系统安全,包括:芯片安全、系统软件安全、虚拟化计算平台安全、恶意代码分析与防护等。四是网络安全,包括:通信基础设施及物理环境安全、互联网基础设施安全、网络安全管理、网络安全防护与主动防御(攻防与对抗)、端到端的安全通信等。五是应用安全,包括:关键应用系统安全、社会网络安全(包括内容安全)、隐私保护、工控系统与物联网安全、先进计算安全等。中国密码学会教育与科普工作委员会与电子工业出版社合作,共同筹划了这套“网络空间安全系列教材”,主要包括密码学、密码学实验教程、公钥密码学、应用密码学、密码学数学基础、密码基础算法、典型密码算法 FPGA 实现、典型密码算法 JAVA实现、公钥密码算法 C 语言实现、密码分析学、网络空间安全导论、信息安全管理、信息系统安全、网络空间安全技术、网络空间安全实验教程、网络攻防技术、同态密码学、对称密码学等。希望为信息安全、网络空间安全、网络安全与执法、信息对抗技术等本科专业提供教材,也为密码学、网络空间安全、信息安全等专业的研究生和博士生,以及从事该领域的科研人员提供教材和参考书。为我国网络空间安全教材建设、普及密码知识和网络空间安全人才培养,贡献绵薄之力。2016 年 12 月 VII前 言 信息在社会中的地位和作用越来越重要,已成为社会发展的重要战略资源,随之而产生的信息安全问题也日益受到人们的关注,保证信息的安全是保障国家稳定、促进经济发展的重要因素。为了提高我国信息安全的建设水平,提升大学生对密码学与信息安全相关知识的掌握程度和运用能力,国内许多高校开设了不少有关密码学和信息安全的课程,但是所用教材与参考书籍大多侧重于密码算法理论与原理的描述与分析,缺乏对算法的实现过程与实现环境的具体描述,对算法代码的硬件实现更少提及。许多学生学习起来感觉比较茫然和枯燥,以致最后对密码算法的掌握不够深入扎实,对密码学相关知识的学习效果不够理想。因此,本着帮助读者学习、研究密码算法的初衷,本书主要描述典型密码算法的 FPGA 实现过程,侧重培养读者的编程能力,在前人工作的基础上,根据国家公布的有关标准密码算法以及密码学研究的热点,就现行的主要密码算法进行了编程实现。本书内容丰富、特色鲜明、实用性强,不仅给出了算法的理论知识,还在 Xilinx 公司的ISE 平台和 Mentor 公司 ModelSim 仿真软件上编程实现了整个算法,并且还附加了相关实现截图以及密码算法实现效率分析。本书不仅可以作为大学本科生以及研究生的教学与参考用书,也可以作为密码科学研究者与工程开发人员的参考书。本书密码算法主要分四大部分,分别是分组密码、公钥密码、Hash 算法和数字签名算法,其中分组密码有 DES、AES 和 SM4 算法,公钥算法有 RSA 公钥密码算法、ECC 密码算法和SM2 密码算法,Hash 算法有 SHA-1 算法、SHA-3 算法和我国商密算法 SM3,数字签名算法有 ECC 签名算法和 DSA 签名算法。本书各章程序实现的参考源代码可以通过华信教育资源网本书各章程序实现的参考源代码可以通过华信教育资源网http:/注册免费下载。注册免费下载。全书由杨亚涛博士、李子臣教授负责编著,本书的编写得到了北京电子科技学院相关领导和师生的无私帮助,在此向所有为本书做出贡献的老师和同学们致以衷心的感谢!电子工业出版社为本书的校对、编辑和出版做了大量的工作,对他们也表示诚挚的感谢!由于时间仓促以及作者水平有限,虽然尽全力对本书进行了校对和检错,但是不免还有疏漏之处,恳请广大读者批评指正。作 者 2016 年 12 月 IX目 录 第 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 和 IP1模块设计 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 X3.2.1 密钥加变换设计 32 3.2.2 字节代换模块设