论文部分内容阅读
社会正朝着信息化和数字化的方向迅速发展,计算机和网络的应用日趋广泛,人们已经习惯于利用计算机和网络处理数据,接收信息,相互交流。然而,由于计算机和网络自身互联开放的特性,需要保密的数据和信息在传输和处理过程中面临着很多不安全因素的威胁,因此如何采取有效的加密措施来保护数据和信息的安全具有积极的现实意义。本课题在研究已有的数据加密体系和硬件系统的基础上,在WindowsXP/2000平台上设计并实现了一种基于USB接口的二次加密系统。
该加密系统共分为四个模块,分别为:硬件电路模块、USN9603驱动模块、加密算法模块、主机端应用程序模块。在加密系统的设计过程中,采用模块化设计,使每个模块具有相对的独立性,然后再通过模块的有机结合来实现整体的功能。这样既有利于各个模块的优化与系统升级,又可以将模块应用到其它的系统中,扩展其应用范围。需要说明的是,在设计该二次加密系统时,论文作者在获得许可的条件下,参考和借鉴了由李伦,王乙,莫林莉三位同学所组成的开发团队的经验,其中该团队的USB接口电路被应用到作者所设计的二次加密系统中。而对于FPGA加密电路,WindowsXP/2000平台下的驱动程序,加密算法的硬件固化,主机端应用程序等四个方面作者都重新进行了设计。
本论文首先介绍了课题研究的背景、意义、现状和课题来源,然后根据系统的四个功能模块,对每个模块的设计分别作了比较详细地分析。其中对于硬件电路模块,重点分析了如何利用Xilinx公司的SPARTAN系列芯片:XC2S200E进行加密子系统的硬件电路设计,阐述了依据电路图进行PCB布线、制板过程中应该注意的问题;在USN9603的驱动程序模块,先概述了WDM驱动程序的基本结构和原理,接着分析了如何在WindowsXP/2000下选择合适的开发工具来创建驱动程序开发环境,然后编译、生成、测试、安装在这两种平台下的驱动程序;在FPGA加密模块的实现部分,首先介绍了对称加密算法和公开密码算法的加密体制,对两种加密算法的特性进行了对比,然后介绍了两种加密式中的一些经典算法,分析了本次加密系统设计中选择加密算法考虑的因素,重点介绍了如何利用FPGA软件工具包ISE5.X对用VHDL语言实现的3DES和RSA加密算法进行硬件固化;在主机端应用程序模块,分析了如何设计简单明了而又美观友好的用户界面,对其中的主要功能键的实现作了说明。
论文最后对整个系统的功能进行测试,给出了测试结果,并对整个设计工作进行了回顾,指出了该系统由于客观开发条件和技术实力所导致的一些需要完善的地方,并提出了一些个人建议,为今后更进一步的研究与开发作了准备。