• •    

面向密码流处理器的AES算法软件流水实现研究

王寿成1,徐进辉1,2,严迎建3,李功丽4,贾永旺1,2   

  1. 1. 解放军信息工程大学
    2.
    3. 电子技术学院三系304教研室
    4. 河南师范大学计算机与信息工程学院
  • 收稿日期:2016-12-02 修回日期:2017-01-29 发布日期:2017-01-29
  • 通讯作者: 王寿成

Research on Software Pipelining Realization of AES based on Cipher Stream Processor

  • Received:2016-12-02 Revised:2017-01-29 Online:2017-01-29
  • Contact: Shou-cheng WANG

摘要: 针对轮函数在分组密码算法实现过程中耗时过长的问题,提出了面向可重构密码流处理器RCSP的AES算法软件流水实现方法。该方法将轮函数操作进行流水段划分,不同流水段操作通过利用不同的并行密码资源来完成对应的运算,以此实现轮函数的重组执行,进而提升分组密码算法的执行效率。在RCSP的单簇、双簇和四簇运算资源下分析了AES算法的流水线划分过程和软件流水映射方法,实验结果表明,该软件流水实现方法使得单分组或多分组不同数据分块的操作并行执行,不仅能够提升单分组串行执行性能,还能够通过开发分组间的并行性来提高多分组并行执行性能。

关键词: 分组密码, AES算法, 软件流水, 指令级并行性, 吞吐率

Abstract: Since the time consumption of round function in block cipher implementation is excessively long, a software pipelining realization method of AES algorithm based on Reconfigurable Cipher Stream Processor (RCSP) was proposed. The method separated the operations of round function into several segments whose operations would be executed by different cipher resources, realized the restructure of round function, and then improved the execution efficiency of block cipher algorithm. The processes of separating segments and software pipelining mapping methods of AES in single cluster, two clusters and four clusters of RCSP was analyzed. The experiment results show that the proposed method not only improves the performance of a block serial execution, but also improves the performance of multiple blocks parallel execution.

Key words: block cipher, AES, software pipelining, instruction level parallelism, throughput