一种数据加密方法及系统的制作方法_2

文档序号:8447307阅读:来源:国知局
分方式,可以是将所述待传输数据平均划分成第一数目个待传输数据块,使每个所述待传输数据块的数据长度相等;也可以将所述待传输数据非平均地划分成第一数目个待传输数据块,使每个所述待传输数据块的数据长度为任意长度。
[0071]步骤105:将所述密钥数据划分成第二数目个密钥数据块;
[0072]对于所述密钥数据的划分方式,与所述待传输数据的划分方式相关。
[0073]当所述待传输数据被平均划分成第一数目个待传输数据块时,则可以将所述密钥数据按照同样的数据长度划分成第二数目个密钥数据块。
[0074]当所述待传输数据被非平均地划分成第一数目个待传输数据块时,则需要对于每一个所述待传输数据块,分别确定所述待传输数据块的数据块长度,从所述密钥数据中截取所述数据块长度的密钥数据块,使得每个待传输数据块都有与该待传输数据块相对应的数据长度相同的密钥数据块。
[0075]步骤106:确定每个所述待传输数据块对应的密钥数据块;其中,所述第一数目与所述第二数目相等,所述待传输数据块与所述密钥数据块的数据长度相同;
[0076]当所述待传输数据被平均划分成第一数目个待传输数据块时,由于每个所述待传输数据块以及每个密钥数据块的数据长度均相同,所以任意一个所述密钥数据块都可以对待传输数据块进行加密。因此,可以采用算法确定所述密钥数据块与待加密的待传输数据块之间的对应关系,即,确定出某个待传输数据块需要采用哪个密钥数据块进行加密。可以选用一些算法,这些算法可以使得所述密钥数据块与待加密的待传输数据块之间的对应关系具有不唯一性。例如,对于待传输数据块A、待传输数据块B、待传输数据块C,以及密钥数据块1、密钥数据块2、密钥数据块3来说,第一次采用该算法确定的加密对应关系,可以是:1-A,2_B,3_C。第二次米用该算法确定的加密对应关系,可以是:2_A,3_B,1_C。这样可以进一步提高加密方法的安全性。
[0077]步骤107:采用所述密钥数据块对所述待传输数据块进行加密,得到加密数据块;
[0078]其中,所述密钥数据块是上一步骤中确定得到的与所述待传输数据块相对应的密钥数据块。
[0079]所述加密方式,具体可以包括:采用所述密钥数据块对所述待传输数据块进行与运算,或者,采用所述密钥数据块对所述待传输数据块进行或运算,或者,采用所述密钥数据块对所述待传输数据块进行异或运算等等。
[0080]步骤108:将所述加密数据块发送至目的终端。
[0081]所述目的终端可以是各种类型的终端。例如,手机、台式机、笔记本电脑等等。
[0082]本实施例中,通过将所述待传输数据划分成第一数目个待传输数据块;将所述密钥数据划分成第二数目个密钥数据块;确定每个所述待传输数据块对应的密钥数据块;采用所述密钥数据块对所述待传输数据块进行加密;可以对待传输数据中的每个数据块,分别采用不同的密钥进行加密,从而实现一次一密的加密方式,提高数据传输的安全性。
[0083]需要说明的是,一次一密(one time padding)是目前业界普遍认可的最为安全的加密方法。只要无法获得密钥,窃听者或黑客就无法基于密文计算出原文。尤其是正确地计算出各段原文并正确地拼接出全部数据。因此,本实施例中的加密方法或系统可以大幅度提高数据传输的安全性。
[0084]实际应用中,为了使目的的终端可以对加密数据块进行解密,需要将加密设备的加密方式告知目的终端。
[0085]图2为本发明的数据加密方法实施例2的流程图。如图2所示,该方法可以包括:
[0086]步骤201:获取待传输数据;
[0087]步骤202:确定所述待传输数据的数据长度为第一长度;
[0088]步骤203:从数据平台所具有的数据中查找数据长度为第二长度的密钥数据;所述第二长度大于或等于所述第一长度;
[0089]步骤204:将所述待传输数据划分成第一数目个待传输数据块;
[0090]步骤205:将所述密钥数据划分成第二数目个密钥数据块;
[0091]步骤206:确定每个所述待传输数据块对应的密钥数据块;其中,所述第一数目与所述第二数目相等,所述待传输数据块与所述密钥数据块的数据长度相同;
[0092]步骤207:采用所述密钥数据块对所述待传输数据块进行加密,得到加密数据块;
[0093]步骤208:将所述加密数据块发送至目的终端;
[0094]步骤209:向所述目的终端发送所述密钥数据块;
[0095]步骤210:将所述密钥数据块与所述待传输数据块的对应关系发送至所述目的终端。
[0096]其中,步骤209与210为新增步骤。实际应用中,可以采用标识信息对各个所述密钥数据块进行标识,并且采用标识信息对各个所述待传输数据进行标识。所述密钥数据块与所述待传输数据块的对应关系,可以存储在映射关系表中。所述映射关系表中,可以记录待传输数据的标识信息与密钥数据块的标识信息的对应关系。
[0097]需要说明的是,本实施例中,步骤209与210可以位于步骤206之后的任意位置执行。本实施例中,步骤209与210位于最后两个步骤,只是一种具体实现方式,并不表示步骤209与210必须位于最后。
[0098]综上所述,本实施例中,给出了一种将加密设备的加密方式告知目的终端的具体实现方式,即,将划分后的密钥数据块,以及所述密钥数据块与所述待传输数据块的对应关系发送给目的终端。
[0099]实际应用中,还可以采用其他方式将加密设备的加密方式告知目的终端。
[0100]图3为本发明的数据加密方法实施例3的流程图。如图3所示,该方法可以包括:
[0101]步骤301:获取待传输数据;
[0102]步骤302:确定所述待传输数据的数据长度为第一长度;
[0103]步骤303:从数据平台所具有的数据中查找数据长度为第二长度的密钥数据;所述第二长度大于或等于所述第一长度;
[0104]步骤304:将所述待传输数据划分成第一数目个待传输数据块;
[0105]步骤305:将所述密钥数据划分成第二数目个密钥数据块;
[0106]步骤306:确定每个所述待传输数据块对应的密钥数据块;其中,所述第一数目与所述第二数目相等,所述待传输数据块与所述密钥数据块的数据长度相同;
[0107]步骤307:采用所述密钥数据块对所述待传输数据块进行加密,得到加密数据块;
[0108]步骤308:将所述加密数据块发送至目的终端;
[0109]步骤309:向所述目的终端发送所述密钥数据;
[0110]步骤310:将所述密钥数据的划分方式发送至所述目的终端,以便所述目的终端将所述密钥数据划分成所述密钥数据块。
[0111]具体的,可以将密钥数据块的数据长度发送至所述目的终端。所述目的终端接收到所述密钥数据块的数据长度后,将所述密钥数据按照该数据长度将所述密钥数据划分成密钥数据块。
[0112]步骤311:将所述密钥数据块与所述待传输数据块的对应关系发送至所述目的终端。
[0113]本实施例与图2所示实施例的区别在于,本实施例中,直接将密钥数据发送至目的终端,并且把将密钥数据划分为密钥数据块的划分方式也发送至所述目的终端,由目的终端将所述密钥数据划分成所述密钥数据块。这样可以减轻加密设备需要完成的工作量。
[0114]还需要说明的是,本发明各个实施例中,当所述密钥数据的第二长度大于所述第一长度时,为了使每个密钥数据块与对应的待传输数据块的数据长度相等,需要对密钥数据进行截取,以便密钥数据与待传输数据的数据长度相等。
[0115]具体的,当所述密钥数据的第二长度大于所述第一长度时,所述将所述密钥数据划分成第二数目个密钥数据块,具体可以包括以下步骤:
[0116]从所述密钥数据中截取所述第一长度的密钥数据片段;
[0117]获取所述待传输数据块的数据长度;
[0118]按照所述数据长度,将所述密钥数据片段划分成第二数目个密钥数据块。
[0119]还需要说明的是,如果采用上述步骤,则在采用图3中所示的实现方式时,还需要将密钥数据片段的截取方式告知目的终端。例如,可以将所述密钥数据片段相对于所述密钥数据的起始位标识和结束位标识发送至目的终端,令目的终端保留起始位标识和结束位标识之间的数据;或者将截去的部分密钥数据相对于所述密钥数据的起始位标识和结束位标识发送至目的终端,令目的终端舍弃起始位标识和结束位标识之间的数据。
[0120]实际应用中,为了进一步提高本实施例的数据加密方法的安全性,所述确定每个所述待传输数据块对应的密钥数据块,具体可以采用以下方式:
[0121]采用预设算法确定每个所述待传输数据块对应的密钥数据块,并且定期变更所述预设算法。
[0122]由于预设算法也会发生变更,所以恶意用户只有同时截取到密钥数据,并且窃取到预设算法,才能
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1