第1章 密码学简介 1
1.1引言 1
1.2密码学和现代密码学 2
1.2.1传统密码体制 2
1.2.2现代密码学 5
1.3密码技术 7
1.3.1对称密码 7
1.3.2非对称密码 10
1.4硬件加/解密系统 12
1.4.1硬件加密系统的优点 12
1.4.2硬件加密系统功能分类 13
1.4.3硬件加密系统模型 14
1.4.4硬件加密系统的FPGA实现 14
第2章 项目开发环境介绍 16
2.1软件平台 16
2.1.1硬件开发工具Quartus 118.0 16
2.1.2 ModelSim仿真工具 20
2.1.3 NiosⅡ IDE 8.0集成开发环境 24
2.2硬件平台 29
2.2.1 DE2平台简介 29
2.2.2 DE2板上资源及硬件布局 31
2.2.3 DE2原理 32
2.2.4 DE2平台的开发环境 35
2.2.5 DE2开发板测试说明 36
第3章 基于FPGA的DES/3DES加/解密系统 39
3.1实例介绍 39
3.2设计思路与原理 39
3.2.1 DES/3DES算法简介 39
3.2.2 DES/3DES加/解密流程 40
3.3硬件设计 45
3.3.1流水线模式的设计 45
3.3.2系统创建 52
3.3.3系统仿真与测试 55
3.4实例总结 65
第4章 基于FPGA的RSA加/解密系统 66
4.1实例介绍 66
4.2设计思路与原理 67
4.2.1数学背景 67
4.2.2 RSA加/解密流程 67
4.2.3 Montgomery算法 68
4.2.4适合硬件的模幂、模乘算法分析 70
4.3硬件设计 73
4.3.1整体设计 73
4.3.2存储器的选择 80
4.3.3模幂控制器设计实现 83
4.3.4模乘运算模块分析与设计 84
4.3.5系统综合与仿真测试 99
4.4实例总结 101
第5章 基于FPGA的Twofish加/解密系统 102
5.1实例介绍 102
5.2设计思路与原理 103
5.2.1 Twofish算法简介 103
5.2.2 Twofish加/解密核心算法详解 103
5.2.3系统整体结构 106
5.3硬件设计 107
5.3.1加/解密系统各逻辑模块设计 107
5.3.2详细设计 112
5.3.3系统综合与仿真测试 141
54实例总结 143
第6章 基于Nois Ⅱ的AES加/解密系统 144
6.1实例介绍 144
6.2设计思路与原理 145
6.2.1 AES算法简介 145
6.2.2 AES加/解密流程 146
6.2.3系统整体结构 151
6.3硬件设计 151
6.3.1 AES IP核设计 151
6.3.2 SOPC系统的创建 173
6.4软件设计及综合测试 185
6.4.1软件设计 185
6.4.2系统综合与仿真测试 192
6.5实例总结 196
第7章 常见问题及开发技巧总结 197
7.1 QuartusⅡ常见问题 197
7.2 ModelSim常见问题 202
7.3 NiosⅡ常见问题 205
7.4开发技巧总结 208
附录A DE2平台上EP2C35F672的引脚分配表 212