基于OpenCL的3DES算法FPGA加速器
2021-12-20吴健凤郑博文柴志雷
吴健凤,郑博文,聂 一,柴志雷,3
(1.江南大学 人工智能与计算机学院,江苏 无锡 214122;2.江南大学 物联网工程学院,江苏 无锡 214122;3.数学工程与先进计算国家重点实验室,江苏 无锡 214215)
0 概述
将加解密算法用于数字货币、区块链、云端数据加密等领域时[1-2],算法应具备高强度计算能力。因此,当前服务器端允许包含异构计算平台以增强特定工作负载的性能,同时改善整个系统的维护成本。OpenCL 是异构平台的开放框架,其中内核(Kernel)程序可以在多核CPU 上,同时也可以在GPU、现场可编程门阵列(Field Programmable Gate Array,FPGA)、DSP 上编译执行[3]。当前服务器端除了采用ASIC 或GPU 处理大批量数据外,考虑到能效等因素也会大规模部署FPGA。
目前,已有许多基于OpenCL 的加解密算法加速器的研究。文献[4]设计一种基于OpenCL 的MD5算法加速器架构,提出结合优化CPU 端内存分配、复制内核计算单元的方法,其较未经优化方法性能提高了6.1 倍。文献[5]提出基于OpenCL 内核的Kuznyechik算法流水线架构设计,结合轮密钥按位模2 加消除依赖、查找表、分解线性变换为布尔函数等方法,在Intel Arria 10 系列实现了41 Gb/s 的吞吐率,同时占用不超过10%的FPGA 资源。文献[6]评估了可扩展的多FPGA 架构上AES 加密内核的性能,在带有Stratix A3 FPGA 的单个M506 模块上,通过使用OpenCL SIMD4 达到了较高的吞吐率。文献[7]结合OpenCL 工具设计SHA1 哈希算法,与基于硬件的描述语言相比,使用Intel FPGA SDK 工具进行少量的内核代码更改即可实现电路的改变,有效节省了系统开发时间,其结合循环展开、循环流水等策略,在Altera Stratix V 系列器件上达到3 033 Mb/s 的吞吐率,相比于CPU 性能提升了14 倍。
DES 算法是1972 年美国IBM 公司设计的对称密码体制加密算法。……
