论文部分内容阅读
随着计算机网络应用的普及和发展,信息安全作为新兴学科日益受到重视。受CPU串行体制的限制,传统的串行密码算法已经越来越不能满足信息安全对运算速度和系统安全性的需求。基于硬件实现的AES加速加密器,其功能比较单一、运算效率比较低下,实现通信协议还需要额外的硬件资源。这种方法的不足是成本增大,而性能并不理想。随着GPU技术的不断发展,GPU的计算能力和带宽已经获得显著提高,近年来使用GPU对计算密集型应用进行加速已成为研究热点之一。CUDA编程模型的出现使得基于GPU的应用开发更加灵活,实现更加高效。正是在这样背景下,选择“基于CUDA并行架构AES算法的研究与实现”作为研究课题。
详细讨论了GPU并行编程平台CUDA独特的软硬件架构;在充分研究标准加密算法AES原理基础上,分析AES算法实现的传统思想,研究了块密码的工作模式并构建AES并行加密算法的模型;讨论并分析基于CUDA架构优化技术,使用大规模矩阵乘法测试了CUDA编程平台,验证了GPU拥有强大浮点运算能力。
在此基础上,对基于CUDA并行架构AES算法采用查找表的方式对轮函数的运算进行优化,简化了加密轮的执行步数,选择合适的块密码工作模式,深入分析并比较了三种不同粒度的并行划分方案;基于CUDA平台实现了改进的并行AES加密算法,完成了其实现的主机端程序设计及设备端程序设计;对设计实现的并行AES加密算法和原有的CPU串行AES算法进行了测试和分析;实验结果显示,基于CUDA架构的AES算法较于CPU实现的AES算法获得较高的加速比。存储器优化后的GPU吞吐量最高达到10.05Gbit/s,加速比最高达到25。最后,总结影响并行AES加密算法在GPU上执行效率的主要因素,本课题在保证了运算速度的基础上实现了资源和速度的均衡,加速比和执行效率都取得了理想的效果。本文的研究方法对于在CUDA并行平台上实现密码算法具有一定的借鉴意义。