摘要:保护传输的数据不被恶意读取和篡改,是数据安全的一个重要研究方向。保护数据安全的一个常用手段是对数据进行加密,而加密则需要加密算法作为支撑。常规的分组加密算法运行在CPU端,在对大型文件加解密时极其消耗CPU资源,导致系统响应迟缓,造成系统效率低下。本系统在实现AES加密算法的基础上,对算法结构进行并行化,采用GPU编程技术,通过将AES算法移植到GPU平台,利用其海量的运算核心对AES算法流程进行加速,并且在ECB模式和CTR模式下均获得了不错的性能提升。35915 毕业论文关键词:数据安全;分组加密;AES;GPU
The Research of Block Cipher Mode Based on GPU
Abstract: Protecting data from hostile fetching and modifying are the most important fields of data security. The most frequently method to protect data is to encrypt the message, and needs an algorithm for the implement of encryption. The conventional block cipher is based on CPU, when encrypting a large file, it costs much resource of CPU and results the highly response latency, which will cause the low efficiency of the system. This system is based on the implementation of Advanced Encryption Standard, optimize AES algorithm for parallel processing by using GPU programming technology. Porting the algorithm to GPU platform to use the tremendous amount of cores to accelerate the progress of encryption and decryption and achieved a good acceleration in both ECB mode and CTR mode.
Key words: Data Security;Block Cipher;AES;GPU
目 录
摘要 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.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