使用GPU加速RC5密码算法的研究
GPU(图形处理器)传统上用于图像渲染,以弥补CPU的不足.近些年来,消费市场的推动使得GPU的性能越来越强,计算能力也大幅提高.但是GPU大部分时间都处于闲置状态,因此挖掘GPU的计算能力用于通用计算有很好的前景.本文探讨RC5分组密码算法基于GPU的实现.把算法移植到GPU上实现的关键是把算法转化为并行执行模式,然后写流编程模型中的kernel函数,多个线程将独立并行地执行这个函数。但是GPU的多线程并行处理和CPU的不一样。在CPU的多线程并行处理中,多个线程各自独立地执行不同的任务,各个线程函数可以不一样。而在GPU编程模型中,每个线程都是执行同样的函数(即kernel函数),只不过每个线程的输入输出对应于输入输出流的某一个数据元素。例如使用GPU实现RCS算法,明文作为输入流,共有320个数据元素,每个数据元素为一个分组长度,即8字节。如果GPU有320个能独立执行线程的物理核心,那么它能并行地加密320个分组。GPU的设计基于SIMD(单指令多数据流),所以它的并行处理类似于对一个一维数组的每个元素同时执行同样的操作或运算。在普通PC机上,本文实现的算法吞吐率达到2000M/s以上,是同一环境下CPU实现的20倍.
分组密码 并行处理 图形处理器 流计算模型
徐晓东 杨榆
北京邮电大学网络与交换技术国家重点实验室信息安全中心,北京 100876
国内会议
南宁
中文
189-193
2009-09-18(万方平台首次上网日期,不代表论文的发表时间)