[发明专利]一种基于OpenCL的AES并行化实现方法有效
申请号: | 201410153285.2 | 申请日: | 2014-04-16 |
公开(公告)号: | CN103973431B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 龚征;袁宇恒;何振忠;温雅敏 | 申请(专利权)人: | 华南师范大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;G06F9/38 |
代理公司: | 广州市华学知识产权代理有限公司44245 | 代理人: | 黄磊 |
地址: | 510631 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 opencl aes 并行 实现 方法 | ||
技术领域
本发明涉及密码算法的技术领域,特别涉及基于OpenCL的AMD GPU上的AES的快速实现方法。
背景技术
GPU原本是专门为处理图形图像数据而设计的,因而它具有高度并行的结构。现今,经过十多年的发展,GPU的并行运算能力已经远远超越了CPU,利用GPU对各种计算进行并行加速也成为了当今的研究热点。而在信息安全方面,GPU的一项重要应用,就是通过并行化来实现快速加解密。
事实上,现在实现加解密并行化有CPU、GPU、FPGA和OPENCL四种并行实现机制,它们也各有优劣。CPU单个核心的性能虽然比GPU的要高,但是不具备高度的并行化结构,并行能力不如GPU,而且受到结构限制,并行规模扩充比FPGA难;FPGA的并行规模扩充虽然比CPU和GPU都容易,然而硬件一旦升级换代,就需要改动大量的代码,不利于开发与维护;GPU则同样受到结构限制,并行规模扩充比FPGA难,单个核心的运算能力也不及CPU,显存与主机内存之间的数据交换会造成大量的延时,这种I/O的耗费成了GPU并行性能主要的瓶颈;OpenCL则是专为异构平台设计的,能够综合利用CPU、GPU及其他类型的处理器来提供并行计算,因而也日渐受到青睐。
OpenCL全称Open Computing Language(开放计算语言),是由Khronos Group维护的为异构平台提供编写程序(尤其是并行程序)的开放的框架标准。OpenCL由编写内核程序的语言和定义并控制平台的API两部分组成,可以在多核CPU或者GPU上编译运行。通过使用OpenCL,软件开发人员便能够高效利用各种异构处理平台,从高性能计算服务器,到家用计算机再到手持设备,都被OpenCL所支持,并且在OpenCL帮助下,能够组合工作。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种基于OpenCL的AES并行化实现方法。
本发明的目的通过下述技术方案实现:
一种基于OpenCL的AES并行化实现方法,包括下述步骤:
S1、确定明/密文及轮密钥分组的数量,准备好明/密文及轮密钥数据的数据;
S2、确定AES的执行模式,为编写内核函数做准备;
S3、编写内核函数;
S4、编写OpenCL程序主文件,为OpenCL程序的执行做准备;
S5、设置程序运行参数,分配内存空间,运行程序;
S6、获取加解密结果,释放资源。
优选的,步骤S1中,轮密钥的数据在主机端预先生成好。
优选的,步骤S2中,根据AES的设计,将每一轮的不同操作转化为仅用T表和异或来实现;其具体实现方式是:
假设a为一轮的输入,长度为128比特,此处看成是4×4字节的矩阵,按照32比特划分为4份,即a0,a1,a2,a3,1份相当于原有矩阵中的1行,如a0,j代表原有矩阵中的第一行第j列的元素,d为一轮的输出,那么,d可以表示为:
dj=T0[a0,j]⊕T1[a1,j+1]⊕T2[a2,j+2]⊕T3[a3,j+3]⊕kj;
其中T0,T1,T2,T3为4个T表,kj为第j列要与之异或的子轮密钥;经过上述处理后,原本需要经过字节替换、行移位、列混合以及轮密钥加四个操作才能获取的一轮的输出,现在就转化为仅依靠查表和异或就能获取到;在完成上述操作前需要预先准备好T表并将其写在内核文件中;
T表的类型可设为4字节的静态无符号整型私有值、4字节的无符号整型常量或静态无符号整型常量类型,需要注意,T表应写在内核函数之外,因为内核函数之内不允许使用静态类型,而且将T表写在内核函数中会导致程序运行时性能的下降。
优选的,步骤S2中,AES的执行模式选用电子密码本ECB模式、计时器CTR模式以及输出反馈OFB模式三种执行模式中的一种。
优选的,步骤S3中,编写内核参数的具体方法为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南师范大学,未经华南师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410153285.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:故障诊断方法及装置
- 下一篇:一种空调制冷剂的过滤装置