AES算法的快速硬件设计与实现

  作者:北京电子科技学院 李雪梅 时间:2008-07-10来源:电子必威娱乐平台

  3.2 流水线设计

  AES算法结构简单,只需要逻辑运算和查找表运算。笔者通过优化设计轮函数,使得基本迭代方式下的时钟频率远高于PCI接口的时钟频率33MHz。本文在满足算法时钟频率的基础上,通过降低算法分组数据的处理时间来提高吞吐量。具体做法是:采用两级轮外流水线,将AES算法的10轮迭代过程分为前后两个操作段,每个操作段可作为一级流水线,在操作段内部,每轮之间以反馈(FB)方式完成5轮基本迭代,前一个操作段结束后,将结果直接送入第二个操作段,同时去处理下一个分组数据,两个操作段互不影响,并行执行。考虑到实际应用中数据总线宽度(如PCI总线)通常为32位,这里将AES算法IP核的数据宽度设置为32位,4个时钟输入/输出一个分组数据。为了与每一级流水线5轮迭代过程相匹配,在输入/输出分组数据的第5n个时钟内执行一轮空操作,使得输入明文数据、输出密文结果、第一级流水线和第二级流水线四步操作同时执行,从而实现图3所示的流水线过程。在得到第一个分组结果后 ,每5个时钟就会产生一个分组结果,从外部看起来,完成一个分组仅需要5个时钟。

  3.3 实验结果与性能分析

  将设计在QuartusⅡ4.2软件中综合,仿真最高频率为78.38MHz,完全可以满足较低全局时钟频率的要求。整个系统设计采用33MHz时钟,实验测试结果表明,吞吐量已达到810Mbps。如果提高全局时钟频率,则吞吐量会超过1Gbps。

  根据AES算法的特点及硬件加密系统的特点,给出了AES算法IP核的快速硬件设计方案。采用流水线技术和优化设计,在较低频率下,可以获得很高数据吞吐量,使加密算法的FPGA实现过程不再是传输速度的瓶颈。整个设计具有很强的实用性,运行稳定,且效果良好。对于AES算法分组长度和密钥长度为 192bit和256bit的情况,由于分组长度不同,执行轮数有所增加。要实现流水线操作并在资源使用和吞吐量方面达到较好的效果,还需要进一步优化设计,这也是今后研究的方向。

  参考文献

1 Standaert.Efficient implementation of rijndael encryption in reconfigurable hardware:improvements and design tradeoffs.CHES 2003,LNCS 2779:334~350
2 Saggese.An FPGA-based peRFormance analysis of the unrolling,tiling and pipelining of the AESAlgorithm.FPL 2003,LNCS 2778:292~302
3 Gaj K,Pawel Chodowie.Comparison of the hardware perfor-mance of the AES candidates using reconfigurable hardware
4 Danmen J,Riijmen V.AES Proposal:rijndael.AES algorithm submission.AES home page:http://www.nist.gov/aes,1999-09-03

1 2 3

关键词: FPGA AES 信息安全 数据加密

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版