一种数据处理方法及终端与流程

文档序号:12692003阅读:159来源:国知局
一种数据处理方法及终端与流程

本发明涉及数据处理领域,具体涉及一种数据处理方法及终端。



背景技术:

现有技术中,对数据进行加密有两种方法,一种是对称加密,另一种是非对称加密。在对称加密中,数据加密和解密的密钥相同,发送方向接收方发送加密后的数据时也要发送密钥,若密钥在信道中被截取,则会导致数据被破解从而失去安全性,被他人获取。在非对称加密中,虽然数据加密和解密的密钥不同,但是使用不同的加密算法对数据加密后数据的长度不同,黑客容易通过加密数据的长度推算出采用的何种加密算法从而破解加密数据,因此数据加密的安全性有待提高。



技术实现要素:

本发明实施例提供了一种数据处理方法及终端,提高数据加密的安全性。

本发明实施例第一方面提供了一种数据处理方法,包括:

采用第一加密算法对待加密数据进行加密,得到第一加密数据;

确定所述第一加密数据的密文长度;

根据所述密文长度确定目标加密偏移量;

根据所述目标加密偏移量确定第二加密算法;

根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据。

结合本发明实施例的第一方面,在第一方面的第一种可能的实施方式中,所述根据所述密文长度确定目标加密偏移量,包括:

根据预设长度、第二密文长度和偏移量之间的对应关系,确定所述第一密文长度对应的所述目标加密偏移量。

结合本发明实施例第一方面的第一种可能实施方式,在第一方面的第二种可能实施方式中,所述预设长度大于所述第一加密数据的密文长度。

结合本发明实施例第一方面至第一方面的第二种可能实施方式,在第一方面的第三种可能实施方式中,所述根据所述目标加密偏移量确定第二加密算法,包括:

按照预设的偏移量与加密算法之间的对应关系确定与所述目标偏移量对应的所述第二加密算法。

结合本发明实施例第一方至第一方面的第二种可能实施方式,在第一方面的第四种可能实施方式中,所述根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据之后,所述方法还包括:

采用所述目标加密偏移量确定第二解密算法;

采用第二解密算法和目标加密偏移量对所述第二加密数据进行解密,得到第一加密数据;

采用第一解密算法对所述第一加密数据进行解密,得到所述待加密数据。

本发明实施例第二方面提供了一种终端,包括:

第一加密单元,用于采用第一加密算法对待加密数据进行加密,得到第一加密数据;

第一确定单元,用于确定所述第一加密数据的密文长度;

第二确定单元,用于根据所述密文长度确定目标加密偏移量;

第三确定单元,用于根据所述目标加密偏移量确定第二加密算法;

第二加密单元,用于根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据。

结合本发明实施例第二方面,在第二方面的第一种可能实施方式中,所述第二确定单元具体用于:

根据预设长度、第二密文长度和偏移量之间的对应关系,确定所述第一密文长度对应的所述目标加密偏移量。

结合本发明实施例第二方面的第一种可能实施方式,在第二方面的第二种可能实施方式中,所述预设长度大于所述第一加密数据的密文长度。结合本发明实施例第二方面至二方面的第二种可能实施方式,在第二方面的第三种可能实施方式中,所述第三确定单元具体用于:

按照预设的偏移量与加密算法之间的对应关系确定与所述目标偏移量对应的所述第二加密算法。

结合本发明实施例第二方面至第二方面的第二种可能实施方式,在第二方面的第三种可能实施方式中,所述终端还包括:

第四确定单元,用于所述第三确定单元根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据之后,采用所述目标加密偏移量确定第二解密算法;

第二解密单元,用于采用第二解密算法和目标加密偏移量对所述第二加密数据进行解密,得到第一加密数据;

第一解密单元,用于采用第一解密算法对所述第一加密数据进行解密,得到所述待加密数据。

实施本发明实施例,具有如下有益效果:

通过本发明实施例,采用第一加密算法对待加密数据进行加密,得到第一加密数据;确定所述第一加密数据的密文长度;根据所述密文长度确定目标加密偏移量;根据所述目标加密偏移量确定第二加密算法;根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据。从而,对待加密数据进行了两次加密,一次普通加密,一次根据偏移量进行加密,使加密后的密文具有相同的长度,他人难以根据密文长度破解出待加密数据,进而,提高了数据加密的安全性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种数据处理方法的第一实施例流程示意图;

图2是本发明实施例提供的一种数据处理方法的第二实施例流程示意图;

图3a是本发明实施例提供的一种终端的第一实施例结构示意图;

图3b是本发明实施例提供的一种终端的第一实施例又一结构示意图;

图4是本发明实施例提供的一种终端的第二实施例结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

