咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >基于SRIO总线的硬件加解密系统设计 收藏
基于SRIO总线的硬件加解密系统设计

基于SRIO总线的硬件加解密系统设计

Design of Hardware Encryption and Decryption System Based on SRIO Bus

作     者:李果村 liguocun

作者单位:成都理工大学 

学位级别:硕士

导师姓名:陈金鹰;杨庸

授予年度:2021年

学科分类:08[工学] 081201[工学-计算机系统结构] 0812[工学-计算机科学与技术(可授工学、理学学位)] 

主      题:SRIO CPU AES-256 FPGA DMA 

摘      要:近年来,嵌入式系统根据用户需求灵活设计而在工业、军事、消费、通信等领域得到了广泛的应用。面对越来越广阔的应用场景,人们对嵌入式的安全性有了更高的要求。尤其是在医疗电子、工业控制、航空航天等领域,嵌入式系统的安全性显得更加重要。CPU作为嵌入式系统的核心,用户数据等重要的信息均通过CPU进行统一管理和存储。但CPU在处理密集和复杂任务时,其速度难以满足高速的网络环境。相较于软件加密而言,硬件加密由于将算法集成在硬件电路中,不易被破坏。目前常见的硬件加密方式主要有密码芯片等方式。常见的密码芯片与CPU的数据交互主要通过UART、GPIO、SPI等低速接口,即使在密码芯片中加密延时较低的情况下,大量数据需要被加密时,系统整体的加密速度相对较低。对于一个系统中有多个CPU需要被加密的嵌入式系统中,密码芯片还会增加硬件设计的复杂度和系统功耗。基于上述问题提出了基于SRIO总线的硬件加解密系统设计。系统设计时选用了Xilinx公司Sparten-6系列芯片,通过硬件描述语言生成硬件电路,电路的并行性提高了加解密算法的运算速度,为加密算法的硬件实现提供了更灵活、更高性能的载体。SRIO串行总线的线速率可运行在1.25Gbps、2.5Gbps、3.125Gbps,可提供CPU和FPGA之间数据高速传输的通道。论文的研究工作主要体现在如下方面:首先,研究了软硬件加解密技术领域发展现状和最新成果,分析了最流行的AES、DES、RSA加密算法,以及现场可编程门阵列FPGA在嵌入式系统中的应用。针对目前嵌入式系统中CPU的硬件加解密方式和加解密效率的不足,提出使用FPGA作为加解密载体,通过SRIO进行加解密后的数据传输,实现高性能CPU的硬件加解密的设计方案。在系统设计实现过程中,首先利用Verilog语言编程在FPGA中实现加解密算法。第二,设计了仲裁管理机制,对多CPU下的加解密任务进行平均轮询和优先级轮询。第三,进行了配置模块设计,用户可通过配置DMA描述符,指定任意长度的需要被加密或解密的数据,还可以实时对密钥进行修改。在CPU在配置成功FPGA中的寄存器后,后续任务均由FPGA主动发起DMA,最大程度降低了CPU端的任务复杂度。第四,接收缓冲与发送缓冲设计采用BRAM对数据进行缓存,通过乒乓的方式控制缓冲区的读写。通过设计缓冲区不仅使传输更加高效,接收缓冲设计还解决了SRIO协议中响应事物的无序性。第五,采用双通道设计,通过两个X4的GTP将加密和解密通道独立开来,每个通道在驱动SRIO IP核提供的用户接口时,提供了6个独立的DMA通道。最后,对加解密模块代码进行了仿真验证,并设计了Python加密软件以验证系统加解密功能的可靠性。此外还从减少资源消耗以及提升加解密速率两个方面对系统性能进行了优化。通过利用AES-256前13轮的加密和解密操作相同的特性,采用例化轮加密模块和轮解密模块8次的方式,实现了14轮的加解密,降低了加解密的延时和FPGA内部的资源消耗。对Ireq总线的驱动方式进行了优化,提高了SRIO总线的传输效率。通过所进行的实测,结果表明,设计达到预定目标。经过最终的测试,在系统时钟频率50MHz,GTP参考时钟为156.25MHz,加密通道与解密通道工作在X4模式,线速率为3.125Gbps的前提条件下,优化后的加密和解密模块的资源占用率均降低了30%左右,延时降低了42%左右。当只有一个CPU产生加解密任务时,各个CPU的加解密速度平均在760MB/s左右,当多个CPU产生加密或解密任务时,平均速率为120MB/s左右。与SRIO总线传输效率优化前相比,加解密的速率提升了19%左右。最后,将Python加密验证平台的加密结果与系统加密后的数据及进行对比,验证了系统加解密的可靠性。

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分