论文部分内容阅读
数据加密是网络信息安全的重要组成部分,AES算法是由美国国家标准与技术研究院(NIST)选定的新一代数据加密标准。作为目前最优秀的对称加密算法,其应用已深入各个安全领域,针对AES算法硬件产品的自主研发是我国信息安全的重要课题。 本文对比分析了多种AES实现方案,由于应用背景需求的不同,各个方案对性能和功耗做出了不同程度的折中处理。本设计针对目前国内大规模高速数据流在加密性能方面的高要求,利用FPGA部署灵活、安全策略可修改、易于维护等特性,设计了一组高性能AES算法的FPGA实现方式。设计致力于性能最优,在不损耗性能的情况下优化功耗。 本设计针对AES-128单分组标准加密算法,实现了四种高性能实现方案,分别提供了在反馈型和非反馈型工作模式下密钥在线生成和离线生成方式的单分组算法实现。设计对算法中的S盒采用了高性能查找表的方式实现,并在理论方案上证明了其性能的最优性,针对密钥扩展模块进行了关键路径优化,对列混合和轮密钥加模块采用了合并的方式减少了关键路径。此外,针对非反馈模式,设计分析了该实现方式中流水线级数的最佳值,提升了该模式下内外轮模块进行流水线展开时的性能。 之后,对本设计中四种高性能实现方案的正确性,在QuartusⅡ中进行了充分的仿真验证。最终,在Altera的StratixⅣ系列FPGA环境中,在线密钥生成时,反馈模式的吞吐率能够达到3.76Gbps,非反馈模式的吞吐率能够达到52.65Gbps;密钥离线生成时,反馈模式的吞吐率能够达到3.86Gbps,非反馈模式的吞吐率能够达到53.45Gbps。其中非反馈模式下的吞吐率已经能够满足目前光纤通信40Gbps的数据传输速度要求,达到设计目标。但更重要的是本设计中多种模式下的性能优化方案研究对以后高性能AES硬件的设计实现方式有重要的参考意义。