一种大数据环境下动态数据的并行加解密方法

文档序号:6515701阅读:239来源:国知局
一种大数据环境下动态数据的并行加解密方法
【专利摘要】本发明公开了一种大数据环境下动态数据的并行加解密方法。在大数据环境下,该方法实现了对网络上产生的大量动态数据流并行加解密操作的方法。本发明利用通用计算图形处理器GPU并行完成对数据的加密解密过程,根据动态数据传输速率,自适应调整数据处理并发宽度,在保障信息安全的基础上,实现加解密的透明化操作。
【专利说明】一种大数据环境下动态数据的并行加解密方法
【技术领域】
[0001]本发明属于信息安全【技术领域】与并行计算领域,涉及数据加解密并行处理,特别涉及一种面向大数据的动态数据加解密并行处理方法。
技术背景
[0002]1.大数据所涉及的数据量规模巨大,一般无法通过传统数据工具在合理时间内进行处理。传统大数据的处理一般采用依靠云计算提供大量的计算资源,采用批量处理的方式,传统的大数据处理具有以下的问题:
[0003]a.占用大量的CPU硬件资源。
[0004]b.使用分布式计算,需要耗费较多时间在计算机之间通信上。
[0005]2.GPU并行计算是利用GPU完成计算任务的并行解决方案。由于单位GPU内具有远高于CPU数目的可用于并行的具有计算能力的计算单元,相比CPU而言,GPU更加适用于单指令多数据的并行执行模式。具有计算速度快,可并行性好的优势。

【发明内容】

[0006]本发明目的在于针对目前大数据环境下大规模动态数据传输过程中信息安全的要求,设计的一种面向大数据的动态数据加解密并行处理方法。解决的技术问题是:传统分组加密在应用到大数据环境下存在较大的处理延迟,并占用大量的CPU计算资源。
[0007]本发明针对上述提到的问题,采用一种基于GPU的动态数据并行加解密模型,有效解决了上述问题。
[0008]一种基于GPU的动态数据并行加解密模型,包括位于发送方的并行加密模块与位于接收方的并行解密模块。其中加密模块负责将发送方提交的动态数据流明文,利用GPU数据处理能力采用并行的方式进行加密;解密模块负责将接收方接收的数据密文,利用GPU采用并行方式进行解密(参见附图1)。
[0009]一种大数据环境下动态数据的并行加密方法包括如下步骤(参见附图2):
[0010]步骤1:发送方在发送数据至发送缓冲区时,计算数据传输速率。
[0011]步骤2:根据数据传输速率、GPU核心单元运行速率,设定数据加密处理并发宽度来控制动态数据流的加密速率。
[0012]步骤3:将待处理数据的存储空间映射至GPU。
[0013]步骤4:并行数据处理的方式具体采用分组加密算法DES,并将把数据划分为若干64比特大小的数据分组,不同数据分组的加密任务按照并发宽度均匀分配给GPU的处理核心。
[0014]步骤5:按照传统DES算法计算子密钥,将子密钥传递至GPU存储空间。
[0015]步骤6 =GPU处理核心针对数据分组首先经过初始置换,使用映射方式实现原始数据分组的位置置换(参见附图4)。然后进行16轮循环,每轮循环将数据分为前后各32位的两组数据,后32位数据进行费斯托函数运算,运算后结果与前32位数据进行异或运算形成新的32位数据,然后交换前后32位中间数据。最后使用映射方式实现该数据分组的末置换(参见附图4),完成该数据分组的加密。
[0016]步骤7 =GPU核心将对应的所有数据分组按照步骤5进行处理,然后将处理后的数据发送至数据缓冲区。
[0017]步骤8:发送处理后的数据至接收方接收缓冲区。
[0018]一种大数据环境下动态数据的并行解密方法包括如下步骤(参见附图3):
[0019]步骤1:接收方接收缓冲区在接收数据时,计算数据传输速率。
[0020]步骤2:根据数据传输速率、GPU核心单元运行速率,设定数据解密处理并发宽度来控制动态数据流的解密速率。
[0021]步骤3:将待处理数据的存储空间映射至GPU。
[0022]步骤4:并行数据处理的方式具体采用分组加密算法DES,并将把数据划分为若干64比特大小的数据分组,不同数据分组的解密任务按照并发宽度均匀分配给GPU的处理核心。
[0023]步骤5:按照DES算法计算子密钥,然后将子密钥传递至GPU存储空间上。
[0024]步骤6 =GPU处理核心针对数据分组首先经过初始置换,使用映射方式实现原始数据分组的位置置换(参见附图4)。然后进行16轮循环,每轮循环将数据分为前后各32位的两组数据,后32位数据进行费斯托函数运算,运算后结果与前32位数据进行异或运算形成新的32位数据,然后交换前后32位中间数据。最后使用映射方式实现该数据分组的末置换(参见附图4),完成该数据分组的解密。
[0025]步骤7 =GPU核心将对应的所有数据分组均按照步骤5进行处理。
[0026]步骤8:处理的数据由缓冲区发送至接收方。
[0027]本发明一种大数据环境下动态数据的并行加解密方法,具有的特点和有益效果是:
[0028]本发明利用GPU的并行计算能力,降低CPU计算负载,根据网络数据传输速度,自适应调整数据加解密速率,采用并行解决方案实现对大数据环境下动态数据流的加解密,从而保证数据流正常的传输,隐藏处理延迟。
【专利附图】

