数据集加密前处理方法

文档序号:7779178阅读:239来源:国知局
数据集加密前处理方法
【专利摘要】本发明公开了一种数据集加密前处理方法,属于信息加密领域,本发明先统计数据集的元素总量,然后计算数据集需要加密的轮数,最后对数据集中各数据元素进行分组;通过对加密前的数据进行处理,本发明使得量大的数据集在进行加密时更加高效、安全,适合任意结构的大规模数据集,能够节约后期加密时间。
【专利说明】数据集加密前处理方法
【技术领域】
[0001]本发明属于信息加密领域,特别是涉及一种数据集加密前处理方法。
【背景技术】
[0002]随着云计算的发展,由互联网产生和处理的数据量日益增加。大数据几乎贯穿了整个现实世界,然而在享受大数据所带来的便利的同时,个人数据的隐私和企业数据的安全性也越来越受到重视。密码学是防止数据被非法篡改和窃听的有效手段,然而将现有的密码标准直接应用于大规模数据集的加密其安全性尚未有充分的证明。如利用AES算法加密的图像可能会泄露部分信息,因此不恰当地使用已有的加密算法并不能确保数据的安全。
[0003]加密算法的一个重要要求是实现加密的全局扩散性,即任一明文数据的改变将影响全体密文数据。分组密码算法只能实现分组内的扩散,用于加密数据时可能会泄露数据的部分信息,而全局扩散性则可防止这类情况的发生。排列是图像加密中最常用的加密操作。目前有文献研究了在分组模式下对图像加密算法扩散性能的分析,并提出了基于四叉树的排列算法。然而该算法适用性太窄,仅适用于图像加密且要求图像的像素大小为2aX2a,a为正整数,不适用于任意结构的大量数据集。且目前尚未有标准的适合大规模数据集的加密算法。因此如何设计一个适合大规模数据集的分布式的数据集加密前处理方法,以便于进行高效的加密就显得非常具有研究意义和实用价值。

【发明内容】

[0004]有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种高效、安全的数据集加密前处理方法。
[0005]为实现上述目的,本发明提供了一种数据集加密前处理方法,包括以下步骤:
[0006]步骤一、统计数据集的元素总量N,N为正整数;
[0007]步骤二、计算数据集需要加密的轮数;
[0008]步骤三、对数据集中各数据元素进行分组;其按以下步骤进行:
[0009]Al、将数据集中数据元素的位置用m位二进制数表示,m为正整数,m=log2N, 2m ;
[0010]A2、对数据集中的数据元素按分组策略进行分组;
[0011]所述对数据集中的数据元素按分组策略进行分组按以下步骤执行:
[0012]判断数据集的元素总量N ;当N=2m时,则数据元素所在的分组由数据集中数据元素的位置右移一位得到;当2m〈N〈2m+l且数据集中数据元素的位置小于2m时,则数据元素所在的分组由数据集中数据元素的位置右移一位得到;否则对该数据集中的数据元素从其父节点开始依次查找其祖宗节点,其分组等于未再分组的最近祖宗节点所在的分组。
[0013]进一步的,所述步骤三后还包括对数据集各分组的数据进行并行加密的步骤。
[0014]进一步的,为了加密更加全面安全,所述对数据集各分组的数据进行并行加密的步骤后还包括以下步骤:
[0015]B1、判断当前加密轮数是否小于需要加密的轮数,如果当前加密轮数小于需要加密的轮数,则执行步骤B2 ;否则加密完成,输出密文数据;
[0016]B2、对加密后的数据集中的各个元素的位置使用排列算法进行重新排列,计算其新的位置和所在的分组,加密轮数加I,然后对数据集各分组的数据进行并行加密。
[0017]较佳的,步骤二中所述需要加密的轮数按以下步骤计算:对于2y ( N〈2y+1,所需要的加密轮数=y+2,y为正整数。
[0018]较佳的,所述步骤B2中分组排列算法按以下步骤进行:
[0019]Cl:获取数据集中各数据元素原来的位置;
[0020]C2:当N%2不等于O且数据集中各数据元素原来的位置>2m时,则该数据元素新的位置等于该数据元素原来的位置;否则该数据元素新的位置由函数
[0021 ] fr (XnXn-1...Xr+iXr...X2X1) _XnXn-1...Xr+iXr...X2Xl+(Xr+l Xi) (I 2 ) 1/Y Irf 至[I,
中r为当前加密的轮数,r为正整数^1XXnXim...xr+1xr...X2X1)为该数据元素新的位置;XnXn-1-..Xr+iXr...X2Xl为该数据元素原来的位置;Xh表示第h位所代表的二进制的值,h=l,2,3,…,No
[0022]本发明的有益效果是:本发明通过对加密前的数据进行处理,使得量大的数据集在进行加密时更加高效、安全,适合任意结构的大规模数据集,能够节约后期加密时间。
【专利附图】

【附图说明】
[0023]图1是本发明一【具体实施方式】的流程示意图。
【具体实施方式】
[0024]下面结合附图和实施例对本发明作进一步说明:
[0025]如图1所示,一种数据集加密前处理方法,包括以下步骤:
[0026]步骤一、统计数据集的元素总量N,N为正整数。
[0027]步骤二、计算数据集需要加密的轮数。
[0028]步骤三、对数据集中各数据元素进行分组;其按以下步骤进行:
[0029]Al、将数据集中数据元素的位置用m位二进制数表示,表示为XmXmVX2X1 ;m为正整数,m=log2N, N≤2m ;Xi表示第i位所代表的二进制的值,i=l, 2,3,…,m。
[0030]A2、对数据集中的数据元素按分组策略进行分组;
[0031]所述对数据集中的数据元素按分组策略进行分组按以下步骤执行:
[0032]判断数据集的元素总量N ;当N=2m时,则数据元素所在的分组由数据集中数据元素的位置右移一位得到;当2m〈N〈2m+l且数据集中数据元素的位置小于2m时,则数据元素所在的分组由数据集中数据元素的位置右移一位得到;否则对该数据集中的数据元素从其父节点开始依次查找其祖宗节点,其分组等于未再分组的最近祖宗节点所在的分组。
[0033]步骤四、对数据集各分组的数据进行并行加密。
[0034]步骤五、判断当前加密轮数是否小于需要加密的轮数,如果当前加密轮数小于需要加密的轮数,则执行步骤六;否则加密完成,输出密文数据。
[0035]步骤六、对加密后的数据集中的各个元素的位置使用排列算法进行重新排列,计算其新的位置和所在的分组,加密轮数加1,然后对数据集各分组的数据进行并行加密。
[0036]本实施例中,步骤二中所述需要加密的轮数按以下步骤计算:对于T ( N〈2y+1,所需要的加密轮数=y+2,y为正整数。否则加密轮数可以根据需要取任意值。
[0037]所述步骤六中分组排列算法按以下步骤进行:
[0038]Cl:获取数据集中各数据元素原来的位置;
[0039]C2:当N%2不等于O且数据集中各数据元素原来的位置>2m时,则该数据元素新的位置等于该数据元素原来的位置;否则该数据元素新的位置由函数
[0040]fr (XnXn-1...Xr+iXr...X2X1) _XnXn-1...Xr+iXr...X2Xl+(Xr+l Xi) (I 2 )计算 Irf 至丨J,其中r为当前加密的轮数,r为正整数^1XXnXim...xr+1xr...X2X1)为该数据元素新的位置;XnXn-1-..Xr+iXr...X2Xl为该数据元素原来的位置;Xh表示第h位所代表的二进制的值,h=l,2,3,…,N,比较时将数据集中各数据元素原来的位置转化为整数再与2m进行比较。
[0041]以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本【技术领域】中技术人员依本发明的构思 在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
【权利要求】
1.一种数据集加密前处理方法,其特征在于包括以下步骤: 步骤一、统计数据集的元素总量N,N为正整数; 步骤二、计算数据集需要加密的轮数; 步骤三、对数据集中各数据元素进行分组;其按以下步骤进行: Al、将数据集中数据元素的位置用m位二进制数表示,m为正整数,Hi=1g2N, N ^ 2m ; A2、对数据集中的数据元素按分组策略进行分组; 所述对数据集中的数据元素按分组策略进行分组按以下步骤执行: 判断数据集的元素总量N ;当N=2m时,则数据元素所在的分组由数据集中数据元素的位置右移一位得到;当2m〈N〈2m+l且数据集中数据元素的位置小于2m时,则数据元素所在的分组由数据集中数据元素的位置右移一位得到;否则对该数据集中的数据元素从其父节点开始依次查找其祖宗节点,其分组等于未再分组的最近祖宗节点所在的分组。
2.如权利要求1所述的数据集加密前处理方法,其特征在于:所述步骤三后还包括对数据集各分组的数据进行并行加密的步骤。
3.如权利要求2所述的数据集加密前处理方法,其特征在于:所述对数据集各分组的数据进行并行加密的步骤后还包括以下步骤: B1、判断当前加密轮数是否小于需要加密的轮数,如果当前加密轮数小于需要加密的轮数,则执行步骤B2 ;否则加密完成,输出密文数据; B2、对加密后的数据集中的各个元素的位置使用排列算法进行重新排列,计算其新的位置和所在的分组,加密轮数加1,然后对数据集各分组的数据进行并行加密。
4.如权利要求1所述的数据集加密前处理方法,其特征是:步骤二中所述需要加密的轮数按以下步骤计算:对于T ( N〈2y+1,所需要的加密轮数=y+2,y为正整数。
5.如权利要求3所述的数据集加密前处理方法,其特征是:所述步骤B2中分组排列算法按以下步骤进行: Cl:获取数据集中各数据元素原来的位置; C2:当N%2不等于O且数据集中各数据元素原来的位置>2m时,则该数据元素新的位置等于该数据元素原来的位置;否则该数据元素新的位置由函数
fr (XnXn-1...Xr+iXr...X2X1) _XnXn-1...Xr+iXr...X2Xl+(Xr+l Xi) (I 2 ) 1/Y Irf 至[I,中r为当前加密的轮数,r为正整数;fr(xNxN_!...xr+1xr...X2X1)为该数据元素新的位置;XnXn-1-..xr+ixr...X2X1为该数据元素原来的位置;xh表示第h位所代表的二进制的值,i为正整数。
【文档编号】H04L9/00GK103618599SQ201310648532
【公开日】2014年3月5日 申请日期:2013年12月4日 优先权日:2013年12月4日
【发明者】周庆, 王宏, 胡月, 郑友杰, 王湛鹏, 孟瑶 申请人:重庆大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1