典型密码算法FPGA实现
本书特色
[
本书用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实现基础 11.1 FPGA概述 11.1.1 Xilinx公司的代表芯片 21.1.2 Altera公司的代表芯片 21.2 FPGA工作原理 31.3 FPGA语法基础 41.3.1 Verilog HDL语法要点 41.3.2 VHDL语法要点 71.4 FPGA开发环境简介 101.4.1 FPGA开发环境ISE 101.4.2 FPGA开发环境ModelSim 141.5 密码算法的FPGA实现流程 161.5.1 FPGA一般实现流程 161.5.2 密码算法的FPGA实现流程 161.6 本章小结 17第2章 DES算法FPGA实现 182.1 DES算法原理 182.1.1 参数产生 182.1.2 密钥生成 182.1.3 加密解密过程 192.1.4 安全性分析 202.2 DES算法相关模块的FPGA设计 202.2.1 IP和IP?1模块设计 212.2.2 密钥扩展设计 212.2.3 S盒设计 222.2.4 f函数设计 232.2.5 顶层模块设计 242.3 DES算法工程实现 252.4 效果测试 282.5 本章小结 29第3章 AES算法FPGA实现 303.1 AES算法原理 303.1.1 基础知识 303.1.2 加密解密过程 313.2 AES算法相关模块FPGA设计 323.2.1 密钥加变换设计 323.2.2 字节代换模块设计 323.2.3 密钥扩展模块设计 353.2.4 行移位设计 373.2.5 列混合设计 383.3 AES算法工程实现 393.4 效果测试 413.5 本章小节 43第4章 SM4算法FPGA实现 444.1 SM4算法原理 444.1.1 算法定义 444.1.2 算法描述 444.1.3 加解密算法 454.2 SM4算法相关模块FPGA设计 464.2.1 循环移位设计 464.2.2 S盒设计 474.2.3 密钥扩展设计 484.2.4 轮函数加密设计 524.3 SM4算法工程实现 544.4 效果测试 564.5 本章小节 57第5章 RSA算法FPGA实现 585.1 RSA算法原理 585.1.1 参数产生与密钥生成 585.1.2 加解密过程 585.1.3 正确性证明与安全性分析 595.2 RSA算法相关模块FPGA设计 605.2.1 Montgmoery算法模块设计 605.2.2 R-L模式模幂算法模块设计 625.3 RSA算法工程实现 675.4 效果测试 705.5 本章小结 72第6章 ECC算法FPGA实现 736.1 ECC算法原理 736.1.1 参数产生 736.1.2 加密解密过程 736.2 ECC算法相关模块FPGA设计 746.2.1 有限域加法的FPGA实现 746.2.2 有限域乘法的FPGA实现 756.2.3 有限域平方的FPGA实现 766.2.4 有限域模逆的FPGA实现 796.2.5 点加和倍加的FPGA实现 826.2.6 点乘的FPGA实现 866.3 ECC算法工程实现 896.4 效果测试 926.5 本章小结 93第7章 SM2算法FPGA实现 947.1 算法原理 947.1.1 密钥生成 947.1.2 加密过程 947.1.3 解密过程 957.2 SM2算法相关模块FPGA设计 977.2.1 坐标转换模块设计 977.2.2 点加运算和2倍点运算设计 977.2.3 点乘运算设计 987.2.4 Hash算法设计 997.2.5 模逆运算设计 997.3 SM2算法工程实现 997.4 效果测试 1037.5 本章小结 105第8章 SHA-1算法FPGA实现 1068.1 SHA-1算法原理 1068.1.1 SHA-1算法的补位与补长度 1068.1.2 计算消息摘要 1078.2 SHA-1算法基本步骤 1078.3 SHA-1算法的FPGA设计 1098.3.1 控制单元模块设计 1098.3.2 消息扩展模块设计 1108.3.3 迭代压缩模块设计 1108.3.4 结果输出模块设计 1128.4 SHA-1算法工程实现 1138.5 效果测试 1158.6 本章小结 117第9章 Keccak算法FPGA实现 1189.1 算法描述 1189.1.1 Keccak结构 1189.1.2 常数与函数 1199.2 Keccak算法相关模块FPGA设计 1209.2.1 主函数模块的设计 1209.2.2 轮函数模块设计 1229.2.3 轮常数模块的设计 1239.2.4 缓存模块设计 1249.3 Keccak算法工程实现 1269.4 效果测试 1299.5 本章小结 131第10章 SM3算法FPGA实现 13210.1 SM3算法原理 13210.1.1 算法描述 13210.1.2 常数与函数 13410.2 SM3算法相关模块FPGA设计 13410.2.1 控制单元设计 13410.2.2 消息扩展模块设计 13610.2.3 迭代压缩模块设计 14010.2.4 结果输出模块设计 14110.3 SM3算法工程实现 14310.4 效果测试 14710.5 本章小结 148第11章 DSA数字签名算法FPGA实现 14911.1 DSA数字签名原理 14911.2 DSA数字签名算法相关模块FPGA设计 15011.2.1 模乘算法模块设计 15111.2.2 模幂算法模块设计 15211.2.3 模逆算法模块设计 15611.2.4 模加算法模块设计 15811.3 DSA数字签名算法的工程实现及结果 15911.4 效果测试 16211.5 本章小结 163第12章 ECC数字签名算法FPGA实现 16412.1 ECC数字签名原理 16412.2 ECC数字签名算法相关模块FPGA设计 16512.2.1 模乘算法模块设计 16512.2.2 模逆模块设计 16812.2.3 Hash函数模块设计 17212.2.4 点乘模块设计 17212.3 ECC数字签名算法的工程实现及结果 18512.4 效果测试 18812.5 本章小结 189参考文献 190
封面
书名:典型密码算法FPGA实现
作者:杨亚涛
页数:193
定价:¥38.0
出版社:电子工业出版社
出版日期:2017-01-01
ISBN:9787121303838
PDF电子书大小:37MB 高清扫描完整版
本文标题:《典型密码算法FPGA实现》PDF下载
资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!