一种随机化的文档分块加密方法

文档序号:7852580阅读:457来源:国知局
专利名称:一种随机化的文档分块加密方法
技术领域
本发明属于信息安全技术领域,具体涉及一种随机化的文档分块加密方法。
背景技术
随着社会信息化建设的日益完善,企业也逐步实现办公运营的信息化和数字化,为了能够更好将用户信息与企业内部信息结合,企业不仅仅有自己的内部网络,而且内部网络开始逐渐向英特网开放,随之带来的就是安全问题。在互联网上,数据安全最为重要,特别是政府部门的涉密文件,企业内部的涉密文件,以及政府、企业和个人在相关通信过程中的涉密文件。目前有很多技术能够保证数据在互联网络环境下存储和传输的安全性。通过身份认证来对通信的双方进行身份鉴别,以确定客户端是否有权限访问他想要访问的数据;通过数据加密技术对数据进行加密;构建专有的安全通信隧道对数据进行传输;通过数据摘 要技术来确定数据不被篡改;通过数字签名技术来确保一旦数据出了问题,可以追踪到数据的来源;通过数据防泄密技术和过滤技术使得涉密文件不能任意被传递到不安全的网络
坐寸o数据加密技术是指将一个信息(或称明文)经过加密钥匙及加密函数转换,变成无意义的密文,而接收方则将此密文经过解密函数、解密钥匙还原成明文。加密技术是网络安全技术的基石。数据加解密函数通常称为加解密算法,加解密算法主要有对称加密算法和非对称加密算法。加密算法是将原文加密成不能理解的密文,加密算法在加密过程中需要加密密钥的支持。加密算法存在对称加密和非对称加密两种,对称加密算法的加密解密密钥是同一个,非对称加密算法的加密密钥和解密密钥则不一样。对称加密算法主要有DES,分组加密算法,非对称加密算法主要有RAS算法。加密密钥是在加解密过程中,加密算法只有在密钥的作用下才能够真正的对文档进行加解密操作。在对称加密过程中,加密算法相当于一把锁,而密钥相当于一把钥匙,而在非对称加密过程中,密钥有两个,一个用于加密,一个用于解密。对于小文档来说,文档分块的可能性比较小,加密算法和加密密钥的选取只能随机的选取一种,安全性比非随机的加密相关不大。对于大数据的文档,直接加密在内存分配和加密效率上都存在不足。文档分块加密技术在数据加密技术的基础之上,对数据进行分块后再进行加密;通过数据分块,还可以并行对数据进行加密。随机化方法在分块之后,对序列进行随机化、随机选择加密算法和加密密钥,然后再对数据进行加密,能够明显增强数据的安全性。

