论文摘要
随着互联网的飞速发展和全球信息化进程的推进,随之而来的网络安全问题也日益加剧。基于可编程逻辑器件的硬件安全性解决方案不但可以提供并行处理的能力,而且具有设计灵活、可靠性高,扩展性好等一系列优点。本文即是针对基于FPGA的网络加密卡技术进行了具体的研究与实现,在掌握网络传输协议、数据传输原理和网络加密技术的基础上,完成了网络加密卡的硬件和软件程序的设计。论文工作对促进网络加密产品的研究和开发具有一定的实际意义。论文首先从网卡的总体架构设计开始,在PCI和网卡芯片之间,设计加入了FPGA加密芯片,该FPGA加密芯片由PCI接口、ISA接口、控制逻辑模块、加密芯片模块和数据加/解密模块构成。其中,控制模块负责数据的分配和数据加/解密模块的控制;加密芯片负责生成密钥序列;数据加/解密模块负责对明文数据的加密。本论文对控制模块和数据加/解密模块进行了功能设计,并利用VHDL语言对其进行了编程实现,而且针对加密芯片、控制模块和数据加/解密模块之间的信号传递进行了优化设计。在软件方面,首先利用C++语言编写了网卡的初始化程序,完成了网卡的初始化设定;然后,对网卡的发送、接收进程和TCP/IP协议栈进行了编程实现,同时解决了多线程的数据传输问题。在此基础上,利用Borland C++Builder完成了显控界面的设计。在良好的人机交互界面下,成功地完成了数据通信实验的全过程。