计算机应用 ›› 2017, Vol. 37 ›› Issue (6): 1620-1624.DOI: 10.11772/j.issn.1001-9081.2017.06.1620

• 网络空间安全 • 上一篇    下一篇

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

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

  1. 1. 信息工程大学 密码工程学院, 郑州 450001;
    2. 河南师范大学 计算机信息工程学院, 河南 新乡 453002
  • 收稿日期:2016-12-02 修回日期:2017-01-29 出版日期:2017-06-10 发布日期:2017-06-14
  • 通讯作者: 王寿成
  • 作者简介:王寿成(1992-),男,甘肃金昌人,硕士研究生,主要研究方向:专用处理器体系结构设计;徐进辉(1978-),男,江西赣州人,讲师,博士,主要研究方向:可重构计算;严迎建(1973-),男,河南周口人,教授,博士,主要研究方向:安全专用芯片设计;李功丽(1981-),女,河南信阳人,博士研究生,主要研究方向:信息安全;贾永旺(1992-),男,河北邯郸人,硕士研究生,主要研究方向:信息安全。
  • 基金资助:
    国家自然科学基金资助项目(61404175)。

Software pipelining realization method of AES algorithm based on cipher stream processor

WANG Shoucheng1, XU Jinhui1, YAN Yingjian1, LI Gongli1,2, JIA Yongwang1   

  1. 1. College of Cryptogram Engineering, Information Engineering University, Zhengzhou Henan 450001, China;
    2. College of Computer & Information Engineering, Henan Normal University, Xinxiang Henan 453002, China
  • Received:2016-12-02 Revised:2017-01-29 Online:2017-06-10 Published:2017-06-14
  • Supported by:
    This work is partially supported by the National Natural Science Foundation of China (61404175).

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

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

Abstract: Aiming at the excessively long time consumption of round function in block cipher implementation, a new software pipelining realization method of Advanced Encryption Standard (AES) algorithm based on Reconfigurable Cipher Stream Processor (RCSP) was proposed. The operations of round function were divided into several pipelining segments. The different pipelining segments corresponded to different cipher resources. The instruction level parallelism was developed to accelerate the execution speed of round function by executing different pipelining segments of multiple round functions in parallel. The execution efficiency of block cipher algorithm was improved. The separation processes of pipelining segments and software pipelining mapping methods of AES algorithm were analyzed with the computing resources of single cluster, two clusters and four clusters of RCSP. The experimental results show that, the proposed software pipelining realization method, which makes different data fragments of one block or multiple blocks processed in parallel, can not only improve the performance of a block serial execution, but also improve the performance of multiple blocks parallel execution by developing the parallelism between the blocks.

Key words: block cipher, Advanced Encryption Standard (AES) algorithm, software pipelining, instruction level parallelism, throughput

中图分类号: