一种大数据加密方法_3

文档序号:8907567阅读:来源:国知局
Z时,Z通常为256,各个分组之间的Xn和各个Yn没有必然的联系,得出定理一中的方程式Κη=Χη~Υη,是一个独立的方程式,又由定理一 Κη=Χη~Υη,可知,已知Kn,无法求出Xn和Yn。
[0023]定理九,temp_sln与temp_sl (n+1)之间的关系只与随机种子sl相关。
[0024]证明如下:已知temp_sln = Af3 (sl), new_sl==Af2 (sl), temp_sl (n+1) = Af3 (new_sl), temp_sl (z+1) = Af3 (Af2(sl)),可见 temp_sln 与 temp_sl (n+1)之间的关系只与随机种子sl相关
定理十,X# X (n+1)之间的关系只与随机数组A及随机种子Si相关。
[0025]证明原理同上。
[0026]定理十一,¥?与Y (n+1)之间的关系只与随机数组B随机种子s2相关。
[0027]证明原理同定理九。
[0028]定理十二,使用枚举某一密文对应的XlvS Y n,tem_A,temp_B的方法无法得出另一个密文对应的明文。
[0029]证明如下:根据定量二可知,各个XlvS Y ?由随机数sl,s2及随机数组A、B决定,又根据定理四,定理五,定理六,定理七可知,已知某一 X n及¥?无法推出随机数sl,s2及随机数组A、B,所以使用枚举某一密文对应的XlvS Yn, tem_A,temp_B的方法无法得出另一个密文对应的明文。
[0030]定理十三,当密文个数为Z+1时,Z通常为256,无法根据密文反推出明文。
[0031]证明如下:根据定理十二,定理九,定理十,定理^ ,要求出乂?与X (n+1)之间的关系,必须要知道随机数组A,B及随机种子sl,s2,而A,B,sl, s2都是未知且随机的,所以在A,B,sl,s2都是未知及随机的情况下,可以将定理一中的方程式Kn=Xn~Yn看作是一个独立的方程式,又由定理一 Κη=Χη~Υη,可知,已知Kn,无法求出Xn和Υη。
【主权项】
1.一种大数据的加密方法,其特征在于:本方法基于如下原理进行加密:对数据采用分组的方式进行加密,每组数据加密长度为一个字节或两个字节及以上,通常使用一个字节;每个分组数据的加密方式是每个分组数据与数值XlvS Yn (以下统称为密码Xn,及Yn)进行异或与每个分组数据异或的密码乂?及Yn都是不相同的;相邻两组的密码夂?及X (n+1)存在不确定性关系;相邻两组的密码YnR Y (n+1)存在不确定性关系;密码X ?及Y n的值由一组数据确定,这组数据称之为交换密钥: 所述交换密钥由种子一(Si)、种子二(S2)、交换盒一(A)及交换盒二(B)组成;每次加密时,交换密钥都是随机生成的,即种子一(Si)、种子二(s2)、交换盒一(A)及交换盒二(B)中的数据都是随机的,每次加密都随机生成;交换盒A及B可以是一个j*l的长整形矩阵,j>=256,通常为256,该矩阵也可以看作是一个有j个长整形元素的一维数组,以下在数学上称之为数组A及数组B ;种子一(Si)、种子二(s2)的大小通常为一个长整形; 所述密码Xn*种子一(Si)及交换盒一(A)确定;种子一(Si)每进行一次分组加密后,都进行一次变换,变换方式可以是线性同余的方式或非线性的方式; 所述交换盒一(A)每进行Z次分组加密后,交换盒中的所有元素都进行一次变换,变换方式可以是线性同余的方式或非线性方式,以下以线性同余的方式介绍(Z>=1,,Z〈=A的元素个数,通常为256); 所述交换盒一(A)中的数据取余后放置到一个临时交换盒中(temp_A); 其中:Xn中的第Si个元素的值;密码Y1^种子二(s2)及交换盒二⑶确定;种子二(s2)每进行一次分组加密后,都进行一次变换,变换方式可以是线性同余的方式;交换盒二(B)每进行Z次分组加密后,交换盒中的所有元素都进行一次变换,变换方式可以是线性同余的方式,(Ζ>=1, Z<=B的元素个数,通常为256); 交换盒二(B)中的数据取余后放置到一个临时交换盒中(temp_B); 其中:Yn是temp_B中的第S2个元素的值; 交换密钥的传送使用加密传送或等时产生的方式; 基于上述原理,本发明加密方法步骤如下:设有某一大分组明文数据N1,N2,N3,……Nx,每个分组数据的长度为一个字节,加密方法如下: 一)、对明文N进行第一次加密 1)、首先对第一个分组明文&进行加密: 对数组A进行变换,生成新的随机数组A: A[i]=Af2(A[i]),方法可以是线性同余法,其中i是从I到Z,以下不再累述; 生成数组temp_A,取A [η]除以A数组大小的余数,然后放置到temp_A中:temp_A[i] =Af3 (A[i]) 对随机种子一 si进行变换,生成新的随机种子si:sl=Af2(sl),方法可以是线性同余法; 取是临时种子temp_sl,取si除以A数组大小的余数,方法是temp_sl=Af3 (si);取得加密密码X1,即temp_A数组中的第temp_sl个下标的元素的值,方法是-Xi=temp_A[temp_sl]; 将明文N1与X1进行异或操作,得出中间密文M1 2)、接着对第二个分组明文队进行加密对随机种子一 Si进行变换,生成新的随机种子si:sl=Af2(sl),方法可以是线性同余法; 取是临时种子temp_sl,取si除以A数组大小的余数,方法是temp_sl=Af3 (si);取得加密密码X2,即temp_A数组中的第temp_sl个下标的元素的值,方法是:X2=t emp_A[t emp_sI]; 将明文队与)^进行异或操作,得出中间密文M2; 3)、接着对第三个分组明文乂进行加密 对随机种子一 Si进行变换,生成新的随机种子si:sl=Af2(sl),方法可以是线性同余法; 取是临时种子temp_sl,取si除以A数组大小的余数,方法是temp_sl=Af3 (si);取得加密密码X3,即temp_A数组中的第temp_sl个下标的元素的值,方法是:X3=t emp_A[t emp_sI]; 将明文乂与夂3进行异或操作,得出中间密文M3 ; 当加密到第Z个分组时(Z>=1,Z〈=A的元素个数,通常为256)先进行一次数组A的变换,再进行加密,即每加密到一个Z分组的大小,就进行一次数组A的变换; 如此类推,直至加密到Nx得出中间密文Mx ; 二)、对中间密文M进行第二次加密 1)、首先对第一个中间密文乂进行加密: 对数组B进行变换,生成新的随机数组B: B[i]=Bf2(B[i]),方法可以是线性同余法,其中i是从I到Z,以下不再累述; 生成数组temp_B,取B [i]除以B数组大小的余数,然后放置到temp_B中:temp_B[i]=Bf3(B[i]); 对随机种子二 s2进行变换,生成新的随机种子s2:s2=Bf2(s2),方法可以是线性同余法; 取是临时种子temp_s2,取s2除以A数组大小的余数,方法是temp_s2=Bf3 (s2);取得加密密码Y1,即temp_B数组中的第temp_s2个下标的元素的值,方法是-Yi=temp_B[temp_s2]; 将明文N1与Y1进行异或操作,得出密文C1; 2)、接着对第二个中间密文]?2进行加密 对随机种子二 s2进行变换,生成新的随机种子s2:s2=Bf2(s2),方法可以是线性同余法; 取是临时种子temp_s2,取s2除以B数组大小的余数,方法是temp_s2=Bf3 (s2);取得加密密码Y2,即temp_B数组中的第temp_s2个下标的元素的值,方法是:Y2=temp_B[temp_s2]; 将明文队与¥2进行异或操作,得出密文C2 3)、接着对第三个中间密文1?3进行加密 对随机种子二 s2进行变换,生成新的随机种子s2:s2=Bf2(s2),方法可以是线性同余法; 取是临时种子temp_s2,取s2除以B数组大小的余数,方法是temp_s2=Bf3 (s2); 取得加密密码Y3,即temp_B数组中的第temp_s2个下标的元素的值,方法是:Y3=temp_B[temp_s2]; 将明文乂与¥3进行异或操作,得出密文C3; 当加密到第Z个分组时(Z>=1,Z<=B的元素个数,通常为256)先进行一次数组B的变换,再进行加密,即每加密到一个Z分组的大小,就进行一次数组B的变换; 4)、如此类推,直至加密到]^得出密文Cx。
【专利摘要】本发明公开了一种大数据的加密方法,首先对第一个分组明文N1进行加密;接着对第二个分组明文N2进行加密;接着对第三个分组明文N3进行加密;对中间密文M进行第二次加密;提供的加密方法,能同时能做到一次一密,增加了加密强度;解决了加密速度的问题。
【IPC分类】H04L9/08, H04L9/32, H04L9/06
【公开号】CN104883257
【申请号】CN201410258583
【发明人】梁庆生
【申请人】梁庆生
【公开日】2015年9月2日
【申请日】2014年6月12日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1