● 摘要
随着信息和互联网技术的深入发展,远程故障诊断已成为智能发动机故障诊断技术的发展趋势。远程传输的安全和安全算法的高效率实现对远程故障诊断技术发展有着很强的制约。在安全传输方面,自2001年美国国家标准技术委员会选择Rijndael算法作为最新高级加密标准AES(Advanced Encryption Standard)的算法之后,至今尚无有效的攻击方法。在安全算法的高效率实现方面,动态可重构的可编程逻辑器件FPGA(Field Programmable Gate Array)具有的高安全性、快速性、小面积等特点迎合了AES应用和高效率的实现需求,近年来针对AES算法的FPGA实现已成为研究热点。本文围绕AES算法的FPGA设计展开研究,从FPGA自身的结构特点出发,并结合AES算法的特点、理论基础、功能与应用,提出AES算法优化的系统模块结构和AES算法本身的硬件优化实现与控制方法,然后给出这些方法在完整的AES实现中的具体设计。主要完成了以下四方面的独创性研究工作:1)提出了流水线与循环展开混合结构的设计方法,并依据FPGA特有的并行处理能力解决了AES已有系统模块结构存在的低速度、大面积和工作模式相互约束的问题。分析了同步电路和异步电路对系统性能的影响,得出同步电路在改善系统性能上具有优势,通过避免LUT(Look Up Table)级联逻辑的产生实现了系统模块结构特性的提高。最后在电子密码本模式下进行实验验证,并与三种系统模块结构进行性能分析对比,结果表明,本文的模块结构特性指标最优。2)提出了AES的域GF(28)上的乘法逆降阶法和SubBytes与InvSubBytes的共用乘法逆硬件结构,解决了AES的非线性置换函数SubBytes与InvSubBytes对FPGA的执行特性有很强的制约和限制问题,并突破了数据读取速度慢及标准计算方法执行难度大的问题。实验分析表明GF(28)上的乘法逆化简结构和共享结构在FPGA上执行难度最低,比传统的查找表方法节省资源而且速度快,同时也提高了流水线工作性能和降低了功耗。3)提出了MixColumn函数与InvMixColumn函数的串行共享方法和改进了目前最新的并行共享方法,通过提取这两个函数线性变换阵的数字特征,从字级、字节级和位级角度实现了各自的共享以及相互之间的共享,从而解决了MixColumn和InvMixColumn资源占有较大的问题。经实验证明,串行法达到最少的逻辑门,并行法达到最小的延迟。4)提出了AES的组合操作门(SCOG,Skillful Combinational Operand Gating)控制方法,通过FPGA四查表硬件结构以及数据保护和操作数隔离技术,解决了FPGA较大的动态功耗问题。并基于SCOG控制方法提出了SubBytes与InvSubBytes布线电路的SCOG优化算法,进一步解决了功耗和资源问题。实验表明,所提出的SCOG控制方法与SCOG优化算法在11级流水线的划分方式下获得了最佳低功耗以及最佳的吞吐量/面积比。本文的研究在Altera Cyclone III的EP3C40F484C8器件上进行了实验验证,并在某型IPSec网络协议设备中得到应用。