本发明实施例所描述的终端可以包括智能手机(如Android手机、iOS手机、Windows Phone手机等)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(MID,Mobile Internet Devices)或穿戴式设备等,上述终端仅是举例,而非穷举,包含但不限于上述终端。

需要说明的是,对数据进行加密后能提高数据的安全性和保证数据的私密性,一般来讲,加密算法有对称加密算法和非对称加密算法,这些算法都是已知的,其中对称加密算法的加密密钥和解密密钥是同一个密钥算法,非对称加密算法使用的加密密钥和解密密钥是不同的,两个密钥中有一个是公开的,称之为公钥,有一个是非公开的,称之为私钥。相比于对称加密算法,非对称加密算法破解难度更高,因此安全性也更高。本发明实施例中对待加密数据进行了两次加密,其中,第一次加密采用的是安全性更高的非对称加密算法,保证了待加密数据在传输过程中的安全性。

请参阅图1,为本发明实施例提供的一种数据处理方法的第一实施例流程示意图。本实施例中所描述的数据处理方法,包括以下步骤:

101、采用第一加密算法对待加密数据进行加密,得到第一加密数据。

可选地,待加密数据可包括但不仅限于:文件数据(Word、Excel、PPT等等)、图片数据(照片、图像等等)、音频数据(音乐、语音等等)、视频数据(动画、录像等等)等。

可选地,为提高数据加密的安全性,本发明实施例中采用非对称加密算法作为第一加密算法,对待加密数据进行加密。

可选地,常用的非对称加密算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC等等,通过第一加密算法可得到一个密钥对,即公钥和私钥,公钥和私钥是两个不同的密钥。当用公钥进行加密时需要用对应的私钥来解密,当用私钥进行加密时需要用对应的公钥来解密,这个密钥对对于加密方和解密方来说是已知的。

可选地,用户可以自己选定第一加密算法,譬如选择安全性较高的但是可能加密效率低一些非对称加密算法,或者选择效率较高但是安全性低一些的非对称加密算法。当然,也可能是由终端采用的加密工具选定的非对称加密算法。

可选地,在对待加密数据进行加密后得到了第一加密数据,第一加密数据和待加密数据相比,长度发生了变化,其中,第一加密数据的长度由第一加密算法决定,不同的第一加密算法加密后得到的第一级加密数据的长度是不同的,由于加密算法都是已知的,所以可以通过第一加密数据的长度推算出第一加密算法从而破解出待加密数据,本发明实施例可以通过对待加密数据进行两次加密来避免这个问题。

102、确定所述第一加密数据的密文长度;

其中,通过第一加密算法加密后得到的第一加密数据的长度和待加密数据长度不同,发生了改变,终端需要确定第一加密数据的长度以便计算目标加密偏移量。

103、根据所述密文长度确定目标加密偏移量;

其中,通过确定目标加密偏移量,进而,可以确定终端选择相应的第二加密算法。根据预设长度、第二密文长度和偏移量之间的对应关系,确定所述第一密文长度对应的所述目标加密偏移量。

可选地,用预设长度来规范第二次加密采用何种加密算法以及加密后得到的第二加密数据的长度,这是一种已知规则,也可以称之为通用扩展量,对于加密方和解密方来说都是已知的,并且预设长度必须远大于各种第一加密算法加密后的第一加密数据的密文长度。

可选地,现有技术中,偏移量的广泛定义为存储单元的实际地址和其所在段的段地址之间的距离,本发明实施例中,偏移量指的是预设长度和第二密文长度通过多元方程计算得到的一个结果。例如,用G表示预设长度,用L表示第一密文长度,偏移量则可以用F(G,L)表示,F表示多元方程算法,这是一种已知技术,在这里不做过多描述。举例说明,当G=30时,通过三种不同第一加密算法E1、E2、E3加密后得到的第一加密数据X1、X2、X3的长度分别为L1=15,L2=20,L3=25,通过预设长度、第二密文长度和偏移量之间的对应关系得到偏移量O1,O2,O3,其中,O1,O2,O3可以是字符串。

104、根据所述目标加密偏移量确定第二加密算法;

其中,第二加密算法可以统称为偏移量算法,可以是已经公开的加密算法,也可以是还没有公开的加密算法,由目标加密偏移量决定第二加密算法。例如,对于未公开第二加密算法S,可以是由已公开加密算法A和已公开加密算法B进行组合加密,将待加密数据分为N份,其中N份中的K份使用加密算法A进行加密,剩余的(N-K)份使用加密算法B进行加密,使得最后得到的第二加密数据长度等于预设长度G。

