《典型密码算法FPGA实现》PDF下载

  • 购买积分:9 如何计算积分?
  • 作  者:杨亚涛,李子臣编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2017
  • ISBN:7121303831
  • 页数:193 页
图书介绍:

第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