内容简介
第1章 密码算法FPGA实现基础
1.1 FPGA概述
1.1.1 Xilinx公司的代表芯片
1.1.2 Altera公司的代表芯片
1.2 FPGA工作原理
1.3 FPGA语法基础
1.3.1 Verilog HDL语法要点
1.3.2 VHDL语法要点
1.4 FPGA开发环境简介
1.4.1 FPGA开发环境ISE
1.4.2 FPGA开发环境ModelSim
1.5 密码算法的FPGA实现流程
1.5.1 FPGA一般实现流程
1.5.2 密码算法的FPGA实现流程
1.6 本章小结
第2章 DES算法FPGA实现
2.1 DES算法原理
2.1.1 参数产生
2.1.2 密钥生成
2.1.3 加密解密过程
2.1.4 安全性分析
2.2 DES算法相关模块的FPGA设计
2.2.1 IP和IP -1模块设计
2.2.2 密钥扩展设计
2.2.3 S盒设计
2.2.4 f函数设计
2.2.5 顶层模块设计
2.3 DES算法工程实现
2.4 效果测试
2.5 本章小结
第3章 AES算法FPGA实现
3.1 AES算法原理
3.1.1 基础知识
3.1.2 加密解密过程
3.2 AES算法相关模块FPGA设计
3.2.1 密钥加变换设计
3.2.2 字节代换模块设计
3.2.3 密钥扩展模块设计
3.2.4 行移位设计
3.2.5 列混合设计
3.3 AES算法工程实现
3.4 效果测试
3.5 本章小节
第4章 SM4算法FPGA实现
4.1 SM4算法原理
4.1.1 算法定义
4.1.2 算法描述
4.1.3 加解密算法
4.2 SM4算法相关模块FPGA设计
4.2.1 循环移位设计
4.2.2 S盒设计
4.2.3 密钥扩展设计
4.2.4 轮函数加密设计
4.3 SM4算法工程实现
4.4 效果测试
4.5 本章小节
第5章 RSA算法FPGA实现
5.1 RSA算法原理
5.1.1 参数产生与密钥生成
5.1.2 加解密过程
5.1.3 正确性证明与安全性分析
5.2 RSA算法相关模块FPGA设计
5.2.1 Montgmoery算法模块设计
5.2.2 R-L模式模幂算法模块设计
5.3 RSA算法工程实现
5.4 效果测试
5.5 本章小结
第6章 ECC算法FPGA实现
6.1 ECC算法原理
6.1.1 参数产生
6.1.2 加密解密过程
6.2 ECC算法相关模块FPGA设计
6.2.1 有限域加法的FPGA实现
6.2.2 有限域乘法的FPGA实现
6.2.3 有限域平方的FPGA实现
6.2.4 有限域模逆的FPGA实现
6.2.5 点加和倍加的FPGA实现
6.2.6 点乘的FPGA实现
6.3 ECC算法工程实现
6.4 效果测试
6.5 本章小结
第7章 SM2算法FPGA实现
7.1 算法原理
7.1.1 密钥生成
7.1.2 加密过程
7.1.3 解密过程
7.2 SM2算法相关模块FPGA设计
7.2.1 坐标转换模块设计
7.2.2 点加运算和2倍点运算设计
7.2.3 点乘运算设计
7.2.4 Hash算法设计
7.2.5 模逆运算设计
7.3 SM2算法工程实现
7.4 效果测试
7.5 本章小结
第8章 SHA-1算法FPGA实现
8.1 SHA-1算法原理
8.1.1 SHA-1算法的补位与补长度
8.1.2 计算消息摘要
8.2 SHA-1算法基本步骤
8.3 SHA-1算法的FPGA设计
8.3.1 控制单元模块设计
8.3.2 消息扩展模块设计
8.3.3 迭代压缩模块设计
8.3.4 结果输出模块设计
8.4 SHA-1算法工程实现
8.5 效果测试
8.6 本章小结
第9章 Keccak算法FPGA实现
9.1 算法描述
9.1.1 Keccak结构
9.1.2 常数与函数
9.2 Keccak算法相关模块FPGA设计
9.2.1 主函数模块的设计
9.2.2 轮函数模块设计
9.2.3 轮常数模块的设计
9.2.4 缓存模块设计
9.3 Keccak算法工程实现
9.4 效果测试
9.5 本章小结
第10章 SM3算法FPGA实现
10.1 SM3算法原理
10.1.1 算法描述
10.1.2 常数与函数
10.2 SM3算法相关模块FPGA设计
10.2.1 控制单元设计
10.2.2 消息扩展模块设计
10.2.3 迭代压缩模块设计
10.2.4 结果输出模块设计
10.3 SM3算法工程实现
10.4 效果测试
10.5 本章小结
第11章 DSA数字签名算法FPGA实现
11.1 DSA数字签名原理
11.2 DSA数字签名算法相关模块FPGA设计
11.2.1 模乘算法模块设计
11.2.2 模幂算法模块设计
11.2.3 模逆算法模块设计
11.2.4 模加算法模块设计
11.3 DSA数字签名算法的工程实现及结果
11.4 效果测试
11.5 本章小结
第12章 ECC数字签名算法FPGA实现
12.1 ECC数字签名原理
12.2 ECC数字签名算法相关模块FPGA设计
12.2.1 模乘算法模块设计
12.2.2 模逆模块设计
12.2.3 Hash函数模块设计
12.2.4 点乘模块设计
12.3 ECC数字签名算法的工程实现及结果
12.4 效果测试
12.5 本章小结
参考文献