可选地,终端预设有偏移量和加密算法的对应关系,终端按照预设的偏移量与加密算法之间的对应关系确定与目标加密偏移量对应的第二加密算法。例如,终端有三种已知的第一加密算法,分别是E1、E2、E3,使用这三种第一加密算法得到的第一加密数据X1、X2、X3长度分别为L1、L2、L3,假设预设长度G为30,L1为15,L 2为20,L 3为25,那么经过计算得到的偏移量分别是O1,O2,O3,针对不同的偏移量,我们可以使用不同的第二加密算法进行加密,比如,O1对应加密算法S1,O2对应加密算法S2,O3对应加密算法S3。

105根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据。

其中,终端利用第二加密算法结合目标加密偏移量对第一加密数据进行加加密后,得到了第二加密数据,其中,所述第二加密数据长度相同,等于预设长度G。其中,对于已经公开的加密算法来说,知道所有已公开加密算法加密后密文的长度,预设长度G的数值大于所有已公开加密算法加密后的密文长度数值。

可选地,第二加密算法可以是已公开加密算法,也可以是非公开加密算法,在用第二加密算法对数据进行加密后,第二加密数据的长度等于预设长度。例如,第一加密数据X1、X2、X3分别使用了第二加密算法S1、S2、S3,加密后得到了第二加密数据Y1、Y2、Y3,即使X1、X2、X3的长度不同,算法S1、S2、S3也不相同,但是最后得到的第二加密数据Y1、Y2、Y3的长度相同,等于预设长度G,即采用不同的第二加密算法得到了相同长度的第二加密数据。例如,当预设长度G=30时,第一次加密后得到的X1、X2、X3长度分别为15、20、25,但是经过第二次加密后,得到的Y1、Y2、Y3长度分别为30、30、30。由于预设长度大于所有已公开加密算法加密后的密文长度数值,所以他人难以根据第二加密数据的长度推算出采用的何种算法进行加密。

可选地,若需要将待加密数据分为多次发送,则需要进行多次加密,每次加密的过程和采用的算法是相同的。例如,需要对数据进行多次发送时,将待加密数据I分为了I1、I2、I3、I4四个部分,进行四次发送,进行加密后得到了密文Y1、Y 2、Y 3、Y 4,并且Y 1、Y 2、Y3、Y 4的长度相同等于预设长度,所以除加密方和解密方外,其他人难以推算出采用的何种加密算法,不能破解出待加密数据。

因此,使用本发明实施例中的数据处理方法,不同的待加密数据加密后得到的第二加密数据都是相同的长度,即使采用不同的加密算法,最终得到的第二加密数据的长度仍然是相同的,这个长度趋于加密方和解密方已知的预设长度,大于使用任何加密算法加密后得到的密文的长度,因此他人无法单纯的从第二加密数据的长度推算出解密算法,从而破解出待加密数据。

可以看出,通过本发明实施例,采用第一加密算法对待加密数据进行加密,得到第一加密数据;确定所述第一加密数据的密文长度;根据所述密文长度确定目标加密偏移量;根据所述目标加密偏移量确定第二加密算法;根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据。从而,对待加密数据进行了两次加密,一次普通加密,一次根据偏移量进行加密,使加密后的密文具有相同的长度,他人难以根据密文长度破解出待加密数据,进而,提高了数据加密的安全性。

与上述一致地,请参阅图2,为本发明实施例提供的一种数据处理方法的第二实施例流程示意图。本实施例中所描述的数据处理方法,包括以下步骤:

201、采用第一加密算法对待加密数据进行加密,得到第一加密数据;

202、确定所述第一加密数据的密文长度;

203、根据所述密文长度确定目标加密偏移量;

204、根据所述目标加密偏移量确定第二加密算法;

205、根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据。

其中,上述步骤201-步骤205可参考图1所描述的数据处理方法的步骤101-步骤105。

206、采用所述目标加密偏移量确定第二解密算法;

其中,终端利用目标加密偏移量和预设长度还原第二加密数据长度,使得第二加密数据的长度变为第一加密数据的密文长度,终端再通过对此时第二加密数据的长度检查,并且结合目标加密偏移量,确定出对应的第二解密算法。

207、采用第二解密算法和目标加密偏移量对所述第二加密数据进行解密,得到第一加密数据;

其中,此时第二加密数据的长度等于第一加密数据的长度,再通过第二解密算法和目标加密偏移量对第二加密数据进行解密,即可得到第一加密数据。

208、采用第一解密算法对所述第一加密数据进行解密,得到所述待加密数据。

其中,由于第一级加密算法和第一解密算法是加密方和解密方已知的,若采用公钥加密需要用私钥解密,若采用私钥加密需要用公钥解密,解密方采用第一解密算法并结合相应的密钥便能实现对第一加密数据的解密,从而获取到待加密数据。

