基于GPU的分组密码算法优化技术

来源 :华南师范大学 | 被引量 : 0次 | 上传用户:yiwen_yu
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
本文着重研究如何使用基于GPU的并行化技术,尤其是基于OpenCL的并行化技术,对分组密码算法中的AES以及KLEIN两个算法进行并行化优化。与以往的并行化实现方式相比,基于GPU的并行化技术具有方便、灵活、可移植性强、易于维护,性价比高等特点。然而,在利用GPU进行并行化实现的时候,选择何种并行模式,采用何种并行计算粒度,如何合理利用不同类型的内存以及采用何种调度策略能使算法性能最优化,这些都是至关重要的问题。  针对这些问题,Iwai[1]等人通过实验,从并行粒度,内存分配策略两方面总结出了使用CUDA技术对AES进行并行实现时的最佳方案。而刘伯仲[2]等人则通过理论推导与实验相结合,对管道延迟隐藏技术进行了深入的研究,得出了在使用GPU进行并行化实验时的最佳分块和调度策略。  那么,Iwai等人提出的方案是否在使用OpenCL技术进行并行化实现时同样适用?我们能否相似地得出在使用OpenCL技术对AES进行并行化实现时的最佳方案?如何对bitslicing化后的KLEIN进行并行化优化?这些都是本文要着重解决的问题。本文的主要工作及研究成果如下:  首先,在AES的优化方面,本文采用了Iwai等人的研究和实验方法,对使用OpenCL技术在AMD GPU上进行AES并行化实现时的各种并行粒度及内存分配方案进行了讨论和试验,提出了在使用OpenCL技术对AES进行并行化时的最佳实现方案。实验结果显示,在4 Bytes/Thread、8 Bytes/Thread、16Bytes/Thread三种并行粒度中,16 Bytes/Thread时由于不需要同步,拥有更好的性能。而在16Bytes/Thread的并行粒度下,在各种的内存分配策略中,将明/密文(及加/解密过程中用到的临时变量)放在私有内存中,而将轮密钥放在常量内存中,得到的性能最好。在该策略下,当输入数据大小为128 MB时,使用AMDHD7670m能达到的吞吐率约为5Gbps,该结果与以往工作相比具有较高的性价比。  其次,在Bitslicing-KLEIN的优化方面,本文针对原有的KLEIN算法的bitslicing实现所存在的缺陷,通过引入重排的机制,使bitslicing的并行特性能有效地发挥出来,从而改进了其实现。在此基础上,本文采用了刘伯仲等人提出的模型,合理地选择了分块大小和调度策略,对改进后的Bitslicing-KLEIN进行了并行化实现,从而使算法的性能得到了进一步的提高。实验结果显示,在处理数据均为10MB时,最终优化后的版本性能较原先的KLEIN的性能提升了约9.8倍,与原版的Bitslicing-KLEIN相比提升了292倍。
其他文献
学位
大规模地形绘制一直是图形学研究的热点问题。尤其是球面地形绘制,它在形状和数据组织方面相较于平面地形绘制更加复杂,一直处于研究重点和难点。对球面地形的可视化仿真希望达
近年来,随着计算机技术的迅速发展,图像处理技术在空间科学实验中得到了广泛的应用。本文在图像处理中的几项关键技术的研究基础之上,结合相应的空间科学实验环境特点,将相关技术
随着我国航天技术的发展,越来越多的空间科学实验在空间飞行器上进行,各种成像类仪器在空间科学实验中的需求也逐渐增多,导致了电子学处理的数据总量显著增加,从而对仪器设备之间
数据蕴含的巨大价值驱使大量研究的开展。然而,大数据呈现碎片化的特征,形成多源、割裂、异构的数据形态,使得数据的利用变得困难。为了能够使数据价值的最大化,往往需要把多个来
自然语言构成的文本中往往包含了丰富的信息,但是这些自然语言描述的信息是提供给人阅读理解,计算机无法组织里面的有效信息加以利用。一般的解决办法是人工直接从文本中提取信
精确的鸟类分类识别是鸟类学研究的基础。然而,一直沿用至今的形态学鉴别和传统比对算法各自存在一定局限性。近年来DNA条形码(Barcoding)技术在鸟类物种识别与分类方面起到了
甚长基线干涉测量(Very Long Baseline Interferometry,VLBI)是一种新兴干涉测量技术,通过延长基线和提高观测频率可获得极高的空间分辨率和基线测量精度,为目前角分辨率最高的
程序验证是计算机程序设计领域的传统研究课题,也是当前非常热门的可信计算研究的重点方向之一。然而,对于常见的绝大多数程序而言,完全正确性验证还是非常困难的。   程序的
随着通信、网络及信号处理技术的不断发展,新兴的宽带多媒体业务在无线网络中日益普及。无线多播是一种带宽有效的传输方式,通过单次传输可以同时为多个用户提供多播数据,尤