【附图说明】
[0029]附图1为大数据环境下动态数据加解密与传输示意图。
[0030]附图2为动态数据加密过程示意图。
[0031]附图3为动态数据解密过程示意图。
[0032]附图4为映射方式实现数据置换操作示意图。
[0033]附图5为GPU并行数据操作示意图。
【具体实施方式】
[0034]下面结合附图对本发明的内容做进一步详细介绍。
[0035]1.数据加密处理并发宽度设定。网络上动态数据的发送速率为vsmd,GPU单核心处理数据加密的速率为Λ V,设定并行处理的宽度N,保证任意时间段VsmdS N.Λ V。
[0036]2.加密过程的密匙计算。DES算法密钥的生成是对64位长度的初始密钥进行一系列置换和移位运算,得到Kl到K16共16个子密钥,每个子密钥长度为48位。通过CPU计算完成后,将子密钥传递至GPU存储器供后续操作。具体操作如下:
[0037]I)将输入64位密钥去掉最后一列校验位后,按照固定的密钥置换矩阵PC-1对剩下的56位密钥进行置换,输出56位数据。
[0038]2)将上一步中的输出划分为前28位CO和后28位DO两部分,CO和DO按照事先提供的移位矩阵进行循环左移I位或2位操作,然后重新合并为56位数据。
[0039]3)将上一步中的输出按照压缩置换矩阵PC-2进行压缩置换,产生第一轮48位子密钥。
[0040]4)重复b?c中操作,将上一轮移位后数据作为新一轮输入,重复16次,生成16个子密钥
[0041]3.将动态数据按照64比特一组划分为若干分组,并将分组所占存储空间映射至GPU,然后将所有分组的加密任务均匀分配至GPU并行处理核心,若并行宽度为N,处理数据总长度为size字节,分配至每个SP的需要处理的数据分组个数为size/(SN)。
[0042]4.GPU核心操作步骤如下(参见附图5):
[0043]I)读取分组数据。
[0044]2)使用改进后的映射方式实现原始数据位置置换。(参见附图4)
[0045]3)进行16轮循环,将数据分为前后各32位的两组数据,后32位数据进行F函数运算,运算结果与前32位数据进行异或运算,并交换前后32位的中间数据。
[0046]4)使用改进后的映射方式实现数据位置末置换。(参见附图4)
[0047]5)将处理后的数据传输至缓冲区。
[0048]6)读取下一数据分组,重复步骤a)到e),直至所有数据处理完成。
[0049]5.映射方式实现位置置换方式包括接收64位数据和64位映射表,输出64位置换后数据。映射表任意一位的值对应相应数据位数据偏移量。具体步骤为:
[0050]I)初始化输出数据为O ;
[0051]2)数据读取一位,然后与映射表相应元素相乘,结果与输出数据异或。
[0052]3)重复步骤2)64次,完成映射。(参见附图4)
[0053]6.将步骤3处理后的数据发送至缓冲区,当缓冲区满后,通过网络传输至接收端缓冲区。
[0054]7.接收方对从接受缓冲区内的动态数据进行解密处理,子密钥采用逆序参与计算,其余步骤与加密步骤相同。
[0055]8.解密后数据传输至接收方。
【权利要求】
1.一种面向大数据的动态数据加解密并行处理方法,其特征在于:所述的加解密方法包括如下步骤: 步骤1:发送方在发送数据至发送缓冲区以及接收方接收缓冲区在接收数据时,计算数据传输速率; 步骤2:根据数据传输速率、GPU核心单元运行速率,设定数据加解密处理并发宽度来控制动态数据流的加解密速率; 步骤3:将待处理数据的存储空间映射至GPU ; 步骤4:并行数据处理的方式采用分组加密算法DES,把数据划分为若干64比特大小的数据分组,不同数据分组的加解密任务按照并发宽度均匀分配给GPU的处理核心; 步骤5:在步骤I?3执行过程中,同时对密钥进行处理,按照传统DES算法计算子密钥,将子密钥传递至GPU存储空间; 步骤6:每个GPU处理核心针对数据分组首先经过初始位置置换,使用映射方式实现原始数据分组的位置置换;然后进行16轮循环,每轮循环将数据分为前后各32位的两组数据,后32位数据进行费斯托函数运算,运算后结果与前32位数据进行异或运算形成新的32位数据,然后交换前后32位中间数据;最后使用映射方式实现该数据分组的末位置置换,完成该数据分组的加解密; 步骤7:将所有数据分组按照步骤5进行处理,更新缓冲区数据。
2.根据权利要求1所述的一种面向大数据的动态数据加解密并行处理方法,其特征在于:所述步骤I中发送方在发送数据至发送缓冲区时,利用GPU实现对大数据明文的并行加密处理;接收方接收缓冲区在接收数据时,利用GPU实现对密文的并行解密处理。
3.根据权利要求1所述的一种面向大数据的动态数据加解密并行处理方法,其特征在于:所述步骤2中设定的数据加解密处理并发宽度要保证动态数据流的加解密速率大于或等于数据传输速率。
4.根据权利要求3所述的动态数据流的加解密速率大于或等于数据传输速率,其特征在于:对于动态数据流处理可并发控制,即根据数据流传输速率以及GPU核心单元运行速率自适应调整数据加解密并发宽度,保证数据加解密速率恒定大于或等于数据流传输速率。
5.根据权利要求1所述的一种面向大数据的动态数据加解密并行处理方法,其特征在于:所述的步骤4中的并行数据处理的方式是基于CUDA架构,利用GPU并行计算能力实现的。
6.根据权利要求1所述的一种面向大数据的动态数据加解密并行处理方法,其特征在于:所述的步骤6中的映射方式实现原始数据分组的位置置换时,原始数据分组的任意一位与映射表对应元素相乘,实现该位数据置换至正确的置换位置。
7.根据权利要求6所述的一种面向大数据的动态数据加解密并行处理方法,其特征在于所述的映射表共包含64个元素,第m个元素对应数据分组第m位需置换到的目的位置系数,系数大小设定为2'
【文档编号】G06F21/60GK103632104SQ201310487509
【公开日】2014年3月12日 申请日期:2013年10月17日 优先权日:2013年10月17日
【发明者】刘镇, 刘晓, 王蕴培, 蒋玉宇 申请人:江苏科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1