发明内容
为了克服上述现有技术的不足,本发明提供一种随机化的文档分块加密方法。通过对文档进行分块,再对分块的文档进行随机排列,随机化选取加密算法和加密密钥,并随机对分块文档、加密算法和加密密钥进行配对,然后再在配对的情况下,对文档块进行加密。解密时,只有知道相关匹配信息,才能够容易的解密。通过上面的过程来增加入侵者对文档解密和恢复的难度,从而提高文档在存储和传输过程中的安全性。为了实现上述发明目的,本发明采取如下技术方案一种随机化的文档分块加密方法,所述加密方法包括以下步骤步骤I :确定传输加密算法集合和加密密钥集合,并引入空加密算法NULL,NULL表示不进行加密;步骤2 :对文档进行分块得到分块文档,并将所述分块文档随机化,生成随机分块文档序列;步骤3 :随机从所述加密算法集合中选取加密算法,从加密密钥集合中随机选取相应的加密密钥,并对所述加密算法和加密密钥进行随机配对;步骤4 :将所述分块文档与配对的所述加密算法和加密密钥随进配对,形成〈分块 文档,加密算法,加密密钥 > 的配对序列;步骤5 :对所述分块文档进行加密。所述步骤I中,选择加密算法集合EG1, e2,…,eN, null),其中E表示加密算法集合,e1; e2, ---,Gn表示具体的加密算法,null表示空加密算法,若选择null,则不需要加密。依据用户提供的文档,对文档以从头到尾的顺序进行分块得到分块文档。所述步骤2包括以下步骤步骤2-1 :对文档进行分块得到分块文档;用D表示文档,用SPLITsize表示文档分块,则有SPLITsize =D-Xd1, d2,…,dN)其中=Cli (I彡i彡N)为文档D划分后的分块文档,按照Cl1, d2,…,dN的顺序能够恢复文档D;下标SIZE表示文档D的大小,分块时依据SIZE自动选择分块的个数,且有Size ((I1) =Size (d2)=…=Size ((V1) ^ Size (dN)Size表示分块文档的大小,在对文档进行划分的过程中,Split函数智能依据文档D的大小对文档D进行划分,以使得20M ( Size ((Ii) ( 200M,其中KiSN;步骤2-2 :将所述分块文档随机化,生成随机分块文档序列;用Random1表示随机分块文档序列,则有Random1 ((I1, d2,…,dN) - > (dkl, dk2,…,dkN)Cl1, d2,…,dN为有序且完整的分块文档,k1 k2,…,kN为1,2,. . .,N的随机序列,随机化后,Cl1,d2,…,dN变为随机的dkl,dk2,…,dkN序列。所述步骤3中,所述加密算法个数与分块文档块数相等,分析NULL的百分比,所述百分比超过50%则需要重新选取加密算法。所述步骤3中,用Random2表示随机选取加密算法,Nd为分块文档的个数,ed” ed2, . . .,edNd表示返回的结果,则有Random2 =EXNd-Xed1, ed2,…,edNd)。同一加密算法,生成多个加密密钥如下Random3 (G1, G2, , Gl) ->6;从GpG2,...,G^多个加密密钥生成算法中随机选择密钥生成算法Gi (i G {I,2,…,L}),即从G1, G2,…,中随机选取一个密钥生成算法,然后通过Gi生成密钥,GiOkey15
所述步骤4中,分块文档与配对的所述加密算法和加密密钥随进配对,则有Random (dkl, dk2,…,dkN) X (Xedjl, keyp,〈edj2, keyj2>,…〈edjN, keyjN>)-> (Xdk1,<edn, keyn , <dk2, <ed12, key12 , <dkN<ed1N, key1N ;其中=I1, I2,…,In是j\,j2,…,jN的随机序列,形成的配对系列为〈分块文档,
加密算法,加密密钥>。与现有技术相比,本发明的有益效果在于I.解决了用户在网络上传递文档时,对文档进行加密保护,在随机方法下,加大了对文档加密的安全性;2.对大文档的加密效率更高,因为不仅可以在分块后进行并行处理,而且可以随机选取部分分块不进行加密,在随机选取下,部分块不加密完全不影响安全性; 3.本发明引入随机化对文档进行分块加密,使得加密方法更加复杂,相应的解密程序也更加复杂,从而使得分块加密后的文档的安全性更高;4.在额外信息不足条件下,攻击者很难知道文档分块后的原有序列,且对攻击者来说,攻击加密算法和密钥的难度明显大于非随机化情况下的文档分块加密方法。


图I是本发明实施例的示意图;图2是随机化的文档分块加密方法流程图;图3是本发明实施例的流程图。
具体实施例方式下面结合附图对本发明作进一步详细说明。如图I-图3,一种随机化的文档分块加密方法,所述加密方法包括以下步骤步骤I :确定传输加密算法集合和加密密钥集合,并引入空加密算法NULL,NULL表示不进行加密;
步骤2 :对文档进行分块得到分块文档,并将所述分块文档随机化,生成随机分块文档序列;步骤3 :随机从所述加密算法集合中选取加密算法,从加密密钥集合中随机选取相应的加密密钥,并对所述加密算法和加密密钥进行随机配对;步骤4 :将所述分块文档与配对的所述加密算法和加密密钥随进配对,形成〈分块文档,加密算法,加密密钥 > 的配对序列;步骤5 :对所述分块文档进行加密。所述步骤I中,选择加密算法集合E (e1; e2,…,eN, null),其中E表示加密算法集合,e1; e2, ---,Gn表示具体的加密算法,null表示空加密算法,若选择null,则不需要加密。依据用户提供的文档,对文档以从头到尾的顺序进行分块得到分块文档。所述步骤2包括以下步骤步骤2-1 :对文档进行分块得到分块文档;用D表示文档,用SPLITsize表示文档分块,则有SPLITsize =D-Xd1, d2,…,dN)
其中=Cli (1≤i≤N)为文档D划分后的分块文档,按照Cl1, d2,…,dN的顺序能够恢复文档D;下标SIZE表示文档D的大小,分块时依据SIZE自动选择分块的个数,且有Size ((I1) =Size (d2)=…=Size (dN-1) ≥ Size (dN)Size表示分块文档的大小,在对文档进行划分的过程中,Split函数智能依据文档D的大小对文档D进行划分,以使得20M ≤ Size ((Ii) ≤ 200M,其中1≤i≤N;步骤2-2 :将所述分块文档随机化,生成随机分块文档序列;用Random1表示随机分块文档序列,则有Random1 ((I1, d2,…,dN) - > (dkl, dk2,…,dH)Cl1, d2,…,dN为有序且完整的分块文档,k1 k2,…,kN为1,2,. . .,N的随机序列,随机化后,Cl1,d2,…,dN变为随机的dkl,dk2,…,dkN序列。所述步骤3中,所述加密算法个数与分块文档块数相等,分析NULL的百分比,所述百分比超过50%则需要重新选取加密算法。所述步骤3中,用Random2表示随机选取加密算法,Nd为分块文档的个数,ed” ed2, . . .,edNd表示返回的结果,则有Random2 =EXNd-Xed1, ed2,…,edNd)。同一加密算法,生成多个加密密钥如下Random3 (G1, G2, , Gl) ->6;从GpG2,...,G^多个加密密钥生成算法中随机选择密钥生成算法Gi (i G {I,2,…,L}),即从G1, G2,…,中随机选取一个密钥生成算法,然后通过Gi生成密钥,GiOkey15所述步骤4中,分块文档与配对的所述加密算法和加密密钥随进配对,则有Random (dkl, dk2,…,dkN) X (Xedjl, key」),〈edj2, keyj2>, <edJN, keyJN -> dkl,<edn, keyn , <dk2, <ed12, key12 , <dkN<ed1N, key1N ;其中=I1, I2,…,In是j\,j2,…,jN的随机序列,形成的配对系列为〈分块文档,加密算法,加密密钥>。实施例I用户A和用户B要通过网络进行交互涉密文档D (假定为1G,可能更大),为了能够使得数据在网络上传递的更加安全,对文档进行加密是必须的,且在数据传递之前,身份认证,通过的建立过程是必须的。用户A和用户B在事先约定,他们各自都有几种不同的加解密算法实现E (假定集合E中有DES,RAS, RC4,ECC, null),还有各自的加密密钥集合K(或是密钥生成方法,假定K中有密钥b k2,. . .,kn),为了使文档更加安全的在网络上进行传递,他们决定使用随机化的方法对文档进行加密。实施方案如下I.对文本D分块(I)文档分块SplitigOO-XcI1, d2,…,d10)将IG的文档分成10块(每块100M)。(2)随机化分块文档 Rsindoni(di,c^, ,di。)_(d^ c^, dg dgdi。,dg dd^ d^) 在实际生成随机序列过程中,可以事前选择一个随机序列对文档分块(Clpd2,…,d10)进行随机化,如假定选取序列(100,90, ...,10),即100对应屯,90对应d2,...,10对应d1Q,随机分块时,将(100,90,…,10)随机化新序列,通过恢复(100,90,…,10)的序列来恢复(屯,d2,…,d10)的序列,如下面是具体的随机序列;Random (100,90,…,10) = (80,90,100,20,50,40,10,30,70,60)得到Random((I1, d2,…,d10) X (100,90,,10) = (<d3,80>,<d2,90>,〈屯,100〉,<d9,20>,<d6, 50〉,<d7,40〉,<d10,10〉,<d8, 30〉,<d4, 70〉,<d5,60 在恢复过程中,只要知道(100,90,…,10)的原有序列,就能够恢复(屯,d2,…,d10)。2.从加密算法集合E中随机选择加密算法由于在文档D分块中已经将文档分成10 ±夹,所以此处Nd为10,集合E为 E={DES, RAS, RC4, ECC, null}则一次随机化结果可得 Random E X Nd= (DES,ECC,nu11,RC4,RAS,DES,RC4,nu11,ECC,DES)3.从加密密钥集K中随机选取加密密钥在文档分块,和加密算法选择完成之后,下面就可以依据加密算法来随机选取加密密钥,这里需要注意的是,加密密钥集合K (假定这里面的n=100)K = {k1 k2,…,kj中的密钥是经过预处理后与加密算法相适应的密钥,而不是任意的密钥。随机化结果为RandomQc1,k2,...,k100) X (DES, ECC, null, RC4, RAS, DES, RC4, null, ECC, DES)= DES, k5>, <ECC, k25>,〈null,null〉,<RC4, k10>, <RAS, k89>, <DES, kn>, <RC4, k31>,〈null, null〉,〈ECC, k60>,〈DES, k45 最终得到随机的分块文档,加密算法和加密密钥的配对(<d3, DES, k5>, <d2, ECC, k25>,〈d” null, null〉, <d9, null, null〉, <d6, RAS, k89>,<d7, DES, kn>, <d10, RC4, k31>, <d8, null, null〉,<d4, ECC, k60>, <d5, DES, k45 前面几步将文档分块,且在文档分块后为每分块文档选取了加密算法和加密密钥,有了这些信息,之后就可以并行化的对分块文档进行加密了。最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种随机化的文档分块加密方法,其特征在于所述加密方法包括以下步骤 步骤I :确定传输加密算法集合和加密密钥集合,并引入空加密算法NULL,NULL表示不进行加密; 步骤2 :对文档进行分块得到分块文档,并将所述分块文档随机化,生成随机分块文档序列; 步骤3 :随机从所述加密算法集合中选取加密算法,从加密密钥集合中随机选取相应的加密密钥,并对所述加密算法和加密密钥进行随机配对; 步骤4 :将所述分块文档与配对的所述加密算法和加密密钥随进配对,形成〈分块文档,加密算法,加密密钥 > 的配对序列; 步骤5 :对所述分块文档进行加密。
2.根据权利要求I所述的随机化的文档分块加密方法,其特征在于所述步骤I中,选择加密算法集合E(e1; e2,…,eN, null),其中E表示加密算法集合,e1; e2,…,eN表示具体的加密算法,null表示空加密算法,若选择null,则不需要加密。
3.根据权利要求I所述的随机化的文档分块加密方法,其特征在于所述步骤2中,依据用户提供的文档,对文档以从头到尾的顺序进行分块得到分块文档。
4.根据权利要求3所述的随机化的文档分块加密方法,其特征在于所述步骤2包括以下步骤 步骤2-1 :对文档进行分块得到分块文档; 用D表示文档,用SPLITsize表示文档分块,则有 SPLITsize =D-Xd1, d2,…,dN) 其中Cli (I彡i彡N)为文档D划分后的分块文档,按照Cl1, d2,…,dN的顺序能够恢复文档D;下标SIZE表示文档D的大小,分块时依据SIZE自动选择分块的个数,且有Size ((I1) =Size (d2)=…=Size (U ^ Size (dN) Size表示分块文档的大小,在对文档进行划分的过程中,Split函数智能依据文档D的大小对文档D进行划分,以使得20M ( Size(Cli) ( 200M,其中KiSN; 步骤2-2 :将所述分块文档随机化,生成随机分块文档序列; 用Random1表示随机分块文档序列,则有 Random1 ((I1, d2,…,dN)>(dkl, dk2,…,dkN) Cl1, d2,…,dN为有序且完整的分块文档,ki,k2,…,1%为1,2,…,N的随机序列,随机化后,Clpd2,…,dN变为随机的dkl,dk2,…,dkN序列。
5.根据权利要求I所述的随机化的文档分块加密方法,其特征在于所述步骤3中,所述加密算法个数与分块文档块数相等,分析NULL的百分比,所述百分比超过50%则需要重新选取加密算法。
6.根据权利要求I所述的随机化的文档分块加密方法,其特征在于所述步骤3中,用Random2表示随机选取加密算法,Nd为分块文档的个数,ec^,ed2, . . .,edNd表示返回的结果,则有Random2 :E X Nd-Xed1, ed2,…,edNd)。
7.根据权利要求I所述的随机化的文档分块加密方法,其特征在于所述步骤4中,分块文档与配对的所述加密算法和加密密钥随进配对,有Random (dkl, dk2, ...,dkN) X (Xedjl, Iceyjl),〈edj2, keyj2>, <edJN, keyJN -> dkl, <edn,keyn , <dk2, <ed12, key12 , <(1,^<6(1 , key1N ; 其中li,I2,…,^是J1, j2,…,jN的随机序列,形成的配对系列为〈分块文档,加密算法,加密密钥>。
全文摘要
本发明提供一种随机化的文档分块加密方法,先对文档进行分块,再对分块文档进行随机排列,通过随机化选取加密算法和加密密钥,并随机对分块文档、加密算法和加密密钥进行配对,然后再在配对的情况下,对文档块进行加密。解密时,只有知道相关匹配信息,才能够容易的解密。通过上面的过程来增加入侵者对文档解密和恢复的难度,从而提高文档在存储和传输过程中的安全性。
文档编号H04L9/06GK102710414SQ201210175519
公开日2012年10月3日 申请日期2012年5月30日 优先权日2012年5月30日
发明者周诚, 张涛, 时坚, 朱其君, 李伟伟, 林为民, 汪晨, 管小娟, 邓松, 马嫒嫒 申请人:中国电力科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1