论文部分内容阅读
由于人们对信息安全的逐步重视,加解密技术一直是研究的热点。各种加密算法相继问世,但加解密算法的安全性与复杂性始终是两个不可调和的矛盾体,在加解密速度和安全性上无法做到两全其美。因此目前有很多安全的加密算法,但由于其复杂性受个人计算机有限的计算能力限制,无法做到快速的加解密,从无法得到普片的运用。AES算法作为目前应用非常广泛的加密算法,有着很好的安全性。其具有分组迭代加密的特征,迭代次数越多,加密效果越好,但同时这也使得对运算设备的计算能力提出了很高的要求。近年来,通用目的图形处理单元(GPGPU),这种新的大规模密集型并行处理器开始进入人们的视线并被应用到各个领域中。GPGPU拥有着惊人的浮点运算性能,特别是在密集型计算的科学运算领域,几乎每一代GPGPU依靠超强的浮点运算性能都能大大的超越了同期的顶级CPU的运算速度。同时GPGPU其相对低廉的硬件价格,使其成为性价比极高且强劲的大规模并行计算设备。本文为了充分利用GPGPU的强大性能,达到提高AES密码算法加解密速度的目的,提出了一种在GPGPU上实现AES加密算法针对彩色数字图像加解密的方法。由于目前GPGPU的开发平台众多,在文中对目前最常见的多个开发平台分别进行了介绍和比较,根据其各自的特点最终选择了ATI STREAM技术作为开发平台,并将AMD OpenCL作为API接口。同时,为了让算法更好的适应彩色数字图像的特征,提出了将图像信息横向扩展的概念,让RGB信息同时参与运算,达到更好的置乱加密效果。另外,为了发挥出GPU的并行计算能力,对AES算法进行了并行化改进。本文以程序的形式对以上的理论进行了实现,最终根据程序运行结果比对证明,基于ATI STREAM的的AES的实现速度达到了传统CPU上AES实现速度的19.59倍。本文的工作证明了基于GPGPU的硬件加速方法非常适合计算密码学算法,将有助于推动GPGPU在密码学领域的进一步发展。