[发明专利]基于CUDA的ARIA对称分组密码算法并行化方法无效
申请号: | 201310401251.6 | 申请日: | 2013-09-05 |
公开(公告)号: | CN103490877A | 公开(公告)日: | 2014-01-01 |
发明(设计)人: | 肖利民;李勇男;李映;阮利 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;G06F9/46 |
代理公司: | 北京金恒联合知识产权代理事务所 11324 | 代理人: | 李强 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 cuda aria 对称 分组 密码 算法 并行 方法 | ||
技术领域
本发明提出了针对ARIA对称分组密码算法的并行化方法,具体涉及一种含四个S盒的ARIA对称分组密码算法和基于CUDA(Compute Unified Device Architecture)编程架构的并行算法设计,属于计算机技术领域。
背景技术
ARIA对称分组密码算法
ARIA是一种采用四个S盒的对称分组密码算法,可以使用128、192、256比特位三种密钥长度,对应的加密轮数分别为12、14、16轮。本发明采用128比特位密钥长度说明并行化方法。加密之前需要计算出所有的轮密钥,即密钥扩展算法,加密的具体过程如如图1所示,若采用n轮轮函数的ARIA对称分组密码算法,则前n-1轮每一轮的轮函数由以下三个部分组成:
(1)轮密钥加(Round Key Addition)每个数据分组与一个轮密钥(Round-key)进行异或。
(2)置换层(Substitution Layer)如图2,图3所示,ARIA对称分组密码算法的置换层需要用四个S盒(S-box),包括S1、S2、和。置换层共有两种,其中一种用在奇数轮,另一种用在偶数轮。其中每一个S盒是一个8比特位的16行16列的替换表。以S1盒中的替换为例,S1(0x00)=0x63,S1(0x05)=0x6B。
(3)扩散层(Diffusion Layer)将一个16字节的输入线性映射为16字节的输出函数,其映射关系为1个16X16的二进制自逆矩阵。
如图1所示,ARIA对称分组密码算法的最后一轮轮函数需要执行两次轮密钥加和一次置换。因此,对于n轮的ARIA对称分组密码算法,需要n+1组密钥。本发明采用的128位ARIA对称分组密码算法共有12轮加密,共需要13轮密钥。
CUDA(Compute Unified Device Architecture)
CUDA是目前最常用的编程架构。在CUDA编程架构中,CPU(Central Processing Unit,即中央处理器)作为主机,GPU(Graphic Processing Unit,即图形处理器)作为协处理器或者设备,是一种异构计算结构。一个系统中可以存在一个主机和多个设备,它们协同工作,各司其职。CPU拥有丰富的控制逻辑,负责逻辑性强的事务处理和串行计算,GPU上控制逻辑简单但计算资源丰富,负责执行高度线程化的并行处理任务。它们拥有相互独立的存储器空间:内存和显存。CUDA使用不同的方式来控制内存和显存。对于内存,使用C程序的内存管理函数;对显存,则使用CUDA的存储管理函数来进行开辟、初始化、释放显存空间,以及在内存和显存之间进行数据传输等。CUDA的存储器结构如图4所示,每个线程均拥有自己私有的寄存器、局部存储器(Local Memory)。每个线程块内的线程共享一块共享存储器(Shared Memory);一个线程网格(Grid)内的所有线程均可以访问同一块全局存储器(Global Memory)。这四种存储空间都是可读可写的,而另外还有两种只读存储器,即常数存储器(Constant Memory)和纹理存储器(Texture Memory)。
发明内容
本发明的一个目的,是基于CUDA为使用四个S盒的ARIA对称分组密码算法提供三种粒度的并行化方法。该方法首先对ARIA对称分组密码算法的轮函数进行化简,使轮函数转换为多次查找表操作和异或操作。然后根据轮函数的化简结果和CUDA编程架构的特点提出三种粒度的并行化方法,并设计ARIA对称分组密码算法在CUDA编程架构上的存储器映射方案和线程映射方案。本发明提出的并行化方法可以提高ARIA对称分组密码算法加密解密的速度。
本发明提供了基于CUDA的ARIA对称分组密码算法三种并行化方法,其特征在于:
(1)根据ARIA对称分组密码算法的特点将轮函数化简为多次查找表操作和异或操作;
(2)基于CUDA编程架构的三种粒度并行化方法;
(3)ARIA对称分组密码算法中的S盒、轮密钥、明文、密文进行存储器分配方案;
(4)ARIA对称分组密码算法三种不同粒度并行化方法的线程映射方案。
附图说明
图1是加密流程图。
图2示意显示了置换层类型1。
图3示意显示了置换层类型2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310401251.6/2.html,转载请声明来源钻瓜专利网。