可以看出,通过本发明实施例,采用第一加密算法对待加密数据进行加密,得到第一加密数据;确定所述第一加密数据的密文长度;根据所述密文长度确定目标加密偏移量;根据所述目标加密偏移量确定第二加密算法;根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据;采用所述目标加密偏移量确定第二解密算法;采用第二解密算法和目标加密偏移量对所述第二加密数据进行解密,得到第一加密数据;采用第一解密算法对所述第一加密数据进行解密,得到所述待加密数据。从而,对待加密数据进行了两次加密,一次普通加密,一次根据偏移量进行加密,使加密后的密文具有相同的长度,他人难以根据密文长度破解出待加密数据,在接收到加密后的数据后,采取相应的解密算法对加密数据进行解密,还原为待加密数据,进而,提高了数据加密的安全性。

与上述一致地,以下为实施上述本发明实施例提供的数据处理方法的装置,具体如下:

请参阅图3a,为本发明实施例提供的一种终端的实施例结构示意图。本实施例中所描述的终端,包括:第一加密单元301、第一确定单元302、第二确定单元303、第三确定单元304、和第二加密单元305,具体如下:

第一确定单元301,用于确定所述第一加密数据的密文长度;

第二确定单元302,用于根据所述密文长度确定目标加密偏移量;

第三确定单元303,用于根据所述目标加密偏移量确定第二加密算法;

第二加密单元304,用于根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据。

可选地,所述第二确定单元具体用于:

根据预设的密文长度和偏移量的对应关系,确定所述第一加密数据的密文长度对应的所述目标加密偏移量。

可选地,所述预设长度大于使用任一加密算法对数据进行加密后得到的密文的长度。

可选地,所述第三确定单元具体用于:

按照预设的偏移量与加密算法之间的对应关系确定与所述目标偏移量对应的所述第二加密算法。

可选地,如图3b,图3b为图3a的一种变型结构,图3b与图3a相比较,图3a所描述的终端还可包括:

第四确定单元306、第二解密单元307和第一解密单元308,具体如下:

第四确定单元306,用于所述第三确定单元根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据之后,采用所述目标加密偏移量确定第二解密算法;

第二解密单元307,用于采用第二解密算法和目标加密偏移量对所述第二加密数据进行解密,得到第一加密数据;

第一解密单元308,用于采用第一解密算法对所述第一加密数据进行解密,得到所述待加密数据。

可以看出,通过本发明实施例,采用第一加密算法对待加密数据进行加密,得到第一加密数据;确定所述第一加密数据的密文长度;根据所述密文长度确定目标加密偏移量;根据所述目标加密偏移量确定第二加密算法;根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据。从而,对待加密数据进行了两次加密,一次普通加密,一次根据偏移量进行加密,使加密后的密文具有相同的长度,他人难以根据密文长度破解出待加密数据,进而,提高了数据加密的安全性。

请参阅图4,为本发明实施例提供的一种终端的第二实施例结构示意图。本实施例中所描述的终端,包括:至少一个输入设备1000;至少一个输出设备2000;至少一个处理器3000,例如CPU;和存储器4000,上述输入设备1000、输出设备2000、处理器3000和存储器4000通过总线5000连接。

其中,上述输入设备1000具体可为触控面板、物理按键或者鼠标。

上述输出设备2000具体可为显示屏。

上述存储器4000可以是高速RAM存储器,也可为非易失存储器(non-volatile memory),例如磁盘存储器。上述存储器4000用于存储一组程序代码,上述输入设备1000、输出设备2000和处理器3000用于调用存储器4000中存储的程序代码,执行如下操作:

上述处理器3000,用于:

采用第一加密算法对待加密数据进行加密,得到第一加密数据;

确定所述第一加密数据的密文长度;

根据所述密文长度确定目标加密偏移量;

根据所述目标加密偏移量确定第二加密算法;

根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据。

可选地,上述处理器3000根据所述密文长度确定目标加密偏移量,包括:

根据预设的密文长度和偏移量的对应关系,确定所述第一加密数据的密文长度对应的所述目标加密偏移量。

可选地,上述处理器3000所述预设长度大于使用任一加密算法对数据进行加密后得到的密文的长度。

可选地,上述处理器3000所述根据所述目标加密偏移量确定第二加密算法,包括:

按照预设的偏移量与加密算法之间的对应关系确定与所述目标偏移量对应的所述第二加密算法。

可选地,上述处理器3000所述根据所述第二加密算法和所述目标加密偏移量对所述第一加密数据进行加密,得到第二加密数据之后,所述方法还包括:

采用所述目标加密偏移量确定第二解密算法;

采用第二解密算法和目标加密偏移量对所述第二加密数据进行解密,得到第一加密数据;

采用第一解密算法对所述第一加密数据进行解密,得到所述待加密数据。

本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种数据处理方法的部分或全部步骤。

尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。

本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。

本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1