高并行度的信息加解密算法研究
时间:2017-05-21 15:05 来源:毕业论文 作者:毕业论文 点击:次
摘要随着信息时代的到来,互联网上流通的数据已达TB甚至PB数量级。这对计算机处理数据的能力提出了很高的要求。并且随着人们在互联网上传输数据的增多,数据的安全性正受到越来越多的关注。因此我将大规模数据下的数据加解密研究作为了我的毕业设计方向。本文旨在文研究在高并行度的信息加解密算法,并在GPU上实现AES加密算法的方法。首先介绍了GPU、CUDA构架和AES算法,然后对CUDA中的GPU结构和CUDA编程模型进行了深入的研究。最后在GPU平台上对设计实现了AES加密和解密算法,使用NIVIDIA公司推出的CUDA(统一计算设备构架)体系,实现了AES算法在GPU多核多线程下对大规模数据的高并行度处理,解决了大规模数据的处理和传输的安全性,取得了理想的加速效果。其实在大多数应用情况下,目前计算机显卡配置的GPU 运算潜能并没有完全释放出来,本文介绍的加密方法是GPU 通用计算具体应用的一个体现。虽然目前以CUDA 为代表的GPU仍然存在精度不高,程序编写限制较多的缺点,但随着并行流处理概念的进一步发展,GPU通用计算技术将在各个领域发挥更大的作用。8963 关键词 CPU-GPU异构, CUDA,多线程技术, AES加解密算法 毕业设计说明书(论文)外文摘要 Information encryption and decryption algorithm research under high degree of parallelism Abstract With the development of informational age, the capacity of data storage devices has been greatly enhanced, and so does the information people contact every day. The data flowing on the Internet has already reached TB or even PB level. This proposes a high demand for the data processing ability of computers. However the present single or few threads mode of the personal computers can hardly fulfill this requirement. Also the security of the data has received unprecedented focus as more and more information are floating on the Internet. This thesis is aimed at information encryption and decryption algorithm research under high degree of parallelism of CPU-GPU architecture. First some brief introductions on GPU,CUDA and AES are given, and then I did some further research into the programming model of CUDA(Compute Unified Device Architecture). Finally the AES algorithm is achieved under the CUDA system proposed by NIVIDIA to deal with the large-scale data processing as well as enable its security. The encrypt method mentioned in this passage is a utility of GPGPU(General purpose computing on graphics processing units).Though under the current circumstance there are still some shortages in GPGPU, with the development of parallilism flow processing, GPGPU has a great potential to play an important role in various fields. Keywords CPU-GPU Architecture, CUDA, Multi-thread, AES Algorithm 目 次 1绪论1 1.1 选题背景2 1.2 国内外研究现状2 2 GPU通用计算3 2.1图形处理器GPU3 2.2基于GPU的通用计算GPGPU3 2.3同一设备计算构架CUDA5 2.4 CUDA编程模型6 3 AES加密算法9 3.1 AES算法背景 9 3.2 AES加密算法说明 9 3.3 AES解密算法说明12 3.4 AES算法优点13 4 AES并行实现的研究14 4.1 编程环境14 4.2 数据格式16 4.3 设计思路17 4.4 程序流程图18 4.5 AES加密主机端部分程序设计20 4.6 AES加密设备端部分程序设计25 4.7 AES解密主机端部分程序设计30 4.8 AES解密设备端部分程序设计30 4.9 并行程序优化设计34 4.10 优化性能分析35 4.11 程序改进分析36 结论 37 致谢 38 参考文献39 1 绪论 1.1 选题背景 21世纪是一个信息化的时代。信息在人们的生活中扮演者越来越重要的角色,大到国家政策,小到衣食住行,都需要准确而实时的信息作为参考来做出决定。而随着信息技术的不断进步和因特网的大规模普及,数据存储设备的容量越来越大,信息的流通量也越来越大。例如15年前,一块硬盘只有2G大小,而现在,一部高清电影的大小就要10G以上。数据量的爆炸性增长无疑对计算机处理数据的能力提出了很高的要求。人类所面临的很多重要科技问题, 如卫星成像数据的处理、全球气候的准确预报、人类基因组计划、核反应堆的模拟等等,其数据规模已达TB甚至PB数量级,没有万亿次以上的计算能力是没有办法计算的。日常生活中,我们所面临的图像和数据计算也越来越复杂,如游戏和视频播放中的图形处理。这些都对计算速度提出了很高的要求[1]。 (责任编辑:qin) |