APP下载

众核计算平台的高吞吐率密码算法加速*

2018-05-08李春江谢永芳

计算机工程与科学 2018年4期

符 鹤,李春江,王 昊,谢永芳

(1.中南大学信息科学与工程学院,湖南 长沙 410083;2.国防科技大学计算机学院,湖南 长沙 410073)

1 引言

密码算法的设计基础是数学问题计算的困难性,通常为了增加密码破解的难度会增加密钥的长度或者增加算法的复杂性,这就意味着计算量的增加。使用密码算法的相关应用在运行时需要处理大量的信息,计算量相当可观,例如密码的暴力穷举攻击,对计算能力以及吞吐率都有非常高的要求。

为解决高吞吐率密码的加速问题,本文首先提出了一个面向众核加速器的并行加速框架,可以加速密码算法相关应用的运行。其次,在框架中实现了高吞吐率的多级任务分批技术。在天河超级计算机结点的众核协处理器MIC平台上的实验结果表明,本文的工作对加速密码算法非常有效。

2 相关工作

基于对密码算法高吞吐量并行优化的需求,早在GPU出现的初期研究人员就已经尝试了基于GPU的密码算法优化方案。1999年Kedem等[1]就使用了定制的GPU架构“PixelFlow”来对DES和RC4密码算法进行暴力破解,充分证明了GPU设备应用在密码领域的可行性。

2007年,Harrison 等[2]使用NVIDIA G80在CUDA平台上实现了AES密码算法,并获得了4倍的速度提升。同年,Manavski[3]使用NVIDIA GeForce 8800 GTX实现了AES密码算法,并在输入为8Mb的情况下,使得AES 128达到了8.28 Gbps;并且其性能相比于Open SSL也有20倍的提升。

2008年,Yeom等[4]在GeForce 8800 GTS上分别使用OpenGL以及CUDA库实现了分组密码算法ARIA,特别是使用CUDA库实现的ARIA,其吞吐量达到了4.8 Gbps。

2009年,Liu等[5]针对分组密码中对数据块进行独立操作的特性,将多种分组密码算法部署在NVIDIA GeForce 9800 GTX上,并取得了显著的性能提升。……

登录APP查看全文