gpu协处理下分组加密模式的研究(附件)

保护传输的数据不被恶意读取和篡改,是数据安全的一个重要研究方向。保护数据安全的一个常用手段是对数据进行加密,而加密则需要加密算法作为支撑。常规的分组加密算法运行在CPU端,在对大型文件加解密时极其消耗CPU资源,导致系统响应迟缓,造成系统效率低下。本系统在实现AES加密算法的基础上,对算法结构进行并行化,采用GPU编程技术,通过将AES算法移植到GPU平台,利用其海量的运算核心对AES算法流程进行加速,并且在ECB模式和CTR模式下均获得了不错的性能提升。
目录
摘要 1
关键词 1
Abstract 1
Key words 1
引言 1
1 前言 1
1.1 选题依据和研究背景 1
1.1.1 选题背景 1
1.1.2 研究现状 2
1.2 课题的目的和意义 3
2 开发平台与应用技术 3
2.1 C语言开发技术简述 3
2.2 GPU编程简介 3
2.2.1 GPU简介 3
2.2.2 CUDA简介 4
2.2.3 CUDA C编程 5
2.3 QT框架简介 5
3 相关理论和算法研究 5
3.1 AES加密算法 6
3.1.1 AES算法概述 6
3.1.2 AES算法的数学基础 6
3.1.3 AES算法结构 6
4 系统功能设计 8
4.1 系统流程设计 8
4.1.1 关键技术问题解决 8
4.2 文件加解密模块的设计 9
4.2.1 关键技术问题 9
5 系统功能实现 10
5.1 AES算法基本操作实现 10
5.1.1 有限域乘法 10
5.1.2 密钥扩展 10
5.1.3 字节替换 11
5.1.4 行位移 11
5.1.5 列混淆 11
5.2 AES对块的加解密实现 11
5.2 *好棒文|www.hbsrm.com +Q: @351916072@ 
.1 块加密 11
5.2.1 块解密 12
5.3 AES的两种工作模式的实现 13
5.3.1 ECB模式的实现 13
5.3.2 CTR模式的实现 14
5.4 在GPU平台上实现AES加密算法 15
5.4.1 GPU平台加密文件 16
5.4.2 GPU平台加密明文块 17
6 系统功能测试 17
6.1 CPU端加解密测试 17
6.1.1 ECB模式 17
6.1.2 CTR模式 19
6.2 GPU端加密测试 21
6.2.1 ECB模式 21
6.2.2 CTR模式 23
7 分析 25
7.1 CPU/GPU效率分析 25
7.2 不同GPU效率分析 26
7.3 不同算法实现方式效率分析 27
8 总结 29
致谢 29
参考文献 30
GPU协处理下分组加密模式的研究
引言
引言
1 前言
1.1 选题依据和研究背景
1.1.1 选题背景
当前数据和资料都逐步实现了电子化,数字化,传输和存取等操作都在计算机设备上进行。使用计算机设备存取和传输文件在提供便利的同时却也引发了数据安全方面的问题,非法窃取,篡改数据导致数据泄漏和失效问题也愈发严重,如何保障信息的安全愈发得到人们的重视。
通过对数据的加密能够有效的防止信息被非法窃取,但是随着数字化步伐的加快,各种资料尺寸成几何倍数增长,消耗在对大量文件加解密上的时间也成倍的增长。 虽然加密算法可以在硬件层面上实现,但是硬件一旦设计好便无法改动,缺乏灵活性,一旦对应的加密算法遭到分析和破解,此类硬件也会随之失效。因此,如何更有效地实现对数据的加密和解密成为了一个研究的热点,各种优化加密算法速度的方法被提出。
自1999年NVIDIA发布了首款图形处理器GPU(Graphics Processing Unit)以来,GPU硬件发展十分迅猛,尤其在浮点运算性能方面。[]但以往的GPU的应用一直被局限于对计算机图形和图像的处理,很少用于其他方面的应用。但相较于传统的中央处理器CPU(Central Processing Unit)而言,GPU在设计之初的目的是负责图像的处理,无需担负控制整个计算机设备的任务,因此计算核心的密度明显高于CPU,所以GPU更适合处理高密度的数据计算。鉴于此,通用计算图形处理器(General Purpose GPU,GPGPU)逐渐产生,但其早期采用将科学计算转换为图形渲染计算的模式,此种方法需要一定的计算机图形学基础,且并不一定适合所有计算,开发难度大,适配困难,因此无法实现普及。
2007年NVIDIA公司推出统一计算设备架构(Compute Unified Device Architecture, CUDA),为解放GPU巨大的并行计算能力提供了一个标准的接口。CUDA将GPU不同于CPU的特殊性质封装起来,面向用户提供和CPU类似的通用编程接口。CUDA使用一种简单易懂的方式为用户提供了并行计算方式,通过一个简单的逻辑表达式来编写程序达到并行硬件加速的目的。[]正是由于CUDA为GPU编程提供了有力的支持,使用GPU作为辅助计算设备的应用如雨后春笋般涌现出来,其中也不乏对算法类问题的研究。
1.1.2 研究现状
加密的含义是将各种数据中的机密信息处理为无法识别的其他信息,解密则是逆向的还原出原始信息,由指定的算法来完成着一系列的处理工作。在主流的加密技术中,常见的有三大类分别是对称加密算法,非对称加密算法和Hash算法。
对称加密算法指的是在加解密过程中使用相同密钥的一种加密算法,其相较于其他加密算法有着加解密速度快和密钥长度足够时难以破解等特点。对称加密算法领域有三种常用算法:数据加密标准(Data Encryption Standard, DES),三重数据加密标准(Triple DES,3DES),高级加密标准(Advanced Encryption Standard, AES)。[]

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wljs/469.html